Loading
1667 字
8 分钟

CSS核心

2026-05-14
浏览量 加载中...
AI 摘要

CSS引入方式#

定义#

CSS(Cascading Style Sheet,层叠样式表)用于控制页面元素的样式。在 HTML 中引入 CSS 有三种方式。

语法/用法#

1. 行内样式(Inline)#

通过元素的 style 属性直接设置:

<span style="color: #b2b2b2; font-size: 14px;">发布时间</span>
2. 内部样式(Internal)#

<head> 中通过 <style> 标签定义:

<head>
<style>
.publish-date {
color: #b2b2b2;
font-size: 14px;
}
</style>
</head>
3. 外部样式(External)#

通过 <link> 标签引入独立的 .css 文件:

<head>
<link rel="stylesheet" href="css/news.css">
</head>

news.css 文件内容:

.publish-date {
color: #b2b2b2;
}

对比#

方式优点缺点使用情况
行内样式直接、优先级最高代码冗余、维护困难不常用(偶尔配合 JS)
内部样式当前页面集中管理无法跨页面复用小型页面、演示示例
外部样式HTML/CSS 完全分离、可复用额外 HTTP 请求企业开发常用方式

常见场景#

  • 外部样式:项目中所有页面的统一样式管理
  • 内部样式:单页面独立样式、快速原型
  • 行内样式:通过 JavaScript 动态设置的样式

注意事项#

  • 三种方式中,行内样式优先级最高(权重:行内 > 内部/外部,后者按选择器优先级和声明顺序决定)
  • 外部样式文件通常创建在 css/ 目录下
  • 企业开发中外部样式是标准做法,实现结构(HTML)与表现(CSS)的完全分离

CSS选择器#

定义#

CSS 选择器用于选取需要设置样式的 HTML 元素。根据业务场景的不同,选择器有多种类型。

语法/用法#

通用格式#
选择器名 {
属性名: 属性值;
属性名: 属性值;
}
常见选择器类型#
选择器语法示例说明
元素选择器tag {}a { color: red; }选取所有指定标签
类选择器.classname {}.publish-date { color: gray; }选取所有带指定 class 的元素
ID 选择器#idname {}#title { font-size: 24px; }选取带指定 id 的唯一元素
联合使用示例#
/* 元素选择器:取消所有超链接下划线 */
a {
text-decoration: none;
}
/* 类选择器:新闻发布时间 */
.publish-date {
color: #b2b2b2;
}
/* 类选择器:版心居中容器 */
.news-content {
width: 70%;
margin: 0 auto;
}

常见场景#

  • 全局样式使用元素选择器(如 bodyap
  • 组件化或可复用的样式使用类选择器
  • 页面中唯一元素使用 ID 选择器
  • 嵌套关系使用后代选择器(如 .header a

注意事项#

  • 类选择器(.)可以重复使用,一个元素可有多个 class
  • ID 选择器(#)在页面中应唯一,不可重复
  • 后台开发场景下重点掌握元素选择器、类选择器、ID 选择器即可满足大多数需求
  • CSS 选择器权重(优先级):id > class > 元素

CSS颜色表示#

定义#

CSS 中的颜色可以通过多种方式表示,用于设置文本颜色、背景色、边框色等。

语法/用法#

三种常见表示方式#
方式语法示例说明
颜色关键字color: 颜色名;color: gray;直接使用预定义颜色名称
十六进制color: #RRGGBB;color: #b2b2b2;最常用,6位十六进制数
RGBcolor: rgb(r, g, b);color: rgb(178, 178, 178);红绿蓝三通道 0-255
示例#
.text-gray {
color: #b2b2b2; /* 十六进制灰色 */
}
.text-white {
color: white; /* 关键字白色 */
}
.highlight {
color: rgb(216, 57, 49); /* RGB红色 */
}

常见场景#

  • 文本颜色:color 属性
  • 背景颜色:background-color 属性
  • 边框颜色:border-color 属性
  • 按钮、链接的多态颜色(正常、悬停、激活)

注意事项#

  • 十六进制颜色值中的字母不区分大小写(#B2B2B2 等价于 #b2b2b2
  • 十六进制颜色可简写:如 #fff 等价于 #ffffff#333 等价于 #333333
  • 拾取网页中已有颜色时,可使用截图软件的拾色器插件
  • CSS3 还支持 rgba()(带透明度)和 hsl() 等方式,但基础开发中十六进制最为常用

CSS文本样式#

定义#

CSS 文本样式用于控制页面中文字的显示效果,包括字体颜色、缩进、行高、下划线等。

语法/用法#

常用文本属性#
属性说明示例取值
color字体颜色color: #b2b2b2;颜色值
text-indent首行缩进text-indent: 2em;长度值(empx
line-height行高(行间距)line-height: 2;数值(倍数)或长度值
text-decoration文本装饰线text-decoration: none;none / underline / line-through
font-size字体大小font-size: 24px;长度值
font-weight字体粗细font-weight: bold;normal / bold / 数值
综合示例#
p {
text-indent: 2em; /* 首行缩进2个字符宽度 */
line-height: 2; /* 行高为字体大小的2倍 */
color: #333; /* 深灰色文字 */
}
a {
text-decoration: none; /* 去除超链接下划线 */
}

常见场景#

  • 新闻正文排版:段落首行缩进 + 行高
  • 超链接样式:去除默认下划线或添加悬停下划线
  • 标题样式:控制字号和粗细
  • 次要信息:使用灰色字体弱化视觉权重

注意事项#

  • em 是相对于当前字体大小的单位(1em = 当前字号),在 text-indent 中常用于中文缩进(2em ≈ 两个汉字宽度)
  • line-height 为纯数值时表示当前字体大小的倍数(推荐),为像素值时是固定高度
  • text-decoration: none 常用于去除 <a> 标签的默认下划线
  • 文本样式可继承:父元素设置的 colorfont-size 等会被子元素继承

div与span标签#

定义#

<div><span> 是无语义的布局标签,实际开发中大量用于页面结构和元素分组。

语法/用法#

<div class="container">
<span class="label">姓名:</span>
<span class="value">张三</span>
</div>

对比#

特性<div><span>
显示方式块级元素:独占一行行内元素:一行可显示多个
默认宽度父元素宽度的 100%由内容撑开
默认高度由内容撑开由内容撑开
可设置宽高可以(widthheight不可以
典型用途页面布局容器、区块划分行内文本分组、局部样式控制

常见场景#

  • <div>:页面整体容器、顶栏、侧边栏、卡片容器、页脚等布局区块
  • <span>:行内文字某部分的样式控制、表单标签的文本分组
  • <div> 嵌套 <div>:构建复杂的页面布局结构

盒模型相关#

<div> 作为典型的块级容器,是 CSS 盒模型的主要应用对象。通过控制其 widthheightpaddingbordermargin 实现精确的布局效果。

注意事项#

  • <div><span> 本身没有语义,不传递任何内容含义,避免滥用——应优先使用语义化标签(<header><footer><section><article> 等)
  • 需要将行内元素改为块级元素时,可用 CSS display: block;
  • 需要将块级元素改为行内元素时,可用 CSS display: inline;

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
CSS核心
https://blog.tsh520.cn/posts/javawebai/前端基础/css核心/
作者
团子和蛋糕
发布于
2026-05-14
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-05-14,距今已过 37 天

部分内容可能已过时

评论区

[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:00 0:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
我和宝宝在一起已经
---------TSH CXY---------
---------TSH
CXY---------
0 0 0
00 00 00
最近更新
站点统计
文章
84
动态
20
记录次数
89
分类
6
标签
78
总字数
94,329
运行时长
0
最后活动
0 天前