【发布时间】:2018-12-06 10:46:36
【问题描述】:
我正在尝试使用 css 为横幅创建一个背景,其中一侧有颜色,另一侧有另一个像这样 45° 切割的背景
我已经能够重新创建上面的图像,除了没有保持在正确位置的阴影。 任何建议将不胜感激。
这是我的代码:
#container {
height: 100px;
width: 400px;
overflow: hidden;
background-color: #2962ff;
}
#triangle-topleft {
width: 0;
height: 0;
border-top: 100px solid #2196f3;
border-right: 400px solid transparent;
-webkit-box-shadow: 5px 5px 20px 0px rgba(0,0,0,0.75);
-moz-box-shadow: 5px 5px 20px 0px rgba(0,0,0,0.75);
box-shadow: 5px 5px 20px 0px rgba(0,0,0,0.75);
}
<div id="container">
<div id="triangle-topleft"></div>
</div>
【问题讨论】:
-
我不认为这个问题是链接问题的副本,因为链接问题没有解决盒子阴影问题。解决问题的方法是使用伪元素(:before 或 :after)代替 #triangle-topleft div,在容器上设置
position: relative;,然后将此 CSS 应用于伪元素。box-shadow: 0 0 20px 0px rgba(0,0,0,0.75); position: absolute; width: 250px; height: 100px; background: #2196f3; transform: skew(-45deg); left: -50px; -
查看这个方便的渐变生成器colorzilla.com/gradient-editor,它甚至有一些与您想要的非常相似的预设,它会为您提供大多数浏览器的代码