第 17 章 CSS 边框与背景[上] - 水之原
学习要点:
1.声明边框
2.边框样式
3.圆角边框
主讲教师:李炎恢
本章主要探讨 HTML5 中 CSS 边框和背景,通过边框和背景的样式设置,给元素增加更丰富的外观。
一.声明边框
边框的声明有三个属性设置,样式表如下:
属性 |
值 |
说明 |
CSS 版本 |
border-width |
长度值 |
设置边框的宽度,可选 |
1 |
border-style |
样式名称 |
设置边框的样式,必选 |
1 |
border-color |
颜色值 |
设置边框的颜色,可选 |
1 |
这三个属性值,只有 border-style 是必须声明,才可以出现边框。而其他两个属性会出现默认值。
//最简单的边框,边框长度默认 3px,边框颜色为黑色
div { border-style: solid; }
//配置完整的边框
div { border-style: solid; border-width: 2px; border-color: red; }
如果元素长和高均为 200px 时,四个边框均为 2 时,元素的长高总尺寸均为 202px。
二.边框样式
边框的样式主要有三种,分别是边框长度取值、边框的颜色和边框的线条类型。颜色是通用的颜色代码,和所有其他颜色取值一下。而长度和线条类型,边框有自己独到的部分。
边框宽度取值表如下:
值 |
说明 |
长度值 |
CSS 长度值:比如 px、em 等 |
百分数 |
直接设置百分数:1、2、3 等 |
thin |
使用长度名称的预设宽度。这三个值的具体意义由浏览器来定义,从小到大依次增大。
|
medium |
|
thick |
一般来说,边框为了更加精准,还要计算元素盒子的总尺寸,使用长度值的比较多。而定义边框线条的样式如下样式表:
值 |
说明 |
none |
没有边框 |
dashed |
破折线边框 |
dotted |
圆点线边框 |
double |
双线边框 |
groove |
槽线边框 |
inset |
使元素内容具有内嵌效果的边框 |
outset |
使元素内容具有外凸效果的边框 |
ridge |
脊线边框 |
solid |
实线边框 |
//solid 实线使用频率最高
div { border-style: solid; border-width: 10px; border-color: red; }
如果想对四条边中某一条边单独进行设置,可以使用如下样式表:
属性 |
说明 | CSS 版本 |
border-top-width |
定义顶端
|
1
|
border-top-style |
||
border-top-color |
||
border-middle-width |
定义底部
|
1
|
border-middle-style |
||
border-middle-color |
||
border-left-width |
定义左侧
|
1
|
border-left-style |
||
border-left-color |
||
border-right-width |
定义右边
|
1
|
border-right-style |
||
border-right-color |
//只设置顶端
div { border-top-style: solid; border-top-width: 10px; border-top-color: red; }
如果四条变都一致,那么没必要分写成三句样式,直接通过简写即可:
属性 |
值 |
说明 |
CSS 版本 |
border |
|
设置四条边的边框 |
1
|
border-top |
只设置上边框 |
||
border-middle |
只设置下边框 |
||
border-left |
只设置左边框 |
||
border-right |
只设置右边框 |
//简写形式四条边设置
div { border: 10px solid red; }
三.圆角边框
CSS3 提供了一个非常实用的圆角边框的设置。使用 border-radius 属性,就可以达到这种效果,样式表如下:
属性 |
值 |
说明 |
CSS 版本 |
border-radius |
长度值或百分数 |
四条边角 |
3 |
border-top-left-radius |
长度值或百分数 |
左上边角 |
3 |
border-top-right-radius |
长度值或百分数 |
右上边角 |
3 |
border-middle-left-radius |
长度值或百分数 |
左下边角 |
3 |
border-middle-right-radius |
长度值或百分数 |
右下边角 |
3 |
//设置圆角矩形
div { border: 10px solid red; border-radius: 10px; }
//四条边分别设置
div { border: 10px solid red; border-radius: 10px 20px 30px 40px; }