CSS3
CSS3 是层叠样式表(CSS)的最新版本,在 CSS2 基础上新增大量特性,大幅扩展网页样式设计能力,涵盖精准选择器、灵活布局、丰富视觉效果与动态交互能力。
一、选择器增强
1. 新增选择器类型
选择器类型
示例
作用
属性选择器增强
a[href^="https"]
选择属性值以指定内容开头的元素
a[href$=".pdf"]
选择属性值以指定内容结尾的元素
div[class="item"]
选择属性值包含指定内容的元素
伪类选择器
li:nth-child(2)
选择父元素中第二个 <li> 元素
p:nth-of-type(odd)
选择同类型元素中的奇数项
:target
选择当前激活的锚点元素
2. 选择器组合使用
后代选择器article p(选择 article 内所有 `<p>
子选择器nav > ul(选择 nav 直接子元素 `<ul>
相邻兄弟选择器h1 + p(选择紧跟 `<h1> 后的 <p>
二、盒模型增强与布局新特性
1. 盒模型相关属性
box-sizing:控制元素尺寸计算方式
content-box(默认):仅计算内容宽度/高度
border-box:包含内容、内边距、边框(布局更易控制)
  1. .box {
  2. box-sizing: border-box;
  3. width: 200px;
  4. padding: 20px;
  5. border: 1px solid #000;
  6. /* 最终宽度仍为 200px */
  7. }
CSS
2. 新布局模型
(1)Flexbox 弹性布局
一维布局(水平/垂直),通过 display: flex 启用:
  1. .container {
  2. display: flex;
  3. justify-content: center; /* 主轴居中 */
  4. align-items: center; /* 交叉轴居中 */
  5. }
CSS
核心属性:justify-contentalign-itemsflex-directionflex-wrap
(2)Grid 网格布局
二维布局(行+列),精准划分页面区域:
  1. .grid-container {
  2. display: grid;
  3. grid-template-columns: 1fr 2fr 1fr; /* 三列,比例 1:2:1 */
  4. grid-template-rows: 100px auto; /* 两行,第一行 100px */
  5. gap: 20px; /* 网格间距 */
  6. }
CSS
核心属性:grid-template-columnsgrid-template-rowsgrid-rowgrid-column
三、文本效果与字体特性
1. 文本效果
  1. /* 文本阴影 */
  2. .text-shadow {
  3. text-shadow: 2px 2px 3px #ccc; /* 水平偏移、垂直偏移、模糊半径、颜色 */
  4. }

  5. /* 文本溢出省略 */
  6. .ellipsis {
  7. white-space: nowrap;
  8. overflow: hidden;
  9. text-overflow: ellipsis;
  10. }
CSS
其他属性:word-break(换行规则)、word-wrap(长单词换行)
2. 字体相关特性
(1)@font-face 自定义字体
  1. @font-face {
  2. font-family: 'MyCustomFont';
  3. src: url('font.woff2') format('woff2'),
  4. url('font.woff') format('woff');
  5. }

  6. body {
  7. font-family: 'MyCustomFont', sans-serif;
  8. }
CSS
(2)字体装饰增强
  1. .text-style {
  2. font-variant: small-caps; /* 小型大写字母 */
  3. text-decoration: underline wavy red; /* 波浪形红色下划线 */
  4. }
CSS
四、2D/3D 转换与动画效果
1. 2D 转换
  1. .transform-2d {
  2. /* 平移 */
  3. transform: translate(50px, 100px);
  4. /* 旋转 */
  5. transform: rotate(45deg);
  6. /* 缩放 */
  7. transform: scale(1.2);
  8. /* 倾斜 */
  9. transform: skew(10deg, 5deg);
  10. /* 组合使用 */
  11. transform: translate(20px) rotate(15deg) scale(0.9);
  12. }
CSS
2. 3D 转换
  1. .transform-3d {
  2. transform-style: preserve-3d; /* 开启 3D 空间 */
  3. transform: rotate3d(1, 1, 0, 45deg); /* x/y/z 轴旋转 45 度 */
  4. }
CSS
3. 动画效果(@keyframes)
  1. /* 定义关键帧 */
  2. @keyframes blink {
  3. 0% { opacity: 1; }
  4. 50% { opacity: 0; }
  5. 100% { opacity: 1; }
  6. }

  7. /* 应用动画 */
  8. .element {
  9. animation: blink 2s infinite ease-in-out;
  10. /* 动画名称 | 时长 | 循环 | 时间函数 */
  11. }
CSS
五、过渡效果(Transitions)
1. 基本用法
  1. .button {
  2. background: #007bff;
  3. /* 定义过渡 */
  4. transition: background 0.3s ease-in-out, transform 0.3s;
  5. }

  6. .button:hover {
  7. background: #0056b3;
  8. transform: scale(1.05);
  9. /* 属性变化时自动过渡 */
  10. }
CSS
2. 核心属性
transition-property:指定过渡的属性(如 all 表示所有属性)
transition-duration:过渡持续时间
transition-timing-function:过渡速度曲线(linear/ease/ease-in-out
transition-delay:延迟执行时间
总结
CSS3 核心升级:精准选择器、Flex/Grid 布局、自定义字体、2D/3D 转换、动画/过渡;
Flex 适合一维布局(如导航栏),Grid 适合复杂二维页面布局;
动画/过渡可实现无 JS 交互效果,提升用户体验,是现代网页设计的核心能力。
探索更多内容