选择器 + { 一条/N条声明 }
例如:
hello
CSS 要写到 style 标签中
style 标签可以放到页面任意位置,一般放到 head 标签内.
CSS 使用 /* */ 作为注释,使用 ctrl + / 快速注释.
例如:
"color:green">hello world
外部样式是实际开发中最常用的方式,其创建一个 css 文件,使用 link 标签引入 css。
格式:
"stylesheet" href="[CSS文件路径]">
不要忘记 link 标签调用 CSS, 否则不生效
优点: 样式和结构彻底分离了.
缺点: 受到浏览器缓存影响, 修改之后不一定立刻生效,可以通过 ctrl + F5 强制刷新页面, 强制浏览器重新获取 css 文件.
p {
color: red;
font-size: 30px;
}
特点:
例如:
刘备
关羽
张飞
赵云
马超
黄忠
特点:
"blue">咬人猫
咬人猫
例如:
"box red">
"box green">
"box red">
"ha">哈哈哈哈
* {
color: red;
}
上述代码会将页面的所有内容都会被改成红色,不需要被页面结构调用。
基础选择器 | 作用 | 特点 |
---|---|---|
标签选择器 | 选出所有相同的标签 | 不能差异化的选择 |
类选择器 | 选出一个或多个标签 | 根据需求选择, 最灵活 |
id选择器 | 选出一个标签 | id在一个HTML文件唯一 |
通配符选择器 | 选出所有标签 | 特殊情况使用 |
后代选择器又叫包含选择器,选择某个父元素中的某个子元素
元素1 元素2 {样式声明}
例如:把 ol 中的 li 修改颜色, 不影响 ul
ol li {
color: red;
}
- aaa
- bbb
- ccc
- ddd
- eee
- fff
子选择器和后代选择器类似,但是只能选择子标签.
元素1> 元素2 { 样式声明 }
例如:子选择器的写法, 只选链接 1
.two>a {
color: red;
}
并集选择器用于选择多组标签
元素1, 元素2 { 样式声明 }
例如:
苹果
香蕉
- 鸭梨
- 橙子
/* 把所有颜色一起改成红色 */
div,
h3,
ul>li {
color: red;
}
链接伪类选择器
小猫
a:link {
color: black;
/* 去掉 a 标签的下划线 */
text-decoration: none;
}
a:visited {
color: green;
}
a:hover {
color: red;
}
a:active {
color: blue;
}
.three>input:focus {
color: red;
}
选择器 | 作用 | 注意事项 |
---|---|---|
后代选择器 | 选择后代元素 | 可以是孙子元素 |
子选择器 | 选择子元素 | 只能选亲儿子, 不能选孙子 |
并集选择器 | 选择相同样式的元素 | 更好的做到代码重用 |
链接伪类选择器 | 选择不同状态的链接 | 重点掌握 a:hover 的写法. |
:focuse 伪类选择器 | 选择被选中的元素 | 重点掌握 input:focus |
设置字体
"font-family">
"one">
这是微软雅黑
"two">
这是宋体
字体大小
"font-size">
"one">
大大大
"two">
小小小
字体粗细
"font-weight">
"one">
粗粗粗
"two">
细细细
文字样式
"font-style">
放假啦
"one">
听说要加班
文本颜色
设置文本颜色
color: red;
color: #ff0000;
color: rgb(255, 0, 0);
color 属性值的写法:
文本对齐
控制文字水平方向的对齐,不光能控制文本对齐, 也能控制图片等元素居中或者靠右.
text-align: [值];
"text-align">
"one">左对齐
"two">右对齐
"three">居中对齐
文本装饰
text-decoration: [值];
常用取值:
"text-decorate">
"one">啥都没有
"two">下划线
"three">上划线
"four">删除线
文本缩进
文本缩进控制段落的首行缩进,其他行不影响。
text-indent: [值];
"text-indent">
"one">正常缩进
"two">反向缩进
行高
HTML 中展示文字涉及到这几个基准线:
顶线
中线
基线
底线
内容区:底线和顶线包裹的区域,即下图深灰色背景区域
基线之间的距离 = 顶线间距离 = 底线间距离 = 中线间距离
line-height: [值];
行高 = 上边距 + 下边距 + 字体大小,行高也可以取 normal 值(取决于浏览器的实现)
"line-height">
上一行
"one">
中间行
下一行
行高等与元素高度, 就可以实现文字居中对齐
"line-height">
"two">
文本垂直居中
背景颜色
background-color: [指定颜色]
"bgc">
"one">红色背景
"two">绿色背景
"three">透明背景
背景图片
background-image: url(...);
比 image 更方便控制位置(图片在盒子中的位置)
"bgi">
"one">背景图片
背景平铺
background-repeat: [平铺方式]
背景颜色和背景图片可以同时存在. 背景图片在背景颜色的上方.
"bgr">
"one">不平铺
"two">水平平铺
"three">垂直平铺
背景位置
background-position: x y;
修改图片的位置
参数有三种风格:
"bgp">
"one">背景居中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mlASkGBE-1689767897627)(C:\Users\11794\AppData\Roaming\Typora\typora-user-images\image-20230701152442343.png)]
背景尺寸
background-size: length|percentage|cover|contain;
"bgs">
"one">背景尺寸
通过 border-radius 使边框带圆角效果
border-radius: length;
生成圆形
让 border-radius 的值为正方形宽度的一半即可。
div {
width: 200px;
height: 200px;
border: 2px solid green;
border-radius: 100px;
/* 或者用 50% 表示宽度的一半 */
border-radius: 50%;
}
生成圆角矩形
让 border-radius 的值为矩形高度的一半即可
div {
width: 200px;
height: 100px;
border: 2px solid green;
border-radius: 50px;
}
**展开写法 **
border-radius 是一个复合写法. 实际上可以针对四个角分别设置.
border-radius: 10px 20px 30px 40px;
有两种方式可以打开 Chrome 调试工具
elements 查看标签结构
console 查看控制台
source 查看源码+断点调试
network 查看前后端交互过程
application 查看浏览器提供的一些扩展功能(本地存储等)
在 CSS 中, HTML 的标签的显示模式有很多.此处只重点介绍两个:
h1 - h6
p
div
ul
ol
li
...
特点:
a
strong
b
em
i
del
s
ins
u
span
...
特点:
使用 display 属性可以修改元素的显示模式.可以把 div 等变成行内元素, 也可以把 a , span 等变成块级元素.
每一个 HTML 元素就相当于是一个矩形的 “盒子”,这个盒子由这几个部分构成 :
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GLzZLm7J-1689767897627)(C:\Users\11794\AppData\Roaming\Typora\typora-user-images\image-20230701153646862.png)]
基础属性:
padding 设置内容和边框之间的距离
复合写法
可以把多个方向的 padding 合并到一起
padding: 5px; 表示四个方向都是 5px
padding: 5px 10px; 表示上下内边距 5px, 左右内边距为 10px
padding: 5px 10px 20px; 表示上边距 5px, 左右内边距为 10px, 下内边距为 20px
padding: 5px 10px 20px 30px; 表示 上5px, 右10px, 下20px, 左30px (顺时针)
控制盒子和盒子之间的距离,可以给四个方向都加上边距
margin-top
margin-bottom
margin-left
margin-right
复合写法,规则同 padding
margin: 10px; // 四个方向都设置
margin: 10px 20px; // 上下为 10, 左右 20
margin: 10px 20px 30px; // 上 10, 左右 20, 下 30
margin: 10px 20px 30px 40px; // 上 10, 右 20, 下 30, 左 40
块级元素水平居中
前提:
margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;
浏览器会给元素加上一些默认的样式, 尤其是内外边距. 不同浏览器的默认样式存在差别.
为了保证代码在不同的浏览器上都能按照统一的样式显示, 往往我们会去除浏览器默认样式.
使用通配符选择器即可完成这件事情
* {
marign: 0;
padding: 0;
}
justify-content——设置主轴上的子元素排列方式.
1
2
3
4
5
align-items——设置侧轴上的元素排列方式
1
2
3