【问题标题】:CSS Corner Image/ RadiusCSS 角图像/半径
【发布时间】:2011-06-02 02:48:55
【问题描述】:

我使用了这种角样式:

.corners4{
    background:url(../img/panelHeaderColor.jpg) repeat-x;
    -moz-border-radius-topleft: 5px; -webkit-border-top-left-radius: 5px;
    -moz-border-radius-topright: 5px; -webkit-border-top-right-radius: 5px; 
    -moz-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; 
    -moz-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; 
}

但是,这在 IE 中不起作用,是否有任何 IE 等效项? 谢谢

【问题讨论】:

    标签: css


    【解决方案1】:

    如果你删除属性的 -moz- 部分,你将拥有border-radius-topleft 等等。这些是border-radius 属性。这些仅在 CSS3 标准中。以 IE 目前的记录来看,CSS3 应该会在 2017 年左右的某个时候得到支持。如果你想让它在 Safari 中工作,你可以使用 -webkit-border-radius。有关圆角的更多信息,请参阅this question

    【讨论】:

    • 哇!....2017 年?...太糟糕了,这离很快很远。:(...感谢您提供的信息
    • 不确定实际的时间线,但是是的,我不认为 IE 很快就会实施border-radius,即使他们这样做了,也需要几年时间才能实现所有人升级他们的浏览器。
    • 我和你一样惊讶:stackoverflow.com/questions/635851/…
    【解决方案2】:

    -moz- 部分代表“Mozilla”——IE 不支持此属性。

    没有适用于所有浏览器的唯一等效的 CSS。至少现在还没有。

    用 javascript 实现弯角是一个严重的问题,而且大多数解决方案都不是很健壮。不幸的是,以所有用户都能享受的方式实现这一目标的绝对最佳方法是使用自己的图像作为角落的老式方法。 This website 至少让这个过程更容易。如果您想尝试 JS 解决方案,我听说过 curvyCorners 的好消息。

    【讨论】:

    • 圆角所做的仍然是浪费标记。无论如何,我认为目前还没有更好的解决方案。无论如何,谢谢。
    【解决方案3】:

    IE 似乎在很多时候都很难处理圆角。总而言之,你会发现它的支持不是很好,还有很多用户回到IE5.5左右。我会推荐一种不同的方法。

    虽然我不记得具体是在哪里学的,但我可以给你我网站上的代码。

    元素之前的 HTML 代码:

    <b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
    

    元素之后的 HTML 代码

    <b class="b4"></b><b class="b3"></b><b class="b2"></b><b class="b1"></b>
    

    CSS 代码:

    .b1, .b2, .b3, .b4{font-size:1px; overflow:hidden; display:block;}
    .b1 {height:1px; background: #000; margin:0 4px;}
    .b2 {height:1px; background: #fff; border-right:2px solid #000; border-left:2px solid #000; margin:0 2px;}
    .b3 {height:1px; background: #fff; border-right:1px solid #000; border-left:1px solid #000; margin:0 1px;}
    .b4 {height:2px; background: #fff; border-right:1px solid #000; border-left:1px solid #000; margin:0 0px;}
    

    上面的 CSS 代码,#000 将是你的边框颜色。 #FFF 将是 内容框的颜色。

    你会希望你的内容块没有顶部和底部边框,然后将左右边框设置为 1px,然后设置你想要的边框颜色。

    根据您当前的实现,这可能看起来不太好看,您可以随意添加更多 b 标签,应用相同的逻辑来获得更大的半径。如果您想要更大的半径但无法确定,请告诉我,我会将其扩展为更大。

    最后一点,根据您放置这些的位置,您可能需要稍微调整边距设置。

    【讨论】:

    • 它添加了一些代码,但实际上在很多方面都比其他一些跨浏览器工作并使用大量 javascript 和 css 的方法要少得多。此外,这将适用于更广泛的浏览器,因为它只使用基本的 CSS。
    【解决方案4】:

    查看此站点:http://border-radius.com/ 它为 WebKit、Gecko、CSS3 生成 css。 示例:

    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    

    【讨论】:

      【解决方案5】:

      IE的圆角半径问题解决了。

      http://kbala.com/ie-9-supports-corner-radius/

      【讨论】:

        猜你喜欢
        • 2018-12-28
        • 2016-06-08
        • 2023-04-01
        • 2011-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-24
        • 1970-01-01
        相关资源
        最近更新 更多