文章目录
css (层叠样式表)
CSS引入方式
内嵌式:CSS 写在style标签中 (小案例中)
• 提示:style标签虽然可以写在页面任意位置,但是通常约定写在 head 标签中
外联式:CSS 写在一个单独的.css文件中 (项目中)
• 提示:需要通过link标签在网页中引入
行内式:CSS 写在标签的style属性中 (配合js使用)
• 提示:基础班不推荐使用,之后会配合js使用
em与rem区别:
font-size : 200px;
width : 1em;
1em = 1 font-size(1em等于1个字体大小)
em 取决于他们使用的字体大小。 受从父元素继承过来的字体大小影响,除非显式重写与一个具体单位。
1rem = HTML的1 font-size (HTML默认16px)
rem 取决于页根元素的字体大小,即html元素的字体大小。
基础选择器
1. 标签选择器
结构:标签名 { css属性名:属性值; }
作用:通过标签名,找到页面中所有这类标签,设置样式
注意点:
1. 标签选择器选择的是一类标签,而不是单独某一个
2. 标签选择器无论嵌套关系有多深,都能找到对应的标签
2. 类选择器
结构:.类名 { css属性名:属性值; }
作用:通过类名,找到页面中所有带有这个类名的标签,设置样式
注意点:
1. 所有标签上都有class属性,class属性的属性值称为类名(类似于名字)
2. 类名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头
3. 一个标签可以同时有多个类名,类名之间以空格隔开
4. 类名可以重复,一个类选择器可以同时选中多个标签
补充:
多类名和公共类的使用:
1.把相同的样式放一个类名里,哪里需要直接给标签加类名
2.这些标签可以有公共类,也可以有自己独立的类。
3. id选择器
结构:#id属性值 { css属性名:属性值; }
作用:通过id属性值,找到页面中带有这个id属性值的标签,设置样式
注意点:
1. 所有标签上都有id属性
2. id属性值类似于身份证号码,在一个页面中是唯一的,不可重复的!
3. 一个标签上只能有一个id属性值
4. 一个id选择器只能选中一个标签
补充:类与id的区别
class类名与id属性值的区别
• class类名相当于姓名,可以重复,一个标签可以同时有多个class类名
• id属性值相当于身份证号码,不可重复,一个标签只能有一个id属性值
类选择器与id选择器的区别
• 类选择器以 . 开头
• id选择器以 # 开头
实际开发的情况
• 类选择器用的最多
• id一般配合js使用,除非特殊情况,否则不要使用id设置样式
• 实际开发中会遇到冗余代码的抽取 (可以将一些公共的代码抽取到一个公共的类中去)
4. 通配符选择器
结构:* { css属性名:属性值; }
作用:找到页面中所有的标签,设置样式
注意点:
1. 开发中使用极少,只会在极特殊情况下才会用到
2. 在基础班小页面中可能会用于去除标签默认的margin和padding(后续讲解)
*{
margin: 0;
padding: 0;
}
选择器优先级: 内联样式 > id选择器 > 类选择器 > 标签选择器 > 通配符选择器
字体和文本样式
1. 字体样式
1. 字体大小:font-size 默认16px
2. 字体粗细:font-weight 默认 normal(400),加粗 bold(700)
3. 字体样式:font-style 默认 normal , 倾斜 italic
4. 字体类型:font-family
5. 字体类型:font属性连写 font : style weight size/line-height family;
2. 文本样式
1. 文本缩进:text-indent (单位:px、em,1em = 当前标签的font-size的大小)
2. 文本水平对齐方式:text-align 取值:left、center、right
text-align : center 能让哪些元素水平居中? (行内元素)
1. 文本
2. span标签、a标签
3. input标签、img标签
注意点:
1. 如果需要让行内元素水平居中, text-align : center 需要给以上元素的 父元素 设置
3. 文本修饰:text-decoration
取值:underline 下划线(常用)
line-through 删除线(不常用)
overline 上划线(几乎不用)
none 无装饰线(常用) (用于清除a标签默认的下划线)
3. line-height行高 (行间距)
取值:
• 数字+px
• 倍数(当前标签font-size的倍数)
应用:
行内元素垂直居中: line-height : 父元素高度
选择器进阶
1. 复合选择器
1.1 后代选择器:空格 .father .son { css }
作用:根据 HTML 标签的嵌套关系,选择父元素 后代中 满足条件的元素
选择器语法:选择器1 选择器2 { css }
注意点:
1. 后代包括:儿子、孙子、重孙子……
2. 后代选择器中,选择器与选择器之前通过 空格 隔开
1.2 子代选择器:> .father > .son { css }
作用:根据 HTML 标签的嵌套关系,选择父元素 子代中 满足条件的元素
选择器语法:选择器1 > 选择器2 { css }
注意点:
1. 子代只包括:儿子
2. 子代选择器中,选择器与选择器之前通过 > 隔开
2. 并集选择器
div,p,span { css }
作用:同时选择多组标签,设置相同的样式
选择器语法:选择器1 , 选择器2 { css }
注意点:
1. 并集选择器中的每组选择器之间通过 , 分隔
2. 并集选择器中的每组选择器可以是基础选择器或者复合选择器
3. 并集选择器中的每组选择器通常一行写一个,提高代码的可读性
3. 交集选择器
p.red { css }
作用:选中页面中 同时满足 多个选择器的标签
选择器语法:选择器1选择器2 { css }
注意点:
1. 交集选择器中的选择器之间是紧挨着的,没有东西分隔
2. 交集选择器中如果有标签选择器,标签选择器必须写在最前面
4. 伪类选择器
a : link { } 选中a链接未访问过的状态
a : visited { } 选中a链接访问之后的状态
a : hover { } 选中鼠标悬停的状态
a : active { } 选中鼠标按下的状态
input : focus { } 选中元素获取焦点时状态
5. emmet语法 (了解)
作用:通过简写语法,快速生成代码
语法: 类似于刚刚学习的选择器的写法
6. 属性选择器
<input type="text"><br>
<input type="password" name="" id="">
input[type='text']{
background-color: pink;
}
input[type='password']{
background-color: skyblue;
}
背景相关属性
1. 背景颜色
background-color ;
2. 背景图片
background-image: url('图片的路径');
3. 背景平铺
background-repeat: repeat 默认值,水平和垂直方向都平铺
no-repeat 不平铺
repeat-x 沿着水平方向(x轴)平铺
repeat-y 沿着垂直方向(y轴)平铺
4. 背景位置
background-position : 水平方向位置 垂直方向位置
如果只设置一个值(不论方位名词还是数值),默认应用在x轴,y轴居中
方位名词和坐标取值可以混用
5. 背景相关属性连写
background:color image repeat position
img标签和背景图片的区别:
需求:需要在网页中展示一张图片的效果?
方法一:直接写上img标签即可
• img标签是一个标签,不设置宽高默认会以原尺寸显示
方法二:div标签 + 背景图片
• 需要设置div的宽高,因为背景图片只是装饰的CSS样式,不能撑开div标签
6. 背景图片大小
background-size : 宽度 高度
取值: 数字+px
百分比
contain 等比例缩放,不会超过盒子
cover 覆盖,铺满