css怎么画半圆凹槽,如何用css实现一个div的左右半圆凹陷,并且凹陷的地方显示父div的背景图...
时间: 2024-04-29 11:22:16 浏览: 130
可以使用CSS3中的`border-radius`属性来实现半圆形,再利用`::before`和`::after`伪元素来实现左右半圆凹陷。
具体实现步骤如下:
1. 设置父元素的背景图,并设置`position:relative`。
2. 创建一个子元素,设置宽度为100%、高度为父元素高度的一半,并设置`position:absolute`和`bottom:0`。
3. 为子元素创建两个伪元素`::before`和`::after`,分别表示左右两个半圆形。
4. 设置伪元素的宽度和高度为子元素高度,并设置`border-radius`属性为50%。
5. 设置伪元素的位置,将左侧伪元素设置在子元素最左端,右侧伪元素设置在子元素最右端。
6. 设置伪元素的`z-index`属性为-1,将其放在父元素背景图的下方。
7. 利用`background-clip`属性将伪元素的背景设置为父元素的背景图。
以下是实现代码示例:
```html
<div class="parent">
<div class="child"></div>
</div>
```
```css
.parent {
background-image: url("bg.jpg");
position: relative;
width: 500px;
height: 300px;
}
.child {
position: absolute;
bottom: 0;
width: 100%;
height: 150px;
}
.child::before,
.child::after {
content: "";
position: absolute;
width: 150px;
height: 150px;
border-radius: 50%;
z-index: -1;
background-clip: content-box;
background-image: url("bg.jpg");
}
.child::before {
left: -75px;
}
.child::after {
right: -75px;
}
```
阅读全文