【问题标题】:div backgroud-color not working in firefoxdiv背景颜色在Firefox中不起作用
【发布时间】:2009-08-05 11:36:26
【问题描述】:

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

所以我想这样做

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

它在 IE 中完美运行。但不能在Firefox中工作

有什么问题

【问题讨论】:

  • 能否提供 div 的 HTML 代码?
  • 你是否也在css中设置了背景颜色并将类应用于DV?

标签: c# asp.net css


【解决方案1】:

问题可能根本不在于背景颜色不起作用,而是div标签的大小和你想象的不一样。

IE 有一个渲染错误,导致它扩展元素以包含子元素,即使在不应该这样做的位置也是如此。如果 div 中只有浮动元素,它们不应该影响 div 的大小,并且 div 的高度为零。

显然你看不到高度为零的元素的背景颜色。

要让 div 从浮动元素中获取高度,可以在 div 的最后放置一个非浮动的清除 div:

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

使用这种风格:

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

(溢出样式使 IE 不会应用另一个类似的错误,即使您指定高度为零,也会使清除 div 高一个字符。)

【讨论】:

    【解决方案2】:

    当所有包含的元素都是浮动的时,包含的 DIV 元素的高度确实为零。

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

    创建一个类并应用于div:

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

    这样就可以重复使用,以免弄乱您的标记。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-20
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 2014-04-09
      • 1970-01-01
      相关资源
      最近更新 更多