div background-color在Firefox中不起作用

时间:2009-08-05 11:36:27

标签: c# asp.net css

您好我正在使用asp.net页面中的div。在这里,我想动态地为我的div添加样式。

所以我想这样做

mydiv.Style.Add(“background-color”,“#a08b74”);

它完美地在IE中工作。但是没有在firefox中工作

问题是什么

2 个答案:

答案 0 :(得分:2)

问题可能完全不是背景颜色不起作用,而是div标签的大小与您的想法不同。

IE有一个渲染错误,导致它扩展一个元素,即使在不应该这样做的情况下也会包含子元素。如果div中只有浮动元素,它们不应该影响div的大小,div的高度变为零。

显然,您无法看到高度为零的元素的背景颜色。

要使div从浮动元素获得高度,您可以在div中放置一个非浮动清除div:

<div class="Clear"></div>

使用此风格:

.Clear { clear: both; height: 0; overflow: hidden; }

(溢出样式是因为IE不会应用另一个类似的bug,当你指定高度为零时,清除div会使一个字符高。)

答案 1 :(得分:0)

当所有包含的元素浮动时,确实会出现包含DIV元素的高度为零的问题。

您可以将一些CSS hack应用于包含div本身,而不是插入一个清除元素:

创建一个类并应用于div:

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

然后可以重复使用,以避免混淆标记。