【问题标题】:IE border radius makes the border and the background curve different cornersIE边框半径使边框和背景曲线不同的角
【发布时间】:2012-09-05 10:24:48
【问题描述】:

我有一个<div>,它有一个background 和一个border

我定义了border-radius: 10px 0 10px 0,IE 使边框在右上角和左下角变成圆形,而背景在其他角变成圆形。

所以我有两个角有方形边框,背景没有到达末端,还有两个有圆形边框,背景突出。

我应该说当我添加direction: ltr 时它会修复它,但我需要direction: rtl

如果我指定border-top-right: 10px 等,那是一样的。边框将在错误的角处变圆。

【问题讨论】:

  • 我想看这个!我想解决方案是创建 2 个容器。 1 代表边框,1 代表背景......但它很烂!
  • IE 的边框和 RTL 有问题。
  • 在IE中打开这个jsfiddle.net/CLwHt

标签: css internet-explorer border


【解决方案1】:

黑客攻击它算不算?

#div1 {
    direction:rtl;
    border:1px solid black;
    background:green;
    border-radius:10px 0 10px 0;
    margin:20px auto;
    width:300px;
    padding:10px;
    -ms-transform: rotate(180deg);
}
:root #div1 {
    direction: ltr \9; /* IE9+ */
}
#div1 > span {
    direction: rtl;
    -ms-transform: rotate(180deg);
}

<span>中的环绕文字内容:

<div id="div1">
    <span>some text</span>
</div>

【讨论】:

  • 想了想,这就像 Armel L 建议的那样,我希望有一些更直接的东西,不会让我添加不必要的标签
  • @DotanReis 我原以为跨度标签是迄今为止解决问题的侵入性最小的添加;语义得到维护。当然,CSS 很恶心,但它简洁地完成了工作......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
  • 2017-09-19
  • 2017-12-25
  • 1970-01-01
  • 2012-02-28
相关资源
最近更新 更多