1. 前言
在网页设计中,有时候需要用到上下尖角椭圆,它可以被用作各种设计元素,比如按钮、标签、背景等等。下面我们来看看如何用CSS来画上下尖角椭圆。
2. 画上尖角椭圆
2.1 利用 border 和 transform
我们可以先画一个正方形,然后利用 border 和 transform 来使其变成菱形,接着再借助 border-radius 和 clip-path 来画出上尖角椭圆的效果。
/*HTML
<div class="triangle-up"></div>
*/
/*CSS*/
.triangle-up {
width: 100px;
height: 100px;
background-color: #9c27b0;
border: 1px solid #fff;
transform: rotate(-45deg);
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
border-radius: 15px 15px 0px 0px;
}
上述代码中,我们首先创建了一个 100x100 的正方形,然后通过 transform:rotate(-45deg); 把它旋转了 45 度,变成了一个菱形。紧接着我们利用 clip-path 属性设置了一个多边形,就可以定义出了这个上尖角椭圆的形状了。最后我们设置了四个如图所示的 border-radius,并分别给它们命名。
2.2 利用伪元素
除了上面的方法之外,还可以利用伪元素来绘画出上尖角椭圆。
/*HTML
<div class="triangle-up-2"></div>
*/
/*CSS*/
.triangle-up-2{
position: relative;
width: 100px;
height: 50px;
background-color: #9c27b0;
}
.triangle-up-2:before {
content: "";
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid #9c27b0;
position: absolute;
top: -50px;
left: 0;
}
在这段代码中,我们还是先创建了一个正方形,但是它的高度只设置为了 50px。通过设置伪元素的 border 来绘制出上尖角椭圆,也就是利用了 border-left 和 border-right 的宽度是 0,border-bottom 的宽度为 50px 的原理。
3. 画下尖角椭圆
3.1 利用 border 和 transform
与上尖角椭圆类似,我们可以利用 border 和 transform 先把正方形变成菱形,然后用 clip-path 属性来定义下尖角椭圆的形状。
/*HTML
<div class="triangle-down"></div>
*/
/*CSS*/
.triangle-down {
width: 100px;
height: 100px;
background-color: #9c27b0;
border: 1px solid #fff;
transform: rotate(135deg);
clip-path: polygon(0 50%, 50% 100%, 100% 50%, 50% 0);
border-radius: 0px 0px 15px 15px;
}
在这段代码中,我们先利用 transform: rotate(135deg); 把正方形变成了菱形,接着利用 clip-path 定义多边形来设置下尖角椭圆的形状,最后我们同样设置了四个 border-radius。
3.2 利用伪元素
下尖角椭圆也可以用伪元素来绘制出来。
/*HTML
<div class="triangle-down-2"></div>
*/
/*CSS*/
.triangle-down-2 {
position: relative;
width: 100px;
height: 50px;
background-color: #9c27b0;
}
.triangle-down-2:after {
content: "";
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 50px solid #9c27b0;
position: absolute;
bottom: -50px;
left: 0;
}
这段代码与上尖角椭圆的代码相似,我们还是先创建一个正方形,但是它的高度仍然被设置为了 50px。接着通过添加伪元素并设置 border 来绘画出下尖角椭圆的效果。
4. 总结
通过以上的两种方法,我们可以很容易地画出上下尖角椭圆。其中第一种方法更加灵活,可以根据实际需求来自由地调整菱形角度或是椭圆形状。而第二种方法则相对简单一些,只需要添加一个伪元素就可以了。