CSS border 速查:边框、圆角、单边、虚线与常见效果(含 8 个示例)

整理 CSS border 的最常用写法:border 简写、单边边框、圆角(border-radius)、虚线/渐变、边框与盒模型(box-sizing),并给出卡片/分割线/按钮等 8 个可直接复用示例与避坑清单。

32 分钟阅读
CSS
CSS border 速查:边框、圆角、单边、虚线与常见效果(含 8 个示例)

border 看起来简单(“加个边框”),但新手经常被这些问题卡住:

  • 为什么加了 border 盒子变大了?
  • 怎么只加底边当分割线?
  • 虚线/圆角/发光边框怎么写最稳?

这篇文章把 border 的常用写法整理成“速查 + 示例”,你可以直接复制到项目里用。


border 最常用的简写(90% 场景够用)

border 简写顺序不强制,但通常按:宽度 → 样式 → 颜色。

.box {
  border: 1px solid #e5e7eb;
}
  • 宽度:1px / 2px / 0
  • 样式:solid / dashed / dotted / double
  • 颜色:任何合法颜色

你也可以拆开写:

.box {
  border-width: 1px;
  border-style: solid;
  border-color: #e5e7eb;
}

只加单边:做分割线、列表项边界

只要底边(最常见)

.item {
  border-bottom: 1px solid #e5e7eb;
}

只要左边(时间线/强调条)

.note {
  border-left: 4px solid #3b82f6;
  padding-left: 12px;
}

圆角 border-radius:让边框更“现代”

.card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

.pill {
  border-radius: 9999px;
}

如果你要“上方圆角、下方直角”:

.panel {
  border-radius: 12px 12px 0 0;
}

border 与盒模型:为什么 border 会把盒子撑大?

默认情况下(box-sizing: content-box),元素设置 width/height 指的是内容区;加了 padding/border 会把外观尺寸变大。

解决方式通常是:

* {
  box-sizing: border-box;
}

border-box 下,width 包含内容 + padding + border,布局会更稳定。


虚线/点线:让它更“均匀”

.divider {
  border-bottom: 1px dashed #d1d5db;
}

虚线想更细腻,通常需要:

  • 控制颜色对比(不要太深)
  • 控制宽度(1px 最稳)

如果你希望“更可控的虚线”,可以用背景渐变模拟,但那属于进阶玩法。


outline vs border:什么时候用 outline?

outline 不占空间,不会影响布局尺寸,常用于焦点可访问性样式:

.button:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}

如果你发现“加边框导致按钮跳动”,可以考虑用 outline 做交互态强调。


8 个常见效果示例(复制即用)

示例 1:卡片边框(基础)

.card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}

示例 2:卡片 hover 强调

.card:hover {
  border-color: #93c5fd;
}

示例 3:分割线(列表)

.list > li {
  border-bottom: 1px solid #f3f4f6;
}

.list > li:last-child {
  border-bottom: 0;
}

示例 4:强调条(左边)

.callout {
  border-left: 4px solid #22c55e;
  padding-left: 12px;
}

示例 5:圆角按钮边框

.btn {
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 10px 14px;
}

示例 6:头像描边(常见 UI)

.avatar {
  border: 2px solid #fff;
  border-radius: 9999px;
}

示例 7:输入框 focus 态

.input {
  border: 1px solid #d1d5db;
  border-radius: 10px;
}

.input:focus {
  border-color: #2563eb;
  outline: none;
}

示例 8:发光边框(适度使用)

.glow {
  border: 1px solid rgba(59, 130, 246, 0.6);
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
  border-radius: 12px;
}

常见问题(FAQ)

为什么 border 把盒子撑大?

默认 box-sizing: content-box 下,width 不包含 border/padding。建议全局使用 box-sizing: border-box

如何只给底边?

border-bottom: 1px solid ...,并对最后一项去掉底边。

边框和阴影有什么区别?

border 是明确的边界线;box-shadow 是阴影/发光效果,通常不占空间,视觉上更柔和。

怎么做“1px 细线”在高分屏更清晰?

一般 1px 已够用;如果追求极致,可以用 transform 缩放或背景渐变模拟,但成本更高。


下一步:把这些样式用到模板与页面里

  • 在线网页制作平台选型:/about-html/online-website-builder-platform
  • 可视化编辑器上手:/about-html/visual-html-editor-guide
  • 模板三条路径对比:/about-html/html-templates-comparison
  • 直接开始制作:/builder