border必须同时指定width、style、color才生效;letter-spacing控制字符额外间距,不继承;line-height和padding共同决定文字与边框距离;flex的align-items比line-height更可靠实现垂直居中。
直接写 border: 1px solid #000 是有效的,但只写 border-width: 1px 或 border-color: #333 不会显示边框——因为 CSS 要求 border-style(如 solid、dashed)必须显式声明,否则边框默认为 none。
常见错误现象:元素加了 border-width 和 border-color 却没边框,就是漏了 border-style。
border: 2px solid #e0e0e0(简洁且无遗漏)border-width: 1px; border-style: solid; border-color: #999
border-image 会覆盖 border-style,调试时可先注释掉它letter-spacing 影响的是字符之间的**额外间距**,不是字体本身的字宽。它的单位支持 px、em、rem,也接受 normal(等价于 0)。
使用场景包括:标题微调、中英混排对齐、按钮文字紧凑化。
letter-spacing: 4px),易导致断词错乱letter-spacing: -0.5px)可用于收紧过松的字体,但不要低于 -1px,否则部分浏览器渲染模糊h2 {
letter-spacing: 1px;
}
button {
letter-spacing:
-0.2px;
}用户常把“文字离上边框太近”归咎于边框设置,其实真正起作用的是 line-height(控制行高)和 padding(控制内边距)。这两者叠加才决定文字到边框的视觉距离。
line-height:影响文字基线位置,数值过小(如 line-height: 1)会让文字紧贴上下边;建议用无单位值(如 1.4),避免继承混乱padding:直接撑开内容区,比如 padding: 12px 16px 让文字离左右边框 16px,离上下边框 12pxbox-sizing: border-box,padding 不会撑大元素总宽高;若用默认 content-box,则会当容器有边框且需文字垂直居中时,仅设 line-height 等于容器高度在多行文本或响应式场景下会失效。
更可靠的方式是用 Flex:
.card {
border: 1px solid #ddd;
padding: 16px;
display: flex;
align-items: center; /* 垂直居中 */
min-height: 80px;
}align-items: center 对单行/多行都稳定margin 或 line-height,优先清空再测效果line-height + text-align: center 单行方案实际排版中,border 和 letter-spacing 很少单独出问题,真正难调的是它们跟 line-height、font-size、box-sizing 的组合效果——尤其是跨字体、跨设备时,像素级偏差往往来自这些隐性叠加。