
文章目录
- CSS3概述
- CSS3私有前缀
- 常见浏览器私有前缀
- 新增盒模型相关属性
- 怪异盒模型
- 拖拽调整盒子大小
- 盒子阴影
- 不透明度
- 新增背景属性
- background-origin
- background-clip
- background-size
- 多背景图
- backgorund 复合属性
- 新增边框属性
- 边框圆角
- 边框外轮廓
- 新增文本属性
- 文本阴影
- 文本换行
- 文本溢出
- 文本修饰
- 文本描边
CSS3概述
CSS3是CSS2的升级版本,它在CSS2的基础上,新增了很多强大的新功能,从而解决一些实际面临的问题。CSS3计划在未来会按照模块化的方式去发展:查看官方文档CSS3的新特性如下:
- 新增了更加实用的选择器,例如:动态伪类选择器、目标伪类选择器、伪元素选择器等等
- 新增了
更好的视觉效果,例如:圆角、阴影、渐变等- 新增了
丰富的背景效果,例如:支持多个背景图片,同时新增了若干个背景相关的属性- 新增了全新的布局方案 ——
弹性盒子- 新增了 Web 字体,可以显示用户电脑上没有安装的字体
- 增强了颜色,例如: HSL 、 HSLA 、 RGBA 几种新的颜色模式,新增
opacity属性来控制透明度- 增加了
2D和3D变换,例如:旋转、扭曲、缩放、位移等- 增加
动画与过渡效果,让效果的变换更具流线性、平滑性- ……
CSS3私有前缀
div {
width: 400px;
height: 400px;
-webkit-border-radius: 20px;
}
例如代码中的
-webkit-就是私有前缀;
其作用是:W3C标准所提出的某个CSS特性,在被浏览器正式支持之前,浏览器厂商会根据浏览器的内核,使用私有前缀来测试该CSS特性,在浏览器正式支持该CSS特性后,就不需要私有前缀了,简而言之就是为了支持CSS的新特性,所进行的兼容性处理
- 查询
CSS3 兼容性的网站:点击查询CSS属性兼容性
常见浏览器私有前缀
Chrome浏览器:-webkitSafari浏览器:-webkitFirefox浏览器:-mozEdge浏览器:-webkit- 旧
Opera浏览器:-o - 旧
IE浏览器:-ms
说明:

新增盒模型相关属性
怪异盒模型
使用
box-sizing属性可以设置盒模型的两种类型
| 可选属性值 | 描述 |
|---|---|
content-box | width 和 height 设置的是盒子内容区的大小(默认值) |
border-box | width 和 height 设置的是盒子整个区域的总大小 |
拖拽调整盒子大小
使用
resize属性可以控制是否允许用户拖拽调节元素尺寸;需搭配overflow属性开启
| 可选属性值 | 描述 |
|---|---|
none | 不允许用户调整元素大小。 (默认) |
both | 用户可以调节元素的宽度和高度 |
horizontal | 只允许用户可以调节元素的水平宽度 |
vertical | 只允许用户可以调节元素的垂直高度 |
盒子阴影
使用
box-shadow属性为盒子添加阴影
语法:
box-shadow: h-shadow v-shadow blur spread color inset;
取值含义:
| 可选属性值 | 描述 |
|---|---|
h-shadow | 水平阴影的位置,必须填写,可以为负值 |
v-shadow | 垂直阴影的位置,必须填写,可以为负值 |
blur | 可选,模糊距离 |
spread | 可选,阴影的外延值 |
color | 可选,阴影的颜色;默认黑色 |
inset | 可选,将外部阴影改为内部阴影 |
- 默认值:
box-shadow:none表示没有阴影
/* 写两个值,含义:水平位置、垂直位置 */
box-shadow: 10px 10px;
/* 写三个值,含义:水平位置、垂直位置、颜色 */
box-shadow: 10px 10px red;
/* 写三个值,含义:水平位置、垂直位置、模糊值 */
box-shadow: 10px 10px 10px;
/* 写四个值,含义:水平位置、垂直位置、模糊值、颜色 */
box-shadow: 10px 10px 10px red;
/* 写五个值,含义:水平位置、垂直位置、模糊值、外延值、颜色 */
box-shadow: 10px 10px 10px 10px blue;
/* 写六个值,含义:水平位置、垂直位置、模糊值、外延值、颜色、内阴影 */
box-shadow: 10px 10px 20px 3px blue inset;
不透明度
opacity属性能为整个元素添加透明效果, 值是0到1之间的小数,0是完全透明,1表示完全不透明

新增背景属性
background-origin
作用:设置背景图的定位
原点
语法:
padding-box:从padding区域开始显示背景图像。—— 默认值border-box: 从border区域开始显示背景图像content-box: 从content区域开始显示背景图像
background-clip
作用:设置背景图的
向外裁剪的区域
语法:
border-box: 从border区域开始向外裁剪背景。 —— 默认值padding-box: 从padding区域开始向外裁剪背景content-box: 从content区域开始向外裁剪背景text:背景图只呈现在文字上

background-size
作用:设置背景图的
尺寸
语法:
- 用长度值指定背景图片大小,
不允许负值
background-size: 300px 200px;
- 用百分比指定背景图片大小,
不允许负值
background-size: 100% 100%;
-
auto: 背景图片的真实大小。 —— 默认值 -
contain: 将背景图片等比缩放,使背景图片的宽或高,与容器的宽或高相等,再将完整背景图片包含在容器内,但要注意:可能会造成容器里部分区域没有背景图片。
background-size: contain;
cover:将背景图片等比例缩放,直到完全覆盖容器,图片会尽可能全的显示在元素上,但要注意:背景图片有可能显示不完整。—— 相对比较好的选择
background-size: cover;
多背景图
CSS3 允许元素设置多个背景图片
/* 添加多个背景图 */
background: url(../images/bg-lt.png) no-repeat,
url(../images/bg-rt.png) no-repeat right top,
url(../images/bg-lb.png) no-repeat left bottom,
url(../images/bg-rb.png) no-repeat right bottom;
backgorund 复合属性
background: color url repeat position / size origin clip

新增边框属性
边框圆角
在
CSS3中,使用border-radius属性可以将盒子变为圆角
- 同时设置四个角的圆角
border-radius:10px;
- 分开设置每个角的圆角
| 属性名 | 描述 |
|---|---|
border-top-left-radius | 设置左上角圆角半径: 1. 一个值是正圆半径, 2. 两个值分别是椭圆的 x 半径、 y 半径 |
border-top-right-radius | 设置右上角圆角半径: 1. 一个值是正圆半径, 2. 两个值分别是椭圆的 x 半径、 y 半径 |
border-bottom-right-radius | 设置右下角圆角半径: 1. 一个值是正圆半径, 2. 两个值分别是椭圆的 x 半径、 y 半径 |
border-bottom-left-radius | 设置左下角圆角半径: 1. 一个值是正圆半径, 2. 两个值分别是椭圆的 x 半径、 y 半径 |
综合写法:
border-raidus: 左上角x 右上角x 右下角x 左下角x / 左上y 右上y 右下y 左下y
边框外轮廓
outline-width:外轮廓的宽度outline-color:外轮廓的颜色outline-style:外轮廓的风格none: 无轮廓dotted: 点状轮廓dashed: 虚线轮廓solid: 实线轮廓double: 双线轮廓
outline-offset设置外轮廓与边框的距离,正负值都可以设置

outline 复合属性
outline:50px solid blue;
新增文本属性
文本阴影
在
CSS3中,我们可以使用text-shadow属性给文本添加阴影
语法
text-shadow: h-shadow v-shadow blur color;
| 属性值 | 描述 |
|---|---|
h-shadow | 必需写,水平阴影的位置。允许负值 |
v-shadow | 必需写,垂直阴影的位置。允许负值 |
blur | 可选,模糊的距离 |
color | 可选,阴影的颜色,默认黑色 |
文本换行
在
CSS3中,我们可以使用white-space属性设置文本换行方式
- 常用值如下:
| 属性值 | 描述 |
|---|---|
normal | 文本超出边界自动换行,文本中的换行被浏览器识别为一个空格。(默认值) |
pre | 按代码原样输出,与 pre 标签的效果相同 |
pre-wrap | 在 pre 效果的基础上,超出元素边界自动换行 |
pre-line | 在 pre 效果的基础上,超出元素边界自动换行,且只识别文本中的换行,空格会忽略 |
nowrap | 强制不换行 |
文本溢出
在
CSS3中,我们可以使用text-overflow属性设置文本内容溢出时的呈现模式
- 常用值如下:
| 属性值 | 描述 |
|---|---|
clip | 当内联内容溢出时,将溢出部分裁切掉。 (默认值) |
ellipsis | 当内联内容溢出块容器时,将溢出部分替换为 ... |

文本修饰
CSS3升级了text-decoration属性,让其变成了复合属性
text-decoration: text-decoration-line || text-decoration-style || text-decorationcolor
- 子属性取值及其含义:
-
text-decoration-line:设置文本装饰线的位置none: 指定文字无装饰(默认值)underline: 指定文字的装饰是下划线overline: 指定文字的装饰是上划线line-through: 指定文字的装饰是贯穿线
-
text-decoration-style:文本装饰线条的形状solid: 实线 (默认)double: 双实线dotted: 点状线条dashed: 虚线wavy: 波浪线
-
text-decoration-color文本装饰线条的颜色
-
文本描边
注意:文字描边功能仅
webkit内核浏览器支持
-webkit-text-stroke-width:设置文字描边的宽度,写长度值-webkit-text-stroke-color:设置文字描边的颜色,写颜色值-webkit-text-stroke:复合属性,设置文字描边宽度和颜色
🚵♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————




















