如何从CSS引用嵌入的图像?

Max*_*ing 33 .net css c# embedded-resource

我有一个嵌入在我的程序集中的CSS文件.我需要使用此CSS文件为某些元素设置背景图像,并且图像也需要是嵌入式资源.这可能吗?有什么方法可以做到这一点吗?

我把现有的样式表放入这个dll然后意识到图像没有出现时遇到了问题.我不知道有什么方法可以使它工作,因为我需要知道嵌入图像的URL.

有人做过这样的事吗?

Aka*_*ava 53

<% = WebResource("image1.jpg") %>
Run Code Online (Sandbox Code Playgroud)

您可以在CSS文件中使用above语句,并在使用WebResourceAttribute注册CSS时,可以将"PerformSubstitution"设置为true

Default.css
body{
    background: <%=WebResource("xyz.jpg")%>
}



[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
[assembly, WebResource("xyz.jpg","image/jpg")]
Run Code Online (Sandbox Code Playgroud)

  • 我发现在使用background-image而不是background时我需要用webl('')包装WebResource服务器标签.例如background-image:url('<%= WebResource("xyz.jpg")%>'); (10认同)
  • 如果我能:)我会投票给你100次 (8认同)

Rei*_*abh 6

只需按照以下步骤将Web资源引用为CSS中的背景图像即可

  1. 请将图片网址指定为"background:url('<%= WebResource("xyz.jpg")%>');" 以下列方式.

    Default.css
    body{
          background: url('<%=WebResource("xyz.jpg")%>');
        }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在AssemblyInfo.cs文件中,以下列方式使用"PerformSubstitution = true"属性注册CSS文件

    [assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在再次在AssemblyInfo.cs文件中将图像文件注册为

    [assembly, WebResource("xyz.jpg","image/jpg")]
    
    Run Code Online (Sandbox Code Playgroud)
  4. 右键单击图像文件(xyz.jpg)和CSS文件(Default.css),然后单击属性,现在选择"构建资源"选项作为"嵌入式资源".

并完成了.快乐的编码!!!