【发布时间】:2016-04-13 04:50:09
【问题描述】:
我想将边框半径应用于box-shadow 而不是 div 本身,因此最终结果将是左侧带有 90 度角 div 的圆角框阴影。
.div-to-style {
-webkit-box-shadow: -20px 0px 0px 0px blue;
-moz-box-shadow: -20px 0px 0px 0px blue;
box-shadow: -20px 0px 0px 0px blue;
border-radius: 8px 8px 8px 8px;
background-color: red;
width: 200px;
height: 50px;
margin-left:40px;
}
<div class="div-to-style">
</div>
<p>
Want the red section to have a straight border on the left
</p>
https://jsfiddle.net/alair016/vdcohttk/
这个 CSS 的问题是 border-radius 被应用于 box-shadow 以及左侧的 div。
【问题讨论】:
-
你不能那样做,box-shadow 是一个元素的属性,而不是一个元素,正如 Paulie_D 上面所说的。您不能在属性上设置属性。您可以在另一个元素 (a) 下方创建一个透明 div (b),并为该元素赋予与 (a) 相同的大小属性,但为其赋予边框半径和框阴影。然后它看起来好像你有一个带有圆形阴影的方形框(a)(来自框(b))