CSS(层叠样式表)是前端开发的核心技术之一,用于控制网页的样式和布局。良好的 CSS 编写规范不仅能提高代码的可读性,还能增强团队协作效率。本文将详细介绍:
CSS 的语法由 选择器(Selector) 和 声明块(Declaration Block) 组成:
selector {
property: value;
property: value;
}
选择器用于指定要应用样式的 HTML 元素,常见的有:
div
、p
).container
)#header
)[type="text"]
):hover
、:nth-child()
)示例:
/* 元素选择器 */
p {
color: blue;
}
/* 类选择器 */
.button {
background: #f0f0f0;
}
/* ID 选择器 */
#main-content {
width: 80%;
}
/* 伪类选择器 */
a:hover {
text-decoration: underline;
}
声明块由 { }
包裹,每条声明由 属性(Property) 和 值(Value) 组成,以 :
分隔,并以 ;
结尾:
selector {
property1: value1; /* 声明1 */
property2: value2; /* 声明2 */
}
书写规范:
缩进:推荐 2 或 4 个空格(保持团队统一)
换行:单条声明可以写在一行,多条声明建议换行:
/* 推荐写法 */
.box {
width: 100px;
height: 100px;
background: red;
}
/* 不推荐(可读性差) */
.box { width: 100px; height: 100px; background: red; }
属性顺序(推荐):
display
、position
、float
)width
、height
、margin
、padding
)font
、color
、text-align
)background
、border
、box-shadow
)transition
、animation
)CSS 可以写在 3 个位置:
直接在 HTML 元素的 style
属性中编写:
<p style="color: red; font-size: 16px;">这是一段红色文字p>
适用场景:
缺点:
在 HTML 的 中使用
标签:
<head>
<style>
p {
color: blue;
}
.header {
background: #f0f0f0;
}
style>
head>
适用场景:
缺点:
将 CSS 写在单独的 .css
文件,并通过 引入:
<head>
<link rel="stylesheet" href="styles.css">
head>
styles.css:
body {
font-family: Arial;
}
.container {
max-width: 1200px;
}
优点:
最佳实践:
layout.css
、components.css
)Sass/Less 提供变量、嵌套、混合等功能,提高开发效率:
// 定义变量
$primary-color: #3498db;
// 嵌套写法
.nav {
ul {
margin: 0;
li {
display: inline-block;
}
}
}
// 混合(Mixin)
@mixin flex-center {
display: flex;
justify-content: center;
align-items: center;
}
.box {
@include flex-center;
}
BEM(Block-Element-Modifier)提高 CSS 可读性:
/* Block */
.card { ... }
/* Element */
.card__title { ... }
/* Modifier */
.card--dark { ... }
!important
!important
会破坏 CSS 层叠规则,应尽量避免:
/* 不推荐 */
.button {
color: red !important;
}
/* 推荐(提高选择器优先级) */
body .button {
color: red;
}
不同浏览器默认样式不同,使用 reset.css
或 normalize.css
统一基准样式。
要点 | 说明 |
---|---|
语法规范 | 选择器 + 声明块,合理缩进,属性顺序优化 |
书写位置 | 优先使用外部样式表,避免内联样式 |
最佳实践 | 使用预处理器、BEM 命名、避免 !important |
遵循良好的 CSS 规范,能让代码更易维护、团队协作更高效!