首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Web - CSS3基础语法与盒模型

Web - CSS3基础语法与盒模型

原创
作者头像
stark张宇
发布于 2025-02-02 11:25:20
发布于 2025-02-02 11:25:20
3690
举报
文章被收录于专栏:stark张宇stark张宇

概述

这篇文章是关于 Web 前端 CSS3 的基础语法与盒模型的讲解。包括 CSS3 层叠性及处理冲突规则、伪元素和新增伪类元素、属性选择器等。还介绍了文本与字体属性,如段落和行相关属性、字体文本属性。最后阐述了盒子模型,如元素隐藏、行内与块元素转换、盒子构成及相关属性等。

css3 层叠样式表

css全名叫做层叠样式表,层叠性是它很重要的性质,多个选择器可以同时作用于同一个标签,效果叠加。

css有严密的处理冲突的规则:ID权重 > Class权重 > 标签权重,复杂选择器可以通过个数的形式,计算权重:

项目

权重值

ID

2

Class

1

Tag

0

伪元素

1、::before 和::after

在被选元素的内容前面或后面插入额外的内容,常用来添加一些装饰性的元素或实现特定的布局效果。

代码语言:css
AI代码解释
复制
p::before {
  content: "▶";
  color: blue;
  margin-right: 5px;
}

p::after {
  content: "◀";
  color: green;
  margin-left: 5px;
}

2、::first-letter

用于选择并设置文本块中第一个字母的样式,可实现首字下沉等效果。

代码语言:css
AI代码解释
复制
p::first-letter {
  font-size: 2em;
  color: red;
  float: left;
  margin-right: 5px;
}

3、::first-line

用来选择并设置文本块中第一行的样式,比如可以改变第一行文本的字体、颜色、背景等。

代码语言:css
AI代码解释
复制
p::first-line {
  font-weight: bold;
  color: purple;
}

4、::selection

用于设置用户选中页面元素时的样式,包括文字选中时的背景色和文字颜色等。

代码语言:css
AI代码解释
复制
p::selection {
  background-color: yellow;
  color: black;
}

5、::placeholder

用于设置表单输入框中占位文本的样式,可调整占位文本的颜色、字体等。

代码语言:css
AI代码解释
复制
input::placeholder {
  color: gray;
  font-style: italic;
}

6、::marker

主要用于设置列表项标记(如项目符号或数字)的样式。

代码语言:css
AI代码解释
复制
ul li::marker {
  color: red;
  font-size: 1.2em;
}
新增伪类元素

1、:empty 选择空标签

2、:focus 选择当前获得焦点的表单元素

3、:enabled 和 :disabled 分别匹配可使用(启用)和不可使用(禁用)的表单元素。

4、:checked 匹配被选中的表单元素,如复选框、单选框。

5、root 选择根元素,即<html>标签

属性选择器

举例

意义

imgalt

选择有alt属性的img标签

imgalt="故宫"

选择有alt属性是故宫的img标签

imgalt^="北京"

选择有alt属性是北京开头的img标签

imgalt$="夜景"

选择有alt属性是夜景结尾的img标签

imgalt*="美"

选择有alt属性中含有美的img标签

imgalt~="手机拍摄"

选择有alt属性中有空格隔开的手机拍摄字样的img标签

img[alt

="参赛作品"]

选择有alt属性以参赛作品开头的img标签

序号选择器

举例

意义

:first-child

选择父元素的第一个子元素

:last-child

选择父元素的最后一个子元素

:nth-child(n)

第n个子元素

:nth-of-type(n)

选择父元素下指定类型的第n个元素,只针对指定类型的元素进行计数和选择,而不会考虑其他类型的元素

:nth-last-child(n)]

从父元素的最后一个子元素开始计数,选择第n个元素

:nth-last-of-type(n)

从父元素的最后一个指定类型的子元素开始计数,选择第n个元素

元素关系选择器

名称

举例

意义

子选择器

div > p

div的子标签p

相邻兄弟选择器

img+p

图片后面紧跟着的将被选中

通用兄弟选择器

p~span

p元素之后的所有同层级span元素

文本与字体属性

文本相关的属性普遍具有继承性,只需要给祖先标签设置,即可在后代所有标签中生效。因为文字相关属性有继承性,所以通常会设置body标签的字号、颜色、行高等,这样就能当做整个网页的默认样式了。

继承性有一个重要的原则:就近原则,在继承的情况下,选择器权重计算失效,而是就近原则。

段落和行相关属性

1、text-indent

设置段落首行的缩进,可以使用长度值(如px、em、rem等)或百分比来指定缩进量。

代码语言:css
AI代码解释
复制
p { text-indent: 2em; }

2、line-height

设置段落行与行之间的垂直间距,即行高。可以是数字、长度值或百分比。数字表示相对于字体大小的倍数;长度值直接指定行高的具体尺寸;百分比是相对于字体大小的比例。

代码语言:css
AI代码解释
复制
p { line-height: 1.5; }

3、text-align

设置段落文本的水平对齐方式,left(左对齐)、right(右对齐)、center(居中对齐)、justify(两端对齐)等。

代码语言:css
AI代码解释
复制
p { text-align: center; }

4、letter-spacing

设置字符之间的水平间距,长度值,正值会增加字符间距,负值会减小字符间距。

代码语言:css
AI代码解释
复制
p { letter-spacing: 2px; }

5、word-spacing

设置单词之间的水平间距,长度值,用于调整单词之间的间隔距离。

代码语言:css
AI代码解释
复制
p { word-spacing: 5px; }
字体文本属性

1、font-family

指定文本使用的字体族。可以设置多个字体,按优先级排列,浏览器会依次尝试使用这些字体,直到找到可用的字体。

代码语言:css
AI代码解释
复制
p {
    font-family: "微软雅黑", Arial, sans-serif;
}

2、font-size

设置字体的大小。可以使用多种单位,如 px(像素)、em 、rem、% 等,网页文字正文字号通常是16px,浏览器最小支持10px字号。

3. font-weight

设置字体的粗细程度。常见取值有 normal(正常粗细)、bold(粗体),还可以使用数字值,范围从 100 - 900,数字越大字体越粗。

代码语言:css
AI代码解释
复制
strong {
    font-weight: bold;
}
span {
    font-weight: 600;
}

4、font-style

设置字体的样式,主要用于指定文本是否为斜体。取值有 normal(正常样式)、italic(斜体)。

5、text-decoration

text-decoration属性用于设置文本的修饰线外观的(下划线、删除线)

代码语言:css
AI代码解释
复制
p.red-underline {
    text-decoration-line: underline;
    text-decoration-color: red;
}

盒子模型

在 CSS3 中,有多种方法可以隐藏元素,每种方法都有其特点和适用场景:

元素的隐藏

1、display

该属性值会让元素完全从文档流中移除,就好像这个元素在 HTML 文档中不存在一样。它不会占据页面的空间,也不会响应任何用户交互事件。

代码语言:css
AI代码解释
复制
.hidden-element {
    display: none;
}

2、visibility

元素虽然在页面上不可见,但它仍然占据原来的空间,并且保留其布局位置。也就是说,它会影响页面的布局,但不会显示内容,同时也不会响应鼠标事件等交互操作。

行内元素和块元素的相互转换

在 CSS3 中,可以使用display属性来实现行内元素和块元素的相互转换。

1、行内元素转换为块元素

代码语言:css
AI代码解释
复制
span {
  display: block;
}

2、块元素转换为行内元素

块元素如<div><p>等,默认会独占一行。若要将块元素转换为行内元素,需将display属性值设置为inline。

代码语言:css
AI代码解释
复制
div {
  display: inline;
}

3、转换为行内块元素

还有一种常见的情况是将元素转换为行内块元素,即display属性值设置为inline-block。这种方式结合了行内元素和块元素的部分特点,元素既可以在一行内显示,又可以设置宽度、高度等块级元素的属性。

代码语言:css
AI代码解释
复制
p {
  display: inline-block;
}
盒子模型

所有的html标签都可以看成柜型盒子,由width、height、padding、border构成,成为盒模型。

需要注意的是:++width、height不是盒子的总宽高,盒子的总宽度 = width + 左右padding + 左右border,盒子的总高度 = height + 上下padding + 上下border++

1、box-sizing

在 CSS3 中,box-sizing 属性用于定义元素在计算宽度和高度时所采用的盒模型类型,它可以改变元素的宽度和高度的计算方式。

2、margin

margin是盒子的外边距,即盒子其他盒子的距离,竖直方向的margin有塌陷现象:小的margin会塌陷到大的margin中,从而margin不叠加,只以大值为准。

一些元素比如body、ul、p,都有默认的margin,在开始制作网页的时候,要将他们清除。

盒子的水平居中,将盒子的左右两边的margin都设置成auto,盒子将水平居中。盒子的垂直居中,需要使用绝对定位技术实现。

3、padding

padding是盒子的内边距,即盒子边框内壁到文字的距离

4、width属性

width属性表示盒子内容的宽度,单位属性通常是px,移动端开发也会涉及百分数、rem等单位。

当块级元素div、h、li等没有设置width属性时,它将自动撑满,但这不意味着width属性可以继承。

5、height属性

height属性表示盒子的内容高度,height属性的单位通常是px,移动端开发也会涉及到百分数、rem等单位。

盒子的height属性如果不设置,它将自动被其内容撑开,如果没有内容,则height默认是0。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CSS基本知识点——带你走进CSS的新世界
我们在学习HTML之后,前端三件套第二件便是CSS,但CSS内容较多,我们分几部分讲解:
秋落雨微凉
2022/10/25
9180
『知识巩固#1』Html、Css基础整理
Html 标签学习 排版标签 标题 h1、h2、h3、h4、h5、h6只有这六个 段落标签 p标签 段落之间有空隙换行 换行标签 br 空换行 hr 下划线换行 文本格式化标签 根据语境区分 b、strong 加粗 u、ins 下划线 i、em 倾斜 s、del 删除线 媒体标签 图片标签img 属性名、属性值 alt属性值作为替换文本、src属性作为图片链接、title属性在鼠标悬停时显示 width、height 很容易理解,控制图片宽高 路径 相对路径 绝对
客怎眠qvq
2022/11/01
4.5K0
『知识巩固#1』Html、Css基础整理
CSS、CSS3知识点清单
4、背景 /设置背景图片 此处是网络路径,引用网络上面的图片/ background-image: url(“http://img30.360buyimg.com/da/jfs/t22399/154/765213112/96035/f94f9605/5b17512dN2de9d722.jpg”);
时间静止不是简史
2020/07/27
6760
CSS、CSS3知识点清单
【黑马程序员pink名师讲CSS】学好CSS有这一篇就够了(CSS笔记)
HTML作用单纯,只关注语义,比如< h1>是一级标题,< p>是一个段落,他不愿意去美化修饰,因为写起来麻烦,只能一行一行的修改。
MicroFrank
2023/01/16
2.7K0
CSS 入门指南(一):基本概念 & 选择器 & 常用元素属性
层叠样式表(Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容)
IsLand1314
2025/03/11
6630
CSS 入门指南(一):基本概念 & 选择器 & 常用元素属性
【JavaEE初阶】CSS
层叠样式表。(Cascading Style Sheets) CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离。
xxxflower
2023/10/16
4800
【JavaEE初阶】CSS
CSS学习
在很多方面,ID选择器都类似于类选择器,但也有一些重要的区别: 1、为标签设置id=”id名称”,而不是class=”类名称”。 2、id选择符的前面是#号,而不是英文圆点(.)。
Cloud-Cloudys
2020/07/06
1.4K0
CSS3 属性选择器 伪类选择器 盒模型 圆角 阴影 CSS定位和浮动
HTML是网页的裸框架,但是现在已经是2020年了,你再做出一个80年代的网页来,恐怕是没HR要你了。所以学习CSS的重要性可想而知,CSS用途很广,是一门独立的编程语言,能美化网页,也能进一步提高自己的审美level。
Designer 小郑
2023/08/01
2850
CSS3 属性选择器 伪类选择器 盒模型 圆角 阴影 CSS定位和浮动
【CSS】CSS 总结 ② ( CSS 字体文本样式 - 大小 / 字体 / 粗细 / 斜体 / 颜色 / 对齐 | CSS 标签显示模式 - 块级元素 / 行内元素 / 行内块元素 ) ★
字体样式 的顺序 , 不能打乱 , 必须严格遵守 ; 字体样式 属性值 之间 , 使用空格隔开 ; font-size 和 font-family 两个样式必须写 , 其它样式可以省略 ;
韩曙亮
2024/03/12
7.3K0
59道CSS面试题(附答案)
CSS选择器的权重预示着CSS选择器样式渲染的先后顺序,元素样式渲染时,权重高的选择器样式会覆盖权重低的选择器样式。
winty
2021/03/25
5.8K0
CSS入门?一篇就够了!
CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。
对话、
2022/02/22
5.8K0
CSS入门?一篇就够了!
探索CSS:从入门到精通Web开发(二)
当我们谈论网页设计和开发时,CSS(层叠样式表)无疑是其中的重要一环。作为HTML的伴侣,CSS赋予网页以丰富的样式和布局,使得网站看起来更加吸引人并且具备更好的可读性。本书将通过一系列深入浅出的方式,带你从入门到精通CSS,探索Web开发的奥秘。
洁洁
2023/12/05
3110
探索CSS:从入门到精通Web开发(二)
CSS笔记
CSS中长度单位: px:像素(Pixel);em:相对长度单位,相对于当前对象内文本的字体尺寸;pt:点(Point),绝对长度单位;pc:派卡(Pica);in:英寸(Inch);mm:毫米;cm:厘米。 1 in = 2.54 cm = 25.4 mm = 72 pt = 6 pc
matt
2022/10/25
2.6K0
CSS笔记
HTML+CSS基础
第一章 一、样式      1、行间样式,代码不可维护,不推荐      2、内联样式,不可重用,不推荐      3、外联样式,可重用,可维护,推荐     <link rel="stylesheet" href="...css" /> 二、边框      1、组成:border: 1px [ solid | dashed |double ] red;           1.1     双实线的宽度用border-width: 4px; 设置      2、方向:border-[ top | botto
用户1148399
2018/01/09
3.1K0
前端面试题2(CSS)
对BFC规范(块级格式化上下文:block formatting context)的理解?
keyWords
2018/09/19
3.3K0
CSS学习笔记(基础篇)
CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表)
Daotin
2018/08/31
4.9K0
CSS学习笔记(基础篇)
【学习笔记】CSS3
CSS3 说明 此笔记为本人学习遇见狂神说的教程学习笔记,侵删。 快速入门 html文件中 <!-- 规范,<style> 可以编写css的代码,每个声明,最好使用分号结尾 语法:(里面不能写html代码, 注释/**/) 选择器{ 声明1; 声明2; 声明3; } --> <style> h1{ color: red;
Livinfly
2022/10/26
7500
CSS3
值: (1)、normal(正常);bold(加粗);(<==常用) (2)、纯数字:100~900的整百数;
roydonGuo
2022/11/02
1.1K0
CSS3
CSS基础(一)
CSS引入方式: 1. 行内式: <div style = "..."></div>(使用最少,因为会产生冗余,而且不符合W3C规定) 2. 内嵌式: <style> ... (写的是样式)... </style>(不会有冗余) 3. 外链式:<link href = "style.css"> (用的最多)
且陶陶
2023/04/12
1.1K0
CSS基础(一)
CSS3入门
https://www.runoob.com/css/css-tutorial.html
Breeze.
2022/06/27
1.9K0
CSS3入门
相关推荐
CSS基本知识点——带你走进CSS的新世界
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档