在实现页面五花八门的有特色的ui时,我们有时会遇到要用实现一个弧形,而这样的弧形要怎么实现呢?用图片?不太优雅,这样就要无故多加载一张图片了,这里来说说怎么用css的after伪类来实现弧形。
写一个主元素,并给该元素添加伪类来设置成圆,取该圆的一部分来作为我们看到的圆弧。
第一种(正圆弧):
实现效果:
参照上面的 要点 ,大概也能知道个原理了吧。 看到的圆弧高度等于主元素高度,伪元素绝对于主元素定位,左右居中,上移100%;圆弧弧度取决于伪类的宽度 ,这点放到这里来说,是怕放在上面说反而让人觉得复杂了。
如果还不理解的话,可以把上面不必要的样式注释掉,辅助理解:
效果:
可以多调调高度宽度来帮助理解。
第二种(有角度的弧):
效果图:
实现角度弧的思路与正圆弧差不多,不同地方是:
不同点1. 伪元素大小与主元素一样,覆盖在主元素上;
不同点2. 设置伪元素的单个角度;
在css中,让边角具有弧度只需要用border-radius这个属性。
如图,这是一个测试页面,它们的边角分别为25PX和50PX半径的圆角。
写法像这样:
border-radius:25px
测试代码如下
<div style="border-radius:25px"></div>
<div style="border-radius:50px"></div>
div{
width:200px
height:130px
background-color:wheat
margin-bottom:10px
}
拓展资料-css3简介在CSS3推出前,圆角效果需要用图片实现,下面简要介绍CSS3。
CSS3是CSS(层叠样式表)技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模块、超链接方式、语言模块、背景和边框、文字特效、多栏布局等模块。
CSS演进的一个主要变化就是W3C决定将CSS3分成一系列模块。浏览器厂商按CSS节奏快速创新,因此通过采用模块方法,CSS3规范里的元素能以不同速度向前发展,因为不同的浏览器厂商只支持给定特性。但不同浏览器在不同时问支持不同特性,这也让跨浏览器开发变得复杂。
<div class="radian"></div>.radian{
width: 200px
height: 100px
border-radius: 200px/20px/*上下有弧度的边*/
/*border-radius: 20px/200px*//*左右有弧度的边*/
background-color: red
}
border-radius是一种缩写方法。如果“/”前后的值都存在,那么“/”前面的值设置其水平半径,“/”后面值设置其垂直半径。