【发布时间】:2013-01-23 01:00:12
【问题描述】:
我在基于 Webkit 的浏览器上遇到一个问题,如果我将边框半径添加到 div,然后将 -moz-translate3d 应用到 ul 内部(这是因为在原始示例中我使用的是 flexslider 幻灯片) , 边界半径不适用,并通过容器流血。
为了清楚地理解我在说什么,这里有一个关于该问题的小提琴示例。如果我删除 translate3d 属性,则会应用边框半径。
HTML:
<div class="wrapper">
<ul>
<li>
<div class="caption"><p>Test</p></div>
</li>
<li>
<div class="caption"><p>Test</p></div>
</li>
<li>
<div class="caption"><p>Test</p></div>
</li>
<li>
<div class="caption"><p>Test</p></div>
</li>
</ul>
</div>
CSS:
.wrapper {
border-radius: 20px;
position: relative;
width: 500px;
height: 200px;
overflow: hidden;
}
.caption {
position: absolute;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.8);
padding: 2rem;
-webkit-box-sizing: border-box;
width: 100%;
height: 3rem;
color: #fff;
}
ul {
width: 800%;
-webkit-transform: translate3d(-500px, 0, 0);
}
li {
float: left;
width: 500px;
height: 200px;
background-color: #000;
position: relative;
}
.caption p {
color: #fff;
}
在 Mac 和 Windows 上的 Chrome 最新版本上都对其进行了测试。
提前致谢!
【问题讨论】:
-
看起来规则有冲突。作为最终结果,您到底想达到什么目标?
-
我只需要使边框变圆,但使用 translate3d 属性:)
-
我明白你的问题,但你为什么需要那个属性?看起来您只是将 UL 移过来 - 为什么不直接使用
position:relative; left: -500px;? -
因为实际上不在我的控制之下,我正在使用 flexslider 插件,它使用此属性使幻灯片与 CSS3 一起工作,并且仅在 Webkit 浏览器上无法正常工作。
标签: html webkit css flexslider