本节代码

CSS 边框

边框属性

border-style 边框样式

border-style 用于定义边框的样式。

属性值 说明
none 无边框。默认值
solid 实线边框
dashed 虚线边框
dotted 点状虚线边框
double 双线边框。两条单线与边框间隔的距离等于边框的宽度
groove 凹槽边框。阴影效果
ridge 垄状边框。高光效果
inset 内嵌边框。使内容出现在页面背景内
outset 外凸边框。使内容从页面背景外凸出
border-style: solid; /* 实线边框 */

border-style: dotted; /* 点状边框 */

border-style: outset; /* 使内容凸出 */

border-width 边框宽度

属性值 说明
length 像素值或其他长度单位,如 10px
thin 细边框
medium 中等宽度,默认值
thick 粗边框
border-width: 5px; /* 固定宽度 5px */

border-width: thin; /* 细边框 */

border-width: thick medium thin; /* 设置上、右、下三个边框的宽度 */

border-color 边框颜色

属性值 说明
color 指定颜色名称如 redgreen,或十六进制、rgb 值
transparent 设置为透明色
border-color: red; /* 红色边框 */

border-color: #ff0000; /* 十六进制红色 */

border-color: rgb(255, 0, 0); /* rgb 红色 */

border-color: transparent; /* 透明边框 */

border-color: red green blue yellow; /* 设置四个边框颜色 */

border 简写属性

边框的背景图

CSS 中可以通过 border-image 属性来为边框添加背景图像,主要包含以下几个子属性:

border-image-source 边框图像源属性

属性值 说明
none 不使用图像,默认值
image 图像的 URL 路径
linear-gradient 线性渐变
radial-gradient 径向渐变
border-image-source: none; /* 无图像 */

border-image-source: url(border.png); /* 指定 png 图片 */

border-image-source: linear-gradient(red, blue); /* 线性渐变 */

border-image-source: radial-gradient(circle, red, yellow, green); /* 径向渐变 */

border-image-slice 边框图像切片属性

属性值 说明
number 可以是 1-4 个数字,分别表示各边切割的偏移量
percentage 可以是 1-4 个百分比,相对于图片大小计算偏移量
fill 将图片延伸到足够大以填充区域
/* 四个值分别表示上、右、下、左的切割位置 */
border-image-slice: 10px 20% 30px 5%;

/* 单个值表示四边使用同一偏移量 */
border-image-slice: 15%;

/* 使用 fill 延伸图片填充 */
border-image-slice: 10px fill;

border-image-width 边框图像宽度属性

属性值 说明
length 固定长度值,如 10px
percentage 相对于边框宽度的百分比,如 50%
number 表示 border-image-slice 中对应位置的分割标记值
auto 表示相应的 border-width
border-image-width: 10px; /* 固定宽度 */

border-image-width: 50%; /* 相对于边框宽度的百分比 */

border-image-width: 1; /* 使用 border-image-slice 中的第 1 个标记值 */

border-image-width: auto; /* 使用 border-width 作为图片边框宽度 */

border-image-repeat 边框图像重复属性

属性值 说明
stretch 拉伸图片来填充边框区域 (默认值)
repeat 平铺图片来填充边框区域
round 平铺图片来填充边框区域,图像尺寸可被边框长度整除时才会用一次图片填充
space 平铺图片来填充边框区域,在图像与边界之间插入空白间距
border-image-repeat: stretch; /* 默认值,拉伸图像 */

border-image-repeat: repeat; /* 平铺图像 */

border-image-repeat: round; /* 平铺,且只完整显示图像 */

border-image-repeat: space; /* 在图像之间添加空白间距平铺 */

border-image-outset 边框图像外延属性

属性值 说明
length 像素值,可以为 1 到 4 个值,代表四个方向的偏移量
number 使用边框背景图的边框宽度值
/* 四个方向偏移 10px */
border-image-outset: 10px 10px 10px 10px;

/* 上下偏移 5px,左右偏移 10px */
border-image-outset: 5px 10px;

/* 使用图片边框的宽度值 */
border-image-outset: 1;

background-image 背景图像属性

边框衔接

在 CSS 中,你可以使用边框衔接(border triangle)技巧来创建各种三角形形状,例如向上、向下、向左、向右的三角形。这是通过利用边框和透明边框颜色的组合来实现的。

向上的三角形

要创建一个向上的三角形,你可以设置一个带有透明边框颜色的元素,然后隐藏上、左和右边框,只显示下边框。这会使元素的上、左和右边框看起来透明,只留下底部边框形成三角形。

.triangle-up {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-bottom: 20px solid red;
}

向下的三角形

创建一个向下的三角形与向上的三角形相似,但这次只显示上边框,隐藏左、右和下边框。

.triangle-down {
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid blue;
}

向左的三角形

要创建一个向左的三角形,隐藏上、下和右边框,只显示左边框。

.triangle-left {
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-right: 20px solid green;
}

向右的三角形

创建一个向右的三角形与向左的三角形相似,但这次只显示右边框,隐藏上、下和左边框。

.triangle-right {
  width: 0;
  height: 0;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid orange;
}