【问题标题】:IE8 + pie.htc: adding html5shiv.js destroys rounded corners againIE8 + pie.htc:添加 html5shiv.js 再次破坏圆角
【发布时间】:2012-11-01 21:20:40
【问题描述】:

好的,在任何其他浏览器中一切正常,除了 IE8。我已经连接了 pie.htc 来解决 IE8 的圆角问题。一切正常。然后我发现 IE8 的 html5 存在一些问题。这就是我使用 html5shiv.js 的原因。现在一切都很好,但是一些圆角又变成了方形。它只发生在一个div内。

在 IE8 中使用 pie.htc + html5shiv.js,所有其余的圆角仍然看起来不错。我的意思是 html5shiv.js 没有破坏它们。

我试图解决那个角落的问题,但没有运气: 我搬家了

<!--[if lt IE 9]>
<script src="path/to/html5shiv.js"></script>
<![endif]-->

在 css 加载之前启动。 另外,我放 !important 只是为了确保 .超类{ 行为:网址(/PIE.htc); 位置:相对!重要; } 用于修复该超类的 IE8 圆角。

另外,我尝试使用以下 3 个字符串的大多数组合进行添加:

  z-index: 1;
  *position:relative!important;
  *z-index: 1;

但没有任何帮助。 还能做什么?一旦我删除

<!--[if lt IE 9]>
<script src="path/to/html5shiv.js"></script>
<![endif]-->

圆角再次变圆。 有任何想法吗? 谢谢。

【问题讨论】:

  • !important 与 CSS3Pie 一起使用是痛苦的秘诀。 CSS3Pie 添加自己的标记来做它的效果并改变原始元素的样式;在它使用的任何样式上的!important 标志都会破坏它。这包括position 样式。
  • 好的,谢谢,我删除了!important。位置:相对;并且 html5shiv.js 位于 css 文件之上。还是没有运气。
  • 你是否尝试过旧的zoom:1 hack 来强制 IE 的 hasLayout 标志为元素?这通常使用 CSS3Pie 解决这些问题。但是如果没有看到您的代码在运行,就无法确定。是否有机会链接到演示页面?
  • 谢谢,刚刚试过 zoom:1; ,仍然没有运气。抱歉,我无法共享代码,它在本地主机上,我无权共享它。仍在努力。如果我找到它,我会发布解决方案。谢谢。

标签: html internet-explorer-8 rounded-corners css3pie html5shiv


【解决方案1】:

使用条件 cmets 和 HTML/CSS solution 创建圆角:

 <div class="container">
   <b class="rtop">
      <b class="r1"></b>
      <b class="r2"></b>
      <b class="r3"></b>
      <b class="r4"></b>
   </b>
     CONTENTS GOES HERE
   <b class="rbottom">
     <b class="r4"></b>
     <b class="r3"></b>
     <b class="r2"></b>
     <b class="r1"></b>
   </b>
 </div>

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2021-09-09
    相关资源
    最近更新 更多