您好我正在使用asp.net页面中的div。在这里,我想动态地为我的div添加样式。
所以我想这样做
mydiv.Style.Add(“background-color”,“#a08b74”);
它完美地在IE中工作。但是没有在firefox中工作
问题是什么
答案 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;
}
然后可以重复使用,以避免混淆标记。