代码之家  ›  专栏  ›  技术社区  ›  Rich Bradshaw

IE Bug-背景色和定位

  •  0
  • Rich Bradshaw  · 技术社区  · 15 年前

    我刚开始建立一个网站,只是充实了CSS。

    两个问题:

    1. 我使用rgba获取透明的背景,并使用透明的png在旧的浏览器中模拟它。我正在使用这样的级联:

      rule {
          background: url(/media/img/white_0.9_pixel.png);
          background: rgba(255, 255, 255, 0.9);
      }
      

    在IE中,这些背景并不覆盖它们应用到的所有部分…有什么想法吗?

    1. 下拉菜单在IE中的位置不正确。我是绝对定位它,但是添加了一个空白以将它推到WebKit中的正确位置-猜测这是对齐下拉菜单的错误方法,而且它不能跨浏览器工作。有什么建议吗?

    非常感谢-在这里写问题可以帮助我思考!

    网站链接: http://bit.ly/11GGCx

    3 回复  |  直到 15 年前
        1
  •  1
  •   outis    15 年前

    哪些IE版本会出现问题?

    1. 和许多IE错误一样,尝试给予 layout 对具有不正确渲染背景的元素。

    2. 如果不指定绝对定位元素的“左”属性,则IE很少生成所需的值。根据CSS 2.1规范,“左”应设置为 static position 但是浏览器可以猜测这个位置,所以最好是明确的。标准方法是给菜单项相对定位以创建 containing block 对于每个子菜单,设置子菜单的“顶部”和“左侧”。

      .nav li {
          position: relative;
          /* note: don't set a box offset (e.g. "left") here */
      }
      .nav ul {
          position: absolute;
          top: 1em;
          left: 0;
      }
      
        2
  •  0
  •   Karl    15 年前

    是否指定背景重复?

        3
  •  0
  •   Logesh Paul    15 年前

    你有没有尝试过CSS不透明概念?

    尝试以下代码。

    rule {
    background: #fff;
    opacity: .5; 
    -moz-opacity: 0.5;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* for IE8 *//* Comes First to apply optacity in all ie versions*/
    filter: alpha(opacity=50); /* for IE5-7 *//* Comes second to apply opacity in all ie versions*/
    }
    

    注意:不要更改以上行的顺序。另外,我建议不要使用rgba背景。

    试试这个。希望这有帮助