科学上网 · 深度评测

前端开发必备:最常用 CSS 代码大全与速查手册(从基础样式到现代布局实战)

你是否也经历过这样的抓狂时刻:一个简单的文字居中调试了半小时,改了一个 margin 整个页面瞬间错位塌陷,或者在不同屏幕上背景图总是裁切变形?

CSS 看似语法直观,但属性繁多、规则琐碎,死记硬背往往事倍功半。作为网页开发与日常建站最核心的基础,只要吃透核心的 20% 高频属性与经典布局模型,就能解决 80% 以上的前端排版难题。本文将这份经典的「CSS 核心代码速查手册」全面翻新,按模块结构化梳理,建议收藏备查。

一、 字体与文本排版属性(Typography)

文本排版是网页可读性的基石。掌握字体、行高与字间距的控制,能瞬间提升网站的视觉质感。

1. 字体核心控制(Font)

CODE
/* 字体族设置:优先加载系统无衬线字体,回退兜底 */
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;

/* 字号与粗细 */
font-size: 16px;          /* 推荐使用 rem 或 px:16px / 1rem 为基准 */
font-weight: 600;         /* 粗细:100-900,normal(400), bold(700) */
font-style: italic;       /* 斜体:normal(正常) | italic(斜体) | oblique(倾斜) */
line-height: 1.6;         /* 行高:推荐使用无单位倍数(如 1.5 ~ 1.8),自适应字号 */

/* 字体简写规范:style weight size/line-height family */
font: italic 700 16px/1.6 "Microsoft YaHei", sans-serif;

2. 文本对齐与修饰(Text)

CSS
color: #333333;             /* 文本颜色 */
text-align: center;         /* 水平对齐:left | center | right | justify(两端对齐) */
text-indent: 2em;           /* 首行缩进:中文段落常用 2em(两个字符宽度) */
letter-spacing: 0.5px;      /* 字符间距(中文/英文字符间隔) */
word-spacing: 2px;          /* 单词间距(仅对英文空格间隔生效) */

/* 文本装饰线 */
text-decoration: none;      /* 清除超链接默认下划线 */
/* text-decoration: underline | line-through(删除线) | overline(上划线) */

/* 英文大小写转换 */
text-transform: capitalize; /* 首字母大写:uppercase(全大写) | lowercase(全小写) */

3. 高频实战:单行与多行文本超出省略

CODE
/* 单行文本溢出显示省略号(...) */
.ellipsis-single {
  white-space: nowrap;      /* 强制不换行 */
  overflow: hidden;         /* 超出裁剪 */
  text-overflow: ellipsis;  /* 溢出部分显示省略号 */
}

/* 多行文本超出截断(以 2 行为例) */
.ellipsis-multi {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;    /* 限制显示行数 */
  overflow: hidden;
}

二、 背景与边框属性(Background & Border)

1. 背景控制(Background)

CODE
background-color: #f8fafc;                          /* 背景色 */
background-image: url('/assets/images/banner.webp'); /* 背景图片 */
background-repeat: no-repeat;                       /* 重复方式:repeat | repeat-x | repeat-y | no-repeat */
background-position: center center;                /* 背景位置:水平 垂直 (left / center / right / 像素值) */
background-size: cover;                             /* 背景尺寸:cover(铺满等比裁剪) | contain(完整显示) | 100% 100% */
background-attachment: fixed;                       /* 背景附着:scroll(随页面滚动) | fixed(视口固定背景视差) */

/* 常用背景复合写法 */
background: #0f172a url('/bg.png') no-repeat center center / cover;

2. 边框与圆角(Border & Radius)

CODE
/* 边框基础属性:宽度 样式 颜色 */
border: 1px solid #e2e8f0;      /* 实线边框:solid | dashed(虚线) | dotted(点线) | double(双线) */
border-bottom: 2px solid #3b82f6; /* 单侧边框 */

/* 圆角设置 */
border-radius: 8px;              /* 全局圆角 */
border-radius: 12px 12px 0 0;    /* 分离设置:左上 右上 右下 左下 */
border-radius: 50%;              /* 正方形变正圆,矩形变胶囊形 */

/* 盒子阴影(X偏移 Y偏移 模糊半径 扩展半径 颜色) */
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.05);

三、 盒模型与空间间距(Box Model)

深入理解盒模型是解决页面错位与滚动条莫名出现的核心钥匙。

CODE
/* 【必加全局重置】:让元素的 width/height 包含 padding 和 border */
*, *::before, *::after {
  box-sizing: border-box;
}

/* 宽高设定 */
width: 100%;
max-width: 1200px;              /* 限制内容最大宽度,防止大屏过散 */
min-height: 100vh;              /* 铺满至少一个视口高度 */

/* 外边距(Margin)与内边距(Padding)顺时针规则:上 右 下 左 */
margin: 20px;                   /* 上下左右全为 20px */
margin: 10px 20px;              /* 上下 10px,左右 20px */
margin: 10px 20px 15px;         /* 上 10px,左右 20px,下 15px */
margin: 10px 20px 15px 5px;     /* 上 10px,右 20px,下 15px,左 5px */

/* 块级元素水平居中 */
margin-left: auto;
margin-right: auto;             /* 简写:margin: 0 auto; */

四、 页面布局与现代排版(Flexbox & Grid)

传统浮动(float)与清除浮动(clear: both)已被现代布局模型全面取代。

1. 弹性盒布局(Flexbox —— 一维流式排版利器)

CODE
.flex-container {
  display: flex;
  flex-direction: row;          /* 主轴方向:row(横向) | column(纵向) */
  justify-content: space-between; /* 主轴对齐:flex-start | center | flex-end | space-between | space-around */
  align-items: center;          /* 交叉轴对齐:stretch | center | flex-start | flex-end */
  flex-wrap: wrap;              /* 是否自动换行:nowrap | wrap */
  gap: 16px;                    /* 子项间距(行列统一) */
}

/* 终极居中方案(子元素完美水平垂直居中) */
.perfect-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 弹性子项比例 */
.flex-item {
  flex: 1;                      /* 占满剩余空间(等同于 flex: 1 1 0%) */
}

2. 网格布局(CSS Grid —— 二维规则网格利器)

CODE
.grid-container {
  display: grid;
  /* 响应式自适应多列:自动根据最小 280px 宽度铺满,无需媒体查询 */
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

五、 元素定位与层级控制(Position & Z-Index)

CODE
/* 1. 相对定位:不脱离文档流,以自身原位置为基准偏移 */
.relative-box {
  position: relative;
  top: 5px;
  left: 10px;
}

/* 2. 绝对定位:脱离文档流,相对于最近的非 static 祖先元素定位 */
.absolute-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 配合 transform 实现未知宽高的绝对居中 */
  z-index: 10;                     /* 层叠层级:数值越大显示在越上层 */
}

/* 3. 固定定位:脱离文档流,始终相对于浏览器视口定位(常用顶部导航/回到顶部按钮) */
.fixed-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

/* 4. 粘性定位:滚动到特定阈值前为 relative,到达阈值后表现为 fixed(吸顶栏常用) */
.sticky-nav {
  position: sticky;
  top: 0;
  z-index: 100;
}

六、 常用生产级 CSS 代码片段汇总

需求场景

推荐代码方案

重置默认列表样式

ul, ol { list-style: none; padding: 0; margin: 0; }

平滑滚动体验

html { scroll-behavior: smooth; }

隐藏元素但保留占位

visibility: hidden;

隐藏元素且彻底移除占位

display: none;

仅对屏幕阅读器可见(SEO优化)

clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px;

防图片溢出容器

img { max-width: 100%; height: auto; display: block; }

禁用鼠标交互事件

pointer-events: none;

结语:如何高效写出干净、易维护的 CSS?

写好 CSS 不在于记住多少冷门属性,而在于建立系统化与模块化的排版思维:

  1. 全局统筹:先定全局字体族、主题色变量与 box-sizing: border-box 重置。
  2. 结构优先:外层骨架优先选用 Flexbox 或 Grid 构建响应式框架,减少死宽高(width: 800px)的使用。
  3. 空间一致:间距(Padding/Margin)使用固定步长(如 4px、8px、16px、24px 等),保证页面视觉节奏统一。

把这份速查手册加入收藏夹,日常开发遇到样式细节卡点随时翻看,即可快速解决各类网页排版需求。