2

我有一个由 CSS 类设置样式的 html img。在某些情况下,我想覆盖该类中使用的宽度和高度值。

我正在使用 Microsoft 为 .Net 系统提供的称为 TagBuilder 类的东西构建这个 img 标记,它允许开发人员将属性分配给 html 元素。

在这种情况下,一个 CSS 类已分配给 img 标签,我可以单独分配宽度和高度属性,但它们并不优先于 CSS 类中设置的值。

我的标签目前看起来像这样:

<img alt="my link" class="static" height="240" id="StaticImage" src="http://imageserver.com/myImage.jpg" width="240">

静态 CSS 类的宽度和高度值各为 300,如您所见,我试图用 240 覆盖它们。它在这种情况下不起作用,但我可以在没有第二个 CSS 类的情况下做到这一点吗?

4

3 回答 3

3

您可以将style属性添加到您的img

<img alt="my link" class="static" height="240" id="StaticImage"
src="http://imageserver.com/myImage.jpg" width="240"
style="height:240px;width:240px;">
于 2012-10-05T21:04:21.430 回答
3

您可以使用内联 css

<img alt="my link" style="width:240px; height:240px;" class="static" id="StaticImage" src="http://imageserver.com/myImage.jpg">

或者

!important在您的 CSS 中,您可以使用修饰符定义样式

.static {
    width:240px !important;
    height:240px !important;
}

这样,无论如何,您的宽度、高度将始终被使用。

于 2012-10-05T21:08:24.477 回答
1

尽量缩小你的元素选择范围。越具体,您必须覆盖声明的机会就越大。例如,添加类和元素的 ID:

#StaticImage.static {
   height: 240px; 
   width: 240px;
}

你甚至可以发疯并添加它的属性:

#StaticImage.static[alt=my link] {
   height: 240px; 
   width: 240px;
}

如果失败,请提高其优先级:

#StaticImage.static {
   height: 240px !important; 
   width: 240px !important;
}

您可以通过包含其父元素使其更加具体。内联 css 可以覆盖其他所有内容吗?当然可以,但是如果您可以添加内联 css,为什么不添加另一个类来进一步缩小您的选择范围呢?这样您就可以控制文件中的所有 CSS。

另外,检查是否有一行 JavaScript 强制元素的大小。JavaScript 可以改变 css 值,不管它是什么。

于 2012-10-05T21:22:44.013 回答