2009-10-19 47 views
0

我通过使链接样式属性为服务器标签来动态加载css文件。为什么在asp.net中动态加载css时不会加载图像?

所有的CSS加载罚款除了图像。它只是显示替代文字。我在page_load事件中这样做。

这里是我的IMG标记的一个片段:

<img class="logourl" alt="Header" /> 

这里是一个为logourl的CSS:

.logourl 
{ 
background-image:url(../images/a-logo.png); 
width:169px; 
height:61px; 
margin-top:5px; 
} 

当我上的图像和视图属性右击,它是空白(大小,地址等)。

回答

1
<img class="logourl" alt="Header" /> 

<img>标签可以有一个背景图片属性????这甚至没有意义。

根据MSDN,img对象没有这个属性,所以我会说它是安全的,假设它不支持在IE中。

你确定你不想要一个跨度,超链接或其他背景图像有意义的属性吗?

编辑

我刚才读@Justin格兰特的回答。我想你可以在图片标签上使用背景图片,但我保留我的答案,因为这似乎是一个愚蠢的做法。如果你想要的是围绕你的图像的框架,我会创建一个具有设置宽度和高度的div或span,并且在它内部的img稍微更小。

+0

我试过

,但没有显示出来。 – Xaisoft 2009-10-19 22:25:28

+0

我动态设置链接的每个css文件对于logourl类都有不同的图像。 – Xaisoft 2009-10-19 22:28:03

0

要在IMG标记上放置背景图像,根据http://www.contentwithstyle.co.uk/content/css-background-image-on-html-image-element,您需要应用CSS填充并确保使用display:block。

另外,如果这是一个目录路径问题,则该图像必须与其引用的CSS文件的位置相关。尝试使用绝对路径来验证这确实是问题,然后尝试使用各种相对路径来查看它是否得到解决。

如果它仍然没有解决,那么我会建议尝试Fiddler(www.fiddlertool.com),它可以让你看到HTTP请求 - 特别是浏览器请求的实际URL。请务必在重新加载Fiddler下的页面之前先清除缓存,以便确保实际发出请求而不是从缓存中提取。无论如何,将有三种可能的情况:

  1. Fiddler根本没有显示您请求URL。这指向您的CSS的一些问题(例如,未正确加载或语法错误)
  2. Fiddler显示请求的图像URL,但它显示404(未找到)或其他错误。这意味着正在请求错误的URL,或者您的网站从该文件夹提供的图像存在问题
  3. Fiddler显示正确的URL,并且它从服务器获得200状态(成功)。如果发生这种情况,我很难过!

右键单击只会显示一个IMG标签的SRC。当使用后台CSS时,您需要查看源代码。

+0

当我查看源代码时,我看到样式表已加载到头部,并且图像为Header Xaisoft 2009-10-19 22:18:45

+1

这是预期的行为。如上所述,右键单击的东西只适用于SRC属性,而不适用于通过CSS设置的背景图像。您需要遵循上面链接的页面中的建议,或者(更好)考虑使用DIV而不是IMG。 – 2009-10-20 00:08:58

+0

我试过一个div和一个跨度,也没有工作。 – Xaisoft 2009-10-20 02:13:57

0

我不会调用动态加载CSS文件。您正在动态设置链接标记中的属性,但CSS文件的加载方式与其他任何CSS文件的加载方式相同。浏览器没有看到任何其他链接标记的差异,所以动态设置的url不是问题的一部分。

图像和css文件位于何处?请记住,url是相对于CSS文件的位置,而不是页面所在的位置。

请注意,即使您要为图像设置背景图像,它仍然会在图像顶部显示替代文本并指示图像未加载。 background-image属性不会设置图像的来源。你应该只使用div元素而不是图像元素。

+0

图像位于root/images文件夹中,css文件位于root/css文件夹中 – Xaisoft 2009-10-19 22:19:36

+0

@ Xaisoft:然后它看起来正确...再次检查文件名...然后尝试在图像标记中添加src =“”它没有损坏,或者尝试使用div标签。 – Guffa 2009-10-19 22:26:01

+0

我添加了src =“”,现在它实际上显示了协议和图像大小等属性,但它仅显示基本根路径(http:// localhost),而不是http:// localhost/images /a-logo.png。 – Xaisoft 2009-10-19 22:29:59