CSS3有哪些新增的特性?
CSS3 引入了大量的改进和新特性,大致可以分为以下几类:
1. 选择器:
- 属性选择器增强: 更强大的属性选择器,例如
[attr^=value]
(开头)、[attr$=value]
(结尾)、[attr*=value]
(包含) 等。 - 结构伪类: 例如
:nth-child(n)
、:last-child
、:first-of-type
、:only-child
等,可以根据元素在文档树中的位置进行选择。 - 目标伪类:
:target
用于选择当前 URL 片段标识符指向的元素。 - UI 元素状态伪类: 例如
:enabled
、:disabled
、:checked
、:required
等,可以根据表单元素的状态进行选择。
2. 盒模型:
box-sizing
属性: 可以控制盒模型的计算方式,content-box
(默认) 和border-box
(边框和内边距包含在宽度和高度内)。border-radius
属性: 创建圆角边框。box-shadow
属性: 添加阴影效果。outline
属性: 绘制轮廓线,与边框不同,不影响元素的布局。- 多背景图:
background-image
、background-position
等属性支持多个值,可以设置多个背景图像。 background-size
属性: 控制背景图像的大小。background-clip
和background-origin
属性: 控制背景的绘制区域。
3. 文字排版:
text-shadow
属性: 添加文字阴影效果。word-wrap
属性: 控制单词换行。@font-face
规则: 允许使用自定义字体。
4. 2D/3D 转换:
transform
属性: 实现元素的旋转、缩放、倾斜、平移等 2D/3D 变换。transform-origin
属性: 设置变形原点。perspective
属性: 创建 3D 透视效果。backface-visibility
属性: 控制背面是否可见。
5. 动画和过渡:
transition
属性: 实现平滑的过渡效果。animation
属性: 创建复杂的动画效果。@keyframes
规则: 定义动画的关键帧。
6. 颜色:
- RGBA 和 HSLA 颜色值: 支持 Alpha 透明度通道。
opacity
属性: 设置元素的透明度。- 渐变:
linear-gradient()
、radial-gradient()
等函数可以创建各种渐变效果。
7. 其他:
- 多列布局:
column-count
、column-gap
等属性可以创建多列布局。 - 弹性盒模型 (Flexbox): 提供更灵活的布局方式。
- Grid 布局 (Grid): 强大的二维布局系统。
- 媒体查询: 根据不同的设备特性应用不同的样式。
这只是一些主要的 CSS3 特性,还有很多其他细节和更高级的用法。 建议查阅 MDN Web Docs 或其他权威资源获取更完整的信息。