目录
一、CSS 初体验
1. CSS 定义
- 层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容)
书写位置:title 标签下方添加 style 双标签,style 标签里面书写 CSS 代码
<style>
/* 选择器 { } */
p {
/* CSS 属性 */
color: red;
}
</style>
<p>体验 CSS</p>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
/* 选择器 { } */
p {
/* CSS 属性 */
color: red;
font-size: 30px;
}
</style>
</head>
<body>
<p>体验 CSS</p>
</body>
</html>
网页运行结果:
2. CSS 引入方式
1.内部样式表:学习使用
- CSS 代码写在 style 标签
2.外部样式表:开发使用
- CSS 代码写在单独的 CSS 文件中(.css)
- 在 HTML 使用 link 标签引入
<link rel="stylesheet" href="./my.css">
3.行内样式:配合 JavaScript 使用
- CSS 写在标签的 style 属性值
<div style="color: red; font-size:20px;">这是 div 标签</div>
/* css代码 */
p {
color: red;
font-size: 20px;
}
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./my.css">
</head>
<body>
<p>猫猫</p>
<div style="color: green;font-size: 30px;">犬犬</div>
</body>
</html>
网页运行结果:
二、选择器
作用:查找标签,设置样式
基础选择器:
- 标签选择器
- 类选择器
- id 选择器
- 通配符选择器
1. 标签选择器
标签选择器:使用标签名作为选择器 → 选中同名标签设置相同的样式
例如:p, h1, div, a, img
<style>
p {
color: red;
}
</style>
注意:标签选择器无法差异化同名标签的显示效果
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
p {
color: red;
}
</style>
</head>
<body>
<p>小犬犬</p>
<p>强壮犬</p>
<p>打嗝犬</p>
<p>犬犬国王</p>
</body>
</html>
网页运行结果:
2. 类选择器
作用:查找标签,差异化设置标签的显示效果
步骤:
- 定义类选择器 → .类名
- 使用类选择器 → 标签添加 class="类名“
<style>
/* 定义类选择器 */
.red {
color: red;
}
</style>
<!-- 使用类选择器 -->
<div class="red">这是 div 标签</div>
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
.red {
color: red;
}
.green {
color: green;
}
.size {
font-size: 40px;
}
</style>
</head>
<body>
<p class="red">小犬犬</p>
<p class="red size">强壮犬</p>
<p class="green">ac犬</p>
</body>
</html>
网页运行结果:
注意:
- 类名自定义,不要用纯数字或中文,尽量用英文命名
- 一个类选择器可以供多个标签使用
- 一个标签可以使用多个类名,类名之间用空格隔开
开发习惯:类名见名知意,多个单词可以用 - 连接,例如:news-hd
3. id 选择器
作用:查找标签,差异化设置标签的显示效果
场景:id 选择器一般配合 JavaScript 使用,很少用来设置 CSS 样式
步骤:
- 定义 id 选择器 → #id名
- 使用 id 选择器 → 标签添加 id= "id名
<style>
/* 定义 id 选择器 */
#red {
color: red;
}
</style>
<!-- 使用 id 选择器 -->
<div id="red">这是 div 标签</div>
注意:同一个 id 选择器在一个页面只能使用一次
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
#red {
color: red;
}
#size {
font-size: 40px;
}
</style>
</head>
<body>
<p id="red">小犬犬</p>
<p id="red size">强壮犬</p>
</body>
</html>
网页运行结果:
4. 通配符选择器
作用:查找页面所有标签,设置相同样式
通配符选择器: *,不需要调用,浏览器自动查找页面所有标签,设置相同的样式
* {
color: red;
}
经验:
- 通配符选择器可以用于清除标签的默认样式,例如:标签默认的外边距、内边距
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
* {
color: red;
}
</style>
</head>
<body>
<p>小犬犬</p>
<h2>强壮犬</h2>
<div>ac犬</div>
</body>
</html>
网页运行结果:
5. 画盒子
目标:使用合适的选择器画盒子
新属性:
属性名 | 作用 |
---|---|
width | 宽度 |
height | 高度 |
background-color | 背景色 |
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
.red {
width: 100px;
height: 100px;
background-color: red;
}
.green {
width: 200px;
height: 200px;
background-color: green;
}
</style>
</head>
<body>
<p class="red">小犬犬</p>
<div class="green">ac犬</div>
</body>
</html>
网页运行结果:
三、文字控制属性
1. 字体大小
属性名:font-size
属性值:文字尺寸,PC 端网页最常用的单位 px
p {
font-size: 30px;
}
- 经验:谷歌浏览器默认字号是16px
2. 字体粗细
属性名:font-weight
属性值:
- 数字(开发使用):正常400,加粗700
- 关键字:正常 normal,加粗 bold
/* 不加粗 */
font-weight: 400;
/* 加粗 */
font-weight: 700;
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
p {
font-weight: 700;
}
h3 {
font-weight: 400;
}
</style>
</head>
<body>
<p>小犬犬</p>
<h3>大犬犬</h3>
</body>
</html>
网页运行结果:
3. 字体样式
作用:清除文字默认的倾斜效果
属性名:font-style
属性值
- 正常(不倾斜):normal
- 倾斜:italic
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
em {
font-style: normal;
}
div {
font-style: italic;
}
</style>
</head>
<body>
<em>小犬犬</em>
<div>大犬犬</div>
</body>
</html>
网页运行结果:
4. 行高
作用:设置多行文本的间距
属性名:line-height
属性值:
- 数字 + px
- 数字(当前标签font-size属性值的倍数)
line-height: 30px;
/* 当前标签字体大小为16px */
line-height: 2;
行高的测量方法:从一行文字的最顶端(最底端)量到下一行文字的最顶端(最底端)。
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
p {
/* line-height: 30px; */
line-height: 2;
}
</style>
</head>
<body>
<p>好的谢谢姐妹!我刚刚有看到姐妹在鹅组写的关于前端学习的帖子,上面有写到《JS
DOM编程艺术》这本书,但是我去搜了一下发现这本书是2010年的,又看了很多评价说现在可能有点过时了,看姐妹的帖子是2018年的那请问这本书现在作用还大吗?</p>
</body>
</html>
网页运行结果:
垂直居中技巧:行高属性值等于盒子高度属性值
注意:该技巧适用于单行文字垂直居中效果
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
p {
height: 100px;
background-color: aquamarine;
line-height: 100px;
}
</style>
</head>
<body>
<p>小犬犬</p>
</body>
</html>
网页运行结果:
5. 字体族
属性名:font-family
属性值:字体名
font-family: 楷体
拓展:
- font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif
- font-family 属性值可以书写多个字体名,各个字体名用逗号隔开,执行顺序是从左向右依次查找
- font-family 属性最后设置一个字体族名,网页开发建议使用无衬线字体
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
h2 {
font-family: 楷体;
}
</style>
</head>
<body>
<h2>小犬犬</h2>
</body>
</html>
网页运行结果:
6. font 复合属性
使用场景:设置网页文字公共样式
div {
/* 文字倾斜 */
font-style: italic;
/* 文字加粗 */
font-weight: 700;
/* 字体大小是30px */
font-size: 30px;
/* 行高为字号的2倍 */
line-height: 2;
/* 字体是楷体 */
font-family: 楷体
}
或者:
div {
/* font: 是否倾斜 是否加粗 字号/行高 字体; */
font: italic 700 30px/2 楷体;
}
复合属性:属性的简写方式,一个属性对应多个值的写法,各个属性值之间用空格隔开。 font: 是否倾斜 是否加粗 字号/行高 字体(必须按顺序书写)
注意:字号和字体值必须书写,否则 font 属性不生效
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
div {
/* font: italic 楷体; */
font: italic 700 30px/2 楷体;
}
</style>
</head>
<body>
<div>小犬犬</div>
</body>
</html>
网页运行结果:
7. 文本修饰属性
文本缩进
属性名:text-indent
属性值:
- 数字 + px
- 数字 + em(推荐:1em == 当前标签的字号大小)
p {
text-indent: 2em;
}
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
div {
text-indent: 2em;
}
</style>
</head>
<body>
<div>我理解的“过时”是指一些以前的技术、方法放在现在已经完全被废弃了,比如讨论如何兼容IE6。在这个角度,这本书是不过时的。并且这本书的编排很用心,学练结合,对初学者是非常好的JS入门书</div>
</body>
</html>
网页运行结果:
文本对齐方式
作用:控制内容水平对齐方式
属性名:text-align
text-align: center;
属性值:
属性值 | 效果 |
---|---|
left | 左对齐(默认) |
center | 居中对齐 |
right | 右对齐 |
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
div {
text-align: center;
}
</style>
</head>
<body>
<div>bug犬</div>
</body>
</html>
网页运行结果:
水平对齐方式 – 图片
text-align本质是控制内容的对齐方式,属性要设置给内容的父级
<style>
div {
text-align: center;
}
</style>
<div>
<img src="./images/1.jpg" alt="">
</div>
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
div {
text-align: center;
}
</style>
</head>
<body>
<div>
<img src="./miaowu.gif">
</div>
</body>
</html>
网页运行结果:
文本修饰线
属性名: text-decoration
属性值:
属性值 | 效果 |
---|---|
none | 无 |
underline | 下划线 |
line-through | 删除线 |
overline | 上划线 |
<!-- html 代码 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>Document</title>
<style>
a {
text-decoration: none;
}
div {
text-decoration: underline;
}
p {
text-decoration: line-through;
}
span {
text-decoration: overline;
}
</style>
</head>
<body>
<a href="#">a 标签,去掉下划线</a>
<div>div 标签,添加下划线</div>
<p>p 标签,添加删除线</p>
<span>span 标签,添加顶划线</span>
</body>
</html>
网页运行结果:
8. color 文字颜色
属性名:color
提示:只要属性值为颜色,都可以使用上述四种颜色表示方式,例如:背景色
属性值:
颜色表示方式 | 属性值 | 说明 | 使用场景 |
---|---|---|---|
颜色关键字 | 颜色英文单词 | red、green、blue... | 学习测试 |
rgb表示法 | rgb(r,g,b) | r,g,b 表示红绿蓝三原色:取值:0-255 | 了解 |
rgba表示法 | rgba(r,g,b,a) | a表示透明度,取值:0-1 | 开发使用,实现透明色 |
十六进制表示法 | #RRGGBB | #000000,#ffcc00,简写:#000,#fc0 | 开发使用(从设计稿复制) |
四、调试工具 – 谷歌浏览器
作用:检查、调试代码;帮助程序员发现代码问题、解决问题
1. 打开调试工具
- 浏览器窗口内任意位置 / 选中标签 → 鼠标右键 → 检查
- F12
2. 使用调试工具
3. 测试工具的细节
- 如果是错误的属性,有黄色叹号
- CSS 属性的前面有多选框,如果勾选,这个属性生效;如果没有勾选,这个属性不生效;