添加到ASP.NET Core项目中的site.css文件时,CSS无法正常工作。但是当作为内联添加时可以工作

时间:2017-03-25 22:16:20

标签: css animation svg asp.net-core visual-studio-2017

我正在svg animation项目中测试ASP.NET Core示例(取自https://github.com/Tazinho/snakecase实例部分)。

图片显示确定。当我将以下css 内嵌添加到特定view时,动画可以正常工作,但是当我添加相同的{{1}时动画不起作用到site.css文件(默认情况下位于css)。为什么呢?

查看 [我在视图中移动了相关的CSS后动画正常工作]

myProject\wwwroot\cs\site.css

myProject \ wwwroot \ css \ site.css文件的快照:[上述css添加到以下site.css文件的末尾时,动画无效。

<div>
    <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
             width="340px" height="333px" viewBox="0 0 340 333" enable-background="new 0 0 340 333" xml:space="preserve">

        <path class="path" fill="#FFFFFF" stroke="#000000" stroke-width="4" stroke-miterlimit="10" d="M66.039,133.545c0,0-21-57,18-67s49-4,65,8
            s30,41,53,27s66,4,58,32s-5,44,18,57s22,46,0,45s-54-40-68-16s-40,88-83,48s11-61-11-80s-79-7-70-41
            C46.039,146.545,53.039,128.545,66.039,133.545z" />  
    </svg>
</div>
@section css{
    <style>
        .path {
            stroke-dasharray: 1000;
            stroke-dashoffset: 1000;
            animation: dash 5s linear alternate infinite;
        }

        @@keyframes dash {
            from {
                stroke-dashoffset: 1000;
            }

            to {
                stroke-dashoffset: 0;
            }
        }
    </style>
}

7 个答案:

答案 0 :(得分:2)

添加
app.UseStaticFiles();

在startup.cs中->配置方法

答案 1 :(得分:0)

这可能是Nam的任何一个,但检查以下内容 1)文件名应为site.css(CSS文件)而不是site.cs(C#文件)。你确实在使用CSS文件不是吗? 2)如果您的文件名称相应,则应检查浏览器是否未加载CSS文件的缓存版本。

答案 2 :(得分:0)

检查_Layout.cshtml文件中的链接。它将默认设置为CSS的site.min.css版本,而不是site.css。

<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />

将其更改为解压缩的完整css文件site.css

<link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />

答案 3 :(得分:0)

遇到类似的问题,解决方法是强制加载CSS(浏览器中的crtl + F5)。我的浏览器使用了旧版本,IIS Express不会强制从源代码加载它。

答案 4 :(得分:0)

我的Identity _Layout.cshtml(/Pages/Shared/_Layout.cshtml)引用了Identity(〜/ Identity / css / site.css)中的site.css,显然没有被支撑。

我的解决方案是在_Laout.cshtml文件中引用项目(wwwroot / css / site.css)中的site.css。

旧:

<link rel="stylesheet" href="~/Identity/css/site.css" />

新:

<link rel="stylesheet" href="/css/site.css" />

答案 5 :(得分:0)

我遇到了同样的问题,我尝试了〜/ css / main但没有工作,我写了

<link rel="stylesheet" href="../wwwroot/css/main.css"/>

对我有用。

答案 6 :(得分:0)

在 _layout.cshtml 中没有 asp-append-version = "true" 也可能是不呈现 site.css 的原因。如果您忘记了,请尝试添加。

--没有 asp-append-version="true"

<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css"/>

--使用 asp-append-version="true"

 <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
 <link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />