CSS 常用语法详解

CSS 常用语法详解

CSS(Cascading Style Sheets,层叠样式表)用来给 HTML 页面设置样式:颜色、大小、布局、间距等。

核心语法结构:选择器 { 属性: 值; 属性: 值; }

一、基础语法格式

复制代码
选择器 {
  属性名: 属性值;
  属性名: 属性值;
}

示例:

复制代码
p {
  color: red;        /* 文字颜色:红色 */
  font-size: 16px;   /* 字体大小:16像素 */
}
  • p选择器 ,选中页面里所有 <p> 标签
  • color属性,要修改的样式项
  • red属性值,属性对应的参数
  • ;:每条样式结束符,最后一条可以省略,建议都写上
  • /* 注释内容 */:CSS注释,不会被浏览器解析

二、CSS 三种引入方式

1. 外部样式表(推荐,项目常用)

单独 .css 文件,HTML 通过 <link> 引入

复制代码
<link rel="stylesheet" href="style.css">

2. 内部样式表(写在HTML页面内)

放在 <head><style> 标签中

复制代码
<style>
  div { margin: 10px; }
</style>

3. 行内样式(优先级最高,不推荐大量使用)

直接写在标签 style 属性

复制代码
<div style="color:blue;">文字</div>

优先级(从高到低):行内样式 > ID选择器 > 类选择器 > 标签选择器

三、常用选择器(重点)

1. 标签选择器

直接写标签名,选中页面所有该标签

复制代码
div { background: #eee; }

2. 类选择器 .

. 开头,给标签加 class一个标签可以多个class

复制代码
.box { width: 200px; }

<div class="box"></div>

3. ID选择器 #

# 开头,对应标签 id一个页面id唯一

复制代码
#header { height: 60px; }

<div id="header"></div>

4. 通配符选择器 *

选中页面所有元素,常用于初始化样式(重置margin/padding)

复制代码
* { margin: 0; padding: 0; box-sizing: border-box; }

5. 后代选择器(空格分隔)

选中父元素内部所有后代元素

复制代码
ul li { color: #333; }

6. 子代选择器 >

只选中直接子元素,不包含孙子元素

复制代码
.wrap > p { font-weight: bold; }

7. 并集选择器 ,

多个选择器共用一套样式,逗号分隔

复制代码
h1,h2,h3 { font-family: "Microsoft Yahei"; }

四、高频常用属性

1. 文字相关

复制代码
color: #333;                /* 文字颜色,支持单词/十六进制/rgb */
font-size: 14px;            /* 字体大小 */
font-family: "微软雅黑";     /* 字体 */
font-weight: bold;          /* 字重:bold加粗 / normal正常 */
text-align: center;         /* 文本对齐 left / center / right */
line-height: 1.5;           /* 行高,设置文字垂直居中常用 */
text-decoration: none;      /* 文字下划线 none去掉下划线,underline添加 */

2. 盒子模型(CSS核心)

盒子四部分:content内容区padding内边距border边框margin外边距

复制代码
width: 300px;
height: 200px;
padding: 10px;              /* 内边距:内容和边框之间距离 */
border: 1px solid #ccc;     /* 边框:粗细 样式 颜色 */
margin: 20px;               /* 外边距:盒子和其他盒子距离 */
box-sizing: border-box;     /* 边框盒:width包含border+padding,开发必加 */

简写规则(顺时针:上 右 下 左)

复制代码
margin: 10px 20px;          /* 上下10,左右20 */
margin: 10px 20px 30px;     /* 上10,左右20,下30 */

3. 背景

复制代码
background-color: #f5f5f5;  /* 背景色 */
background-image: url("bg.jpg"); /* 背景图片 */
background-repeat: no-repeat;/* 是否平铺 no-repeat不平铺 */
background-position: center;/* 背景图位置 */
background-size: cover;     /* 覆盖容器,图片可能裁切 */

4. 显示与隐藏

复制代码
display: block;    /* 块级元素,独占一行,可设宽高 */
display: inline;   /* 行内元素,不能设置宽高 */
display: inline-block;/* 行内块,同行显示,可设宽高 */
display: none;     /* 元素完全隐藏,不占页面空间 */

visibility: hidden;/* 隐藏元素,保留原来占位空间 */

5. 浮动 float(老布局,现在优先flex)

复制代码
float: left; /* 元素向左浮动,脱离文档流 */
clear: both; /* 清除浮动 */

6. Flex 弹性布局(现代布局首选)

给父容器设置 display:flex,子元素自动变成弹性项目

复制代码
.flex-box {
  display: flex;
  justify-content: center; /* 水平方向:center居中 / space-between两端对齐 */
  align-items: center;     /* 垂直方向居中 */
  gap: 10px;               /* 子元素之间间距 */
}

7. 定位 position

复制代码
position: static;   /* 默认,正常文档流 */
position: relative;  /* 相对定位,相对于自身原来位置,占位保留 */
position: absolute;  /* 绝对定位,相对于最近非static父元素,脱离文档流 */
position: fixed;     /* 固定定位,相对于浏览器窗口,滚动页面位置不变 */
top: 0;
left: 0;

五、单位

  • px:像素,固定尺寸
  • %:百分比,相对于父元素
  • rem:相对于根标签(html)字体大小,移动端适配常用
  • em:相对于当前元素字体大小
  • vw/vh:视口单位,1vw = 视口宽度1%

六、层叠(Cascade)& 权重

样式冲突时,浏览器按权重计算:

  • 行内样式:1000
  • ID选择器:100
  • 类/伪类:10
  • 标签选择器:1
  • 通配符:0

!important 权重最高,慎用

复制代码
div { color: red !important; }

七、伪类、伪元素

伪类:元素状态:

复制代码
a:hover { color: orange; } /* 鼠标悬浮 */

伪元素:创建虚拟元素,::

复制代码
p::before { content: "★"; } /* 在p前面插入内容 */
相关推荐
Eric_见嘉2 小时前
打开这个 VSC 设置「组件引用位置」和数量就都清楚了
前端·typescript·visual studio code
李高钢2 小时前
Python Tornado 框架入门:从零搭建你的第一个异步 Web 应用
前端·python·tornado
宁风2 小时前
JavaScript:函数体系-1
前端·javascript
mmsx2 小时前
Android 手簿 ADB 无线调试全攻略:USB 转 WiFi 一键连接
android·前端
guwentian2 小时前
Rolldown vs esbuild vs Webpack:Rust 打包器大战我们该怎么选
前端·webpack·rust·esbuild
特立独行的猫A3 小时前
用纯 Rust 重写 Podcastfy:把网页、PDF 和一段文字,变成一档双人对话播客
前端
oooo_z3 小时前
美股历史K线数据API接口选型指南:iTick覆盖1分钟到月线全周期
服务器·前端·javascript
今日无bug3 小时前
从 0 到 1 搭建端侧 AI 项目:DeepSeek-R1 + WebGPU + React + TS + Tailwind 全栈笔记
前端·react.js·typescript
mmsx3 小时前
MapLibre 实战 08|GPS 点漂了几百米才被发现:GCJ-02 纠偏原理与"转两次"陷阱
android·前端