我几乎从这开始:
.player {
width: 480px;
height: 80px;
border-radius: 40px;
}
Run Code Online (Sandbox Code Playgroud)
什么是最简单的方法,没有太多的代码?
这是另一种方法,这次使用径向背景图像。这让它变得透明并且在 Firefox 和 Chrome 中都可以使用。
.player {
width: 480px;
height: 80px;
border-radius: 40px;
background-image: radial-gradient(circle at 38px 40px, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 40px, blue 40px);
color: #FFF;
}Run Code Online (Sandbox Code Playgroud)
<div class="player"></div>Run Code Online (Sandbox Code Playgroud)
你可以使用before伪元素来提供"剪切"
.player {
width: 480px;
height: 80px;
border-radius:0 40px 40px 0;
background-color:#0000FF;
position:relative;
color:#FFF;
}
.player:before
{
width: 80px;
height: 80px;
border-radius:0 40px 40px 0;
background-color:#FFF;
display:inline-block;
vertical-align: middle;
margin-right: 10px;
content: '';
}Run Code Online (Sandbox Code Playgroud)
<div class="player">Some Content</div>Run Code Online (Sandbox Code Playgroud)
.wrapper {
width: 500px;
height: 103px;
background-color: red;
padding-top: 15px;
}
.player {
width: 480px;
height: 83px;
margin-left: 10px;
border-top-right-radius: 40px;
border-bottom-right-radius: 40px;
border: 1px solid black;
border-left: none;
background-color: blue;
-webkit-mask-image: radial-gradient(circle at left, transparent 0, transparent 40px, black 41px);
}Run Code Online (Sandbox Code Playgroud)
<div class="wrapper"><div class="player"></div></div>Run Code Online (Sandbox Code Playgroud)
Jon P 的答案已经差不多了——但是 before 元素可以用来在主 div 的左侧制作一个透明的圆圈,并且阴影可以产生所需的剪切效果。
body {
/* You can change the background colour to verify that this is truly transparent */
background-color: pink;
}
.player {
/* Just a normal box */
width: 480px;
height: 80px;
border-radius:0 40px 40px 0;
background-color:#0000FF;
position:relative;
color:#FFF;
/* Move the box right so that we can see the cutout to the left */
margin-left: 40px;
}
.player:before
{
width: 80px;
height: 80px;
border-radius:0 40px 40px 0;
background-color:transparent;
display:inline-block;
vertical-align: middle;
margin-right: 10px;
content: '';
/* This is the cutout: */
box-shadow: 40px 0px #00f;
position: relative;
left: -80px;
}Run Code Online (Sandbox Code Playgroud)
<div class="player">Some Content</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6139 次 |
| 最近记录: |