一、CSS 简介
CSS的主要使用场景就是美化网页,布局页面的。
1.1 HTML的局限性
说起HTML,这其实是个非常单纯的家伙,它只关注内容的语义 ,比如<h1>
表明这是一个大标题,<p>
表明这是一个段落,<img>
表明这儿有一个图片,<a>
表示此处有链接。
很早的时候,世界上的网站虽然很多,但是它们都有一个共同的特点:丑。
虽然HTML可以做简单的样式,但是带来的是无尽的臃肿 和繁琐...
1.2 CSS-网页的美容师
CSS是层叠样式表(Cascading Style Sheets)的简称。
有时我们也称之为CSS样式表或级联样式表
CSS也是一种标记语言
CSS主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局和外观显示样式。
CSS让我们的网页更加丰富多彩,布局更加灵活自如。简单理解:CSS可以美化HTML,让HTML更漂亮,让页面布局更简单。
总结:
- HTML主要做结构,显示元素内容。
- CSS美化HTML,布局网页。
- CSS最大价值:由HTML专注去做结构呈现,样式交给CSS,即结构(HTML)与样式(CSS)相分离。
1.3 CSS 语法规范
使用HTML时,需要遵从一定的规范,CSS也是如此,要想熟练地使用CSS对网页进行修饰,首先需要了解CSS样式规则。
CSS规则由两个主要的部分构成:选择器以及一条或多条声明。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>体验CSS语法规范</title>
<style>
/* 选择器 {样式} */
/* 给谁改样式 {改什么样式} */
p {
color: red;
font-size: 12px;
}
</style>
</head>
<body>
<p>有点意思</p>
</body>
</html>
- 选择器 是用于指定CSS样式的HTML标签,花括号内是对该对象设置的具体样式。
- 属性和属性值以"键值对"的形式出现。
- 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等。
- 属性和属性值之间用英文":"分开。
- 多个"键值对"之间用英文";"进行区分。
1.4 CSS代码风格
以下代码书写风格不是强制规范,而是符合实际开发书写方式。
1.4.1 样式格式书写
- 紧凑格式
css
h3 {color:deeppink; font-size: 20px;}
- 展开格式
css
h3 {
color:deeppink;
font-size: 20px;
}
1.4.2 样式大小写
css
h3 {
color:pink;
}
css
H3 {
COLOR:PINK;
}
1.4.3 空格规范
css
h3 {
color: pink;
}
- 冒号后面,保留一个空格
- 选择器(标签)和大括号之间保留空格
二、 CSS基础选择器
2.1 CSS选择器的作用
选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。简单来说,就是选择标签用的。
以上CSS做了两件事:
- 找到所有的h1标签。选择器(选对人)。
- 设置这些标签的样式,比如颜色为红色(做对事)。
2.2 选择器分类
选择器 分为基础选择器 和复合选择器两个大类,我们这里先讲解一下基础选择器。
- 基础选择器是由单个选择器组成的。
- 基础选择器又包括:标签选择器 、类选择器 、id选择器 和通配符选择器。
2.3 标签选择器
标签选择器 (元素选择器)是 指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。
语法:
css
标签名 {
属性1:属性值1;
属性2:属性值2;
属性3:属性值3;
...
}
作用:
标签选择器可以把某一类标签全部选择出来,比如所有的<div>
标签和所有的<span>
标签。
优点:
能快速为页面中同类型的标签统一设置样式。
缺点:
不能设计差异化样式,只能选择全部的当前标签。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p {
color: green;
}
div {
color: pink;
}
</style>
</head>
<body>
<p>男生</p>
<p>男生</p>
<p>男生</p>
<div>女生</div>
<div>女生</div>
<div>女生</div>
</body>
</html>
2.4 类选择器
如果想要差异化选择不同的标签,单独选择一个或者某几个标签,可以使用类选择器 。
类选择器在HTML中以class属性表示,在CSS中,类选择器以一个点"." 号显示。
语法:
css
.类名 {
属性1: 属性值1;
...
}
例如,将所有拥有red类的HTML元素均为红色。
css
.red {
color: red;
...
}
结构需要用class属性来调用class类。
html
<div class="red"> 变红色 </div>
示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.red {
color: red;
}
</style>
</head>
<body>
<ul>
<li class="red">使用描述性且易于理解的类名,这样可以提高代码的可读性和可维护性。</li>
<li>推荐使用连字符(-)来分隔单词,例如 menu-item,而非使用下划线(_)或驼峰命名法。</li>
<li class="red">避免使用过于通用的类名,如 .button 或 .text,除非这些样式确实适用于多个不同的上下文。</li>
<li>类选择器可以用在任何元素上,并且一个元素可以同时拥有多个类,这使得你可以组合多种样式。</li>
</ul>
</body>
</html>
2.4 类选择器-多类名
我们可以给一个标签指定多个类名,从而达到更多的选择目的。
2.4.1 多类名使用方式
多类名使用方式
- 在标签class属性中写多个类名
- 多个类名中间必须用空格分开
- 这个标签可以分别具有这些类名的样式
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.red {
color: red;
}
.font35 {
font-size: 35px;
}
</style>
</head>
<body>
<div class="red font35">刘德华</div>
</body>
</html>
2.5 id选择器
- 在 CSS 中,ID 选择器是一种用于选择具有特定 id 属性的 HTML 元素的选择器。ID 选择器在 CSS 中通过井号
#
后接 ID 名称来指定。
语法:
html
#id名{
属性1: 属性值;
}
示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#red {
color: red;
}
</style>
</head>
<body>
<div id="red">刘德华</div>
</body>
</html>
id选择器和类选择器的区别
- ID 选择器:用于选择具有特定 id 属性的单个元素。在一个 HTML 文档中,每个 ID 应当是唯一的,即一个 ID 只能被赋给一个元素。ID 选择器用 # 符号表示
html
<div id="red">刘德华</div>
<!--下面一行是错误的,一个 ID 只能被赋给一个元素-->
<div id="red">周杰伦</div>
- 类选择器:用于选择具有特定 class 属性的一个或多个元素。一个类可以被赋给多个元素,而一个元素也可以同时拥有多个类。类选择器用 . 符号表示
2.6 通配符选择器
-
在 CSS 中,通配符选择器(也称为通用选择器)使用星号
*
符号表示,它可以匹配文档中的每一个元素。这使得通配符选择器成为一种非常强大的工具,因为它允许开发者对所有元素应用统一的样式。 -
通配符选择器不需要调用,自动给所有的元素使用样式
语法:
html
* {
属性1: 属性值1;
...
}
示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
color: red;
}
</style>
</head>
<body>
<div>div标签</div>
<span>span标签</span>
<ul>
<li>li标签</li>
</ul>
</body>
</html>
2.7 基础选择器总结
三、CSS字体属性
CSS Fonts(字体)属性用于定义字体系列、大小、粗细、和文字样式(如斜体)。
3.1 字体系列
font-family
属性用于指定一个或多个字体系列名称的优先列表,以定义文本的字体样式。这个属性允许你为页面上的文本设置所需的字体外观。
html
p {
font-family: "微软雅黑";
}
div {
font-family: Arial,"Microsoft Yahei", "微软雅黑";
}
- 各种字体之间必须使用英文状态下的逗号隔开
- 一般情况下,如果有空格隔开的多个单词组成的字体,加引号
- 尽量使用系统默认自带字体,保证在任何用户的浏览器中都能正确显示
3.2 字体大小
- CSS使用
font-size
属性定义字体大小
html
p {
font-size: 20px;
}
- px(像素)大小是我们网页的最常用的单位
- 谷歌浏览器默认的文字大小是16px
- 不同浏览器可能默认显示的字号大小不一致,我们尽量给一个明确大小,不要默认大小
- 可以给body指定整个页面文字的大小
3.3 字体粗细
- 在 CSS 中,
font-weight
属性用于设置字体的粗细程度。
font-weight 属性可以接受以下几种类型的值:
: normal
:等同于 400,表示字体的正常粗细。
: bold
:等同于 700,表示字体的加粗样式。
: bolder
和 lighter
:这两个值相对于父元素的 font-weight 进行调整。bolder 会: 加粗,而 lighter 会减轻字体粗细。
:
字体粗细的数值范围通常从 100 到 900,其中 400 是正常字体粗细,700 是粗体。不是所有的字体都支持这九个粗细级别,实际可用的粗细取决于字体自身的支持。
css
/* 设置具体的粗细值 */
p {
font-weight: 400; /* 正常粗细 */
}
strong {
font-weight: bold; /* 加粗 */
}
h1 {
font-weight: 900; /* 最粗 */
}
.light-text {
font-weight: 300; /* 较轻的字体粗细 */
}
3.4 文字样式
- 在 CSS 中,
font-style
属性用于设置字体的风格,主要用于斜体、正常体和倾斜体文本的显示。
:
1. normal
:这是默认值,表示字体以其标准、非倾斜的样式显示。
:
2. italic
:这个值将文本设置为斜体。如果字体家族中有斜体字体,浏览器将使用专为斜体设计的字形。
css
/* 正常字体样式 */
.normal-text {
font-style: normal;
}
/* 斜体字体样式 */
.italic-text {
font-style: italic;
}
3.5 文字复合属性
- 在CSS中,
font
是一个常用的文字复合属性,它允许你在一条规则中设置多个字体相关的属性,这样可以更节省代码。 - 使用font属性时,必须按下面语法格式中的顺序书写,不能更换顺序。
语法:
css
font: [font-style] [font-variant] [font-weight] [font-size]/[line-height] [font-family];
- ont-style (可选): 定义字体风格,如 normal, italic, oblique。
- font-variant (可选): 定义字体变体,如 normal 或 small-caps。
- font-weight (可选): 定义字体的粗细,如 normal, bold, 100, 200 等。
- font-size (必需): 定义字体的大小,可以使用长度单位(如 px, em 等)或相对大小(如 smaller, larger)。
- line-height (可选): 定义行高,直接跟在字体大小后面,用斜杠 (/) 分隔。如果省略,浏览器将使用默认行高。
- font-family (必需): 定义字体族,可以是单个字体名称或字体族的列表。
示例:
css
div {
font: italic 700 16px/20px "Microsoft YaHei";
}
3.6 字体属性总结
四、CSS文本属性
CSS Text(文本)属性可定义文本的外观,比如文本的颜色、对齐文本、装饰文本、文本缩进、行间距等。
4.1 文本颜色
- color 属性用于定义文本的颜色
css
div {
color: red;
}
4.2 对齐文本
text-align
属性用于设置元素内文本内容的水平对齐方式
css
div {
text-align: center;
}
4.3 装饰文本
text-decoration
属性规定添加到文本的修饰。可以给文本添加下划线、删除线、上滑线等。
css
div {
text-decoration: underline;
}
4.4 文本缩进
text-indent
属性用来指定文本的第一行缩进,通常用于段落首行缩进。
css
p {
text-indent: 20px;
}
- 通过设置设置该属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值
em
是一个相对单位,是当前元素(font-size)1个文字的大小,如果当前元素没有设置大小,则会按照父元素的1个文字的大小。
css
p {
text-indent: 2em;
}
4.5 行间距
line-height
属性用于设置行间距(行高)。可以控制文字行与行之间的距离
css
p {
line-height: 26px;
}
4.6 文本属性总结
五、CSS的引入方式
5.1 CSS的三种样式表
- 按照CSS样式书写的位置(或者引入的方式),CSS样式表可以分为三大类:
- 内联样式(Inline Styles)
- 内部样式表(嵌入式)
- 外部样式表(链接式)
5.2 内部样式表(Internal or Embedded Stylesheets)
- 内联样式是直接在HTML元素内部通过style属性添加CSS代码。这种方法适用于快速测试或应用独特样式到单个元素,但不推荐用于生产环境,因为它违反了内容与样式分离的原则,且难以维护。
css
<p style="color: blue; font-size: 14px;">这是一段带有内联样式的文本。</p>
5.3 外部样式表(External Stylesheets)
- 内部样式表是通过
<style>
标签在HTML文档的<head>
部分定义的。这种方法适合于页面特定的样式,不需要加载外部文件。但如果样式复杂或多个页面共享同样的样式,这种方法就显得效率低下。
html
<head>
<style>
p {
color: red;
font-size: 16px;
}
</style>
</head>
<body>
<p>这是一段带有内部样式的文本。</p>
</body>
5.4 链接式
- 外部样式表是最常用的CSS引入方法,它通过链接到一个外部的CSS文件来应用样式。这种方法有助于样式的重用和分离,使得维护和更新变得更简单。只需在HTML文档的
<head>
部分使用<link>
标签引入CSS文件即可。
示例:
1.新建一个styles.css 文件:
css
p {
color: green;
font-size: 18px;
}
2.在HTML文件的<head>
部分使用<link>
标签引入CSS文件
html
<head>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<p>这是一段将使用外部样式表中定义的样式的文本。</p>
</body>
六、Chrome调试工具
chrome浏览器提供了一个非常好的调试工具,可以用来调试我们的HTML结构和CSS样式。
6.1 打开调试工具
- 打开Chrome浏览器,按下
F12键
或者右键页面空白处->检查
。