CSS3圆角 border-radius

HTML5学堂:圆角是用一段与角的两边相切的圆弧替换原来的直角。在原有网页当中,如果需要实现圆角效果,可以使用背景图的实现,但是这样会造成背景图大小和数量的增加,从而使得服务器请求次数和需要加载的代码量增加,降低加载速度。

CSS3圆角的优势:

CSS3提供了更简便快捷的属性border-radius之后,实现边框圆角就非常的简单了,而且多了很多个优点,一方面减少了图片的HTTP的请求,一方面提高了网站的性能。还有一方面就是减少代码,提高了维护性。既然CSS3圆角提供了那么多的好处,我们看看CSS3的border-radius是如何实现圆角的。我们先来看看基本语法。

基本语法:

border-radius : none | <length>{1,4} [/ <length>{1,4} ]?

语法分析:

语法中符号的含义:

length的取值范围不为负数。

“[ ]”代表“可选”

“|”代表“或”

“{}”里的数字代表属性值的数量范围

“?”代表“一次”

“*”表示可出现多次

圆角书写方式:

在实现圆角之前,我们先来看几个效果,接着看CSS3圆角是如何实现的?

效果一: 扇形

结构代码:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title> h5course </title>
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<div class=" h5course "></div>
</body>
</html>

CSS样式:

. h5course {
border: 200px solid transparent;
width: 0;
border-radius: 200px;
border-top-color: red;
}

效果如下:

效果二:椭圆形

结构代码:

<div class="h5course"></div>

CSS样式:

html {
background: #000;
}
.h5course {
width: 400px;
height: 200px;
border: 2px solid #f36;
border-radius: 50% / 50%;
background: #ccc;
line-height: 200px;
text-align: center;
font-size: 25px;
font-family: 微软雅黑"
}

效果如下:

如上例子的圆角是如何实现的呢?之前大家回想一下,margin和padding的书写顺序。是不是四种写法,

1. margin一个值,表示盒模型的margin的上,下,左,右四个方向值

2. margin两个值,表示的是margin第一个值为margin的上,下方向值。第二个值为margin的左,右方向值。

3. margin三个值,表示的是margin第一个值为margin的上方向值。第二个值为margin的左,右方向值。第三个值为margin的下方向值.

4. Margin四个值,表示的是margin第一个值为margin的上方向值。第二个值为margin的右方向值。第三个值为margin的下方向值。第四个值为margin的左方向值.

而border-radius的书写顺序也是和margin类似,分别表示左上角、右上角、右下角、左下角。“/”前是指圆角的水平半径,而“/”后是指圆角的垂直半径,他们两边都遵循(margin四个值)的顺序原则。

1.只有一个值,那么左上角、右上角、右下角、左下角四个值相等。

2.有两个值,那么左上角等于右下角,并且取第一个值;右上角等于左下角,并且取第二个值

3.有三个值,其中第一个值是设置左上角,而第二个值是右上角、左下角,并且他们会相等,第三个值是设置右下角。

4.有四个值,其中第一个值是设置左上角。而第二个值是右上角第三个值右下角,第四个值是设置左下角。

我们再来看一个实例,一步一步实现圆角效果:

<div class="h5course"></div>

为了更好的看出效果,我们给这个demo添加一点样式:

.h5course {
width: 150px;
height: 80px;
border: 2px solid #f36;
background: #ccc;
}

这时候在该元素上添加border-radius属性设置。

.h5course {
width: 150px;
height: 80px;
border: 2px solid #f36;
background: #ccc;
border-radius: 10px 15px 20px 30px / 20px 30px 10px 15px;
}

圆角兼容性:

border-radius只有在以下版本的浏览器:Firefox4.0+、Safari5.0+、Google Chrome10.0+、Opera10.5+、IE9+支持border-radius标准语法格式,对于老版的浏览器,border-radius需要根据不同的浏览器内核添加不同的前缀,比说Mozilla内核需要加上“-moz”,而Webkit内核需要加上“-webkit”等,那么我为了能兼容各大内核的老版浏览器,一般加这些内核前缀的。

.h5course {
width: 150px;
height: 80px;
border: 2px solid #f36;
background: #ccc;
-webkit- border-radius: 10px 15px 20px 30px / 20px 30px 10px 15px;
-moz - border-radius: 10px 15px 20px 30px / 20px 30px 10px 15px;
border-radius: 10px 15px 20px 30px / 20px 30px 10px 15px;
}

欢迎沟通交流~HTML5学堂

原文发布于微信公众号 - HTML5学堂(h5course-com)

原文发表时间:2015-12-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

A015-布局之Linearlayout

10240
来自专栏分享达人秀

善用TableLayout表格布局,事半功倍

前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻烦,为此Android系统中提供了表格...

24490
来自专栏小白安全

给网站顶部添加一个彩色横条

效果图片 开始  首先,我们需要图片,直接贴出来吧,需要的请直接右键另存为。 GIF滚动优化版   接着,在网站顶部适当位置添加一个Div,自...

29650
来自专栏数据小魔方

条件格式的特殊用法——创意百分比构成图

今天继续跟大家分享条件格式的特殊用法——创意百分比构成图。 ▽▼▽ 上一篇推送已经跟大家介绍过如何通过设置条件格式来完成特殊的单元格字体、填充效果。今天趁热打铁...

48160
来自专栏Android小菜鸡

自定义View学习之路(三)————验证码的实现

走往android的进阶之路,避不开自定义View的学习和绘制。这里以绘制一个可用的验证码为例。开始系统的学习View的绘制。 验证码需求:

11310
来自专栏吾爱乐享

php学习之css选择器(二)

21050
来自专栏程序员宝库

手机端页面在项目中遇到的一些问题及解决办法

首先你可能会给页面的 html 和 body 增加了 height: 100%, 然后就可能造成 IOS 上页面滑动的卡顿问题。解决方案是:

30330
来自专栏IMWeb前端团队

初窥 SVG Path 动画

本文讨论的主题是 SVG Path 动画(路径动画)。之所以要讨论这个话题,是因为在项目中有要求用到它。所谓 SVG Path 动画,就是让图形有像人实时绘制一...

31160
来自专栏大数据钻研

前端开发面试题总结之——CSS3

---- 相关知识点 布局、 浮动、 盒子模型、 弹性和模型、 选择器优先级、 居中定位、 兼容性、 hack写法...... 题目&答案 如何理解CSS的盒子...

36440
来自专栏九彩拼盘的叨叨叨

CSS 核心技能点

10220

扫码关注云+社区

领取腾讯云代金券