一.复合选择器
1.1子元素选择器
- 作用:子元素选择器只能选择作为某元素子元素(亲儿子)的元素
- 其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个“ > ”进行连接
- 语法:
- 白话:
1.2交集选择器
- 条件:交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点
- 语法:
- 其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,如h3.speclal
- 记忆技巧:
1.3并集选择器(重点)
- 应用:如果某些选择器定义的样式相同样式,就可以利用并集选择器,可以让代码更简洁
- 并集选择器(CSS)是各个选择器通过“ ,”连接而成的,通常用于集体声明
- 语法:
- 任何形式的选择器(包括标签选择器,class类选择器和id选择器等),都可以作为并集选择器的一部分
- 记忆技巧:
1.4链接伪类选择器(重点)
- 伪类选择器:为了和我们刚才学的类选择器相区别,类选择器是一个点 .demo{},而我们伪类是冒号 :link{}
- 作用:用于向某些选择器添加特殊的效果。比如可以选择第一个,第n个元素。比如给链接添加特殊效果
- 注意
1.6复合选择器总结
二.标签显示模器
2.1块级元素(block-level)
- 例:
- 块级元素的特点
- 比较霸道,自己独占一行
- 高度,宽度,外边距以及内边距都可以控制
- 宽度默认是容器的100%
- 是一个容器及盒子,里面可以放行内或者块级元素
- 注意:
2.2行内元素(inline-level)
- 例:
- 行内元素的特点:
- 相邻行内元素在一行上,一行可以显示多个
- 高,宽直接设置是无效的
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或者其他行内元素
- 注意:
2.3行内块元素(inline-block)
- 例:
- 行内块元素的特点:
- 和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙,一行可以显示多个
- 默认宽度就是它本身内容的宽度
- 高度,行高,外边距以及内边距都可以控制
2.5三种模式总结区别
2.6标签显示模式转换 display
- 块转行内:display:inline;
- 行内转块:display:block;
- 块,行内元素转换行内块:display:inline-block
三.行高
3.1单行文本垂直居中
行高=上距离+内容宽度+下距离
上距离和下距离总是相等的,因此文字看上去是垂直居中的
- 行高和高度的三种关系
- 如果行高=高度,文字会垂直居中
- 如果行高>高度,文字会偏下
- 如果行高<高度,文字会偏上
四.CSS背景
4.1背景颜色(color)
- 语法:
4.2背景图片(image)
- 语法:
4.3背景平铺(repeat)
- 语法:
4.4背景位置(position)重点
- 语法:
- 注意:
- 必须先指定background-image属性
- position后面是x坐标和y坐标,可以使用方位名词或者精确单位
- 如果只指定了一个方位名词,另一个值默认居中,为50%
- 如果只指定一个数值,那该数值用于x坐标,另一个默认是y坐标,默认居中
- 如果指定两个值,两个值都是方位名词,则两个值前后顺序无关,比如left,top和top,left效果一致
- 如果指定两个值,精确单位和方位名字混合使用,则第一个值是x坐标,则第二个值是y坐标
4.5背景附着
- 背景附着就是解释背景是滚动还是固定的
- 语法:
4.6背景简写
4.7背景透明(CSS3)
语法:
4.8背景总结
五.CSS三大特性
5.1CSS层叠性
- 概念: 所谓层叠性是指多种CSS样式的叠加,是浏览器处理冲突的一个能力,如果一个属性通过相同选择器设置到同一个元素上,那么中国时候一个属性就会将另一个属性层叠掉
- 原则:
- 样式冲突,遵循的原则是就近原则。哪个样式离着结构近,就执行哪个样式
- 样式不冲突,不会层叠
5.2CSS继承性
- 概念: 子标签会继承父标签的某些属性,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可
简称:子承父业
- 注意:
5.3CSS优先级(重点)
- 概念:定义CSS样式时,经常出现两个或更多规则应用在同一元素上,此时
- 选择器相同,则执行层叠性
- 选择器不同,就会出现优先级问题
- 权重计算公式
- specificly用一个四位数,更像四个级别
- 值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越
- 关于CSS权重,我们用CSS Specificty(特殊性)计算
- 权重叠加
- 继承的权重是0