CSS复合选择器、标签的显示模式、关于行高、CSS背景、CSS三大特性、CSS优先级等
1. CSS复合选择器
1.1 后代选择器★
针对所有子孙后代
父级 子级{
属性:属性值;
}
1.2 子元素选择器
只针对子代
父级>子级{
属性:属性值;
}
1.3 交集选择器
标签.类名{
属性:属性值;
}
1.4 并集选择器★
选择器1,
选择器2 {
属性:属性值;
}
1.5 连接伪类选择器★
- a:link /* 未访问的链接 */
- a:visited /* 已访问的链接 */
- a:hover /* 鼠标移动到链接上 */
- a:active /* 选定的链接 */
按顺序,lvha
1.6 复合选择器总结
选择器 | 作用 | 特征 | 使用情况 | 隔开符号及用法 |
---|---|---|---|---|
后代选择器 | 用来选择元素后代 | 是选择所有的子孙后代 | 较多 | 空格 |
子代选择器 | 选择 最近一级元素 | 只选亲儿子 | 较少 | > |
交集选择器 | 选择两个标签交集的部分 | 既是 又是 | 较少 | 没有符号 |
并集选择器 | 选择某些相同样式的选择器 | 可以用于集体声明 | 较多 | , |
链接伪类选择器 | 给链接更改状态 | 较多 | 重点记住 a{} 和 a:hover 实际开发的写法 |
2. 标签显示模式(display)★
2.1 块级元素(block)
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。
- 独占一行;
- widt、height、margin、padding可控(高度默认容器的100%);
- 里面可以放行内或块级元素(文字类块级标签内不能放其他块级元素,如p。
2.2 行内元素(inline)
常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,
其中<span>标签最典型的行内元素。有的地方也成内联元素
- 一行多个;
- width和height直接设置无效(默认宽度根据内容);
- 只能容纳文本或其他行内元素。
2.3 行内块元素(inline-block)
在行内元素中有几个特殊的标签——<img />、<input />、<td>,
可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。
- 一行多个;
- 可控宽高(未设置时根据内容)。
2.4 三种模式总结区别
元素模式 | 元素排列 | 设置样式 | 默认宽度 | 包含 |
---|---|---|---|---|
块级元素 | 一行只能放一个块级元素 | 可以设置宽度高度 | 容器的100% | 容器级可以包含任何标签 |
行内元素 | 一行可以放多个行内元素 | 不可以直接设置宽度高度 | 它本身内容的宽度 | 容纳文本或则其他行内元素 |
行内块元素 | 一行放多个行内块元素 | 可以设置宽度和高度 | 它本身内容的宽度 |
2.5 标签显示模式转换 display
- 块转行内:
display:inline
; - 行内转块:
display:block
; - 块、行内元素转换为行内块:
display: inline-block
。
3. 关于行高(line-height)
3.1 行高测量
3.1 单行文本垂直居中
行高 = 上距离 + 内容高度 + 下距离
- 行高 = 高度 文字会垂直居中
- 行高 > 高度 文字会偏下
- 行高 < 高度 文字会 偏上
4. CSS背景(background)
4.1 背景颜色(background-color)
background-color:颜色值;
默认值是 transparent 透明的
4.2 背景图片(background-image)
background-image : none | url (url)
参数 | 作用 |
---|---|
none | 无背景图(默认的) |
url | 使用绝对或相对地址指定背景图像 |
4.3 背景平铺(background-repeat)
background-repeat : repeat | no-repeat | repeat-x | repeat-y
参数 | 作用 |
---|---|
repeat | 背景图像在纵向和横向上平铺(默认的) |
no-repeat | 背景图像不平铺 |
repeat-x | 背景图像在横向上平铺 |
repeat-y | 背景图像在纵向平铺 |
4.4 背景位置(background-position)★
background-position : length || length
background-position : position || position
参数 | 值 |
---|---|
length | 百分数 | 由浮点数字和单位标识符组成的长度值 |
position | top | center | bottom | left | center | right 方位名词 |
第一个值为x,第二个为y
4.5 背景附着(background-attachment)
background-attachment : scroll | fixed
参数 | 作用 |
---|---|
scroll | 背景图像是随对象内容滚动 |
fixed | 背景图像固定 |
4.6 背景简写
background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;
无顺序
4.7 背景透明(CSS3)
background: rgba(0, 0, 0, 0.3);
最后一个参数是alpha 透明度 取值范围 0~1之间
4.8 背景总结
属性 | 作用 | 值 |
---|---|---|
background-color | 背景颜色 | 预定义的颜色值/十六进制/RGB代码 |
background-image | 背景图片 | url(图片路径) |
background-repeat | 是否平铺 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分别是x 和 y坐标, 切记 如果有 精确数值单位,则必须按照先X 后Y 的写法 |
background-attachment | 背景固定还是滚动 | scroll/fixed |
背景简写 | 更简单 | 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置; 他们没有顺序 |
背景透明 | 让盒子半透明 | background: rgba(0,0,0,0.3); 后面必须是 4个值 |
5. CSS三大特性
5.1 CSS层叠性
如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉
样式冲突时,就近原则,后来者居上
5.2 CSS继承性
子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性)子承父业
5.3 CSS优先级★
(1)权重计算公式
标签选择器 | 计算权重公式 |
---|---|
继承或者 * | 0,0,0,0 |
每个元素(标签选择器、伪元素选择器) | 0,0,0,1 |
每个类,伪类,属性 | 0,0,1,0 |
每个ID | 0,1,0,0 |
每个行内样式 style="" | 1,0,0,0 |
每个!important 重要的 | ∞ 无穷大 |
(2)权重叠加
- div ul li ------> 0,0,0,3
- .nav ul li ------> 0,0,1,2
- a:hover -----—> 0,0,1,1
- .nav a ------> 0,0,1,1
(3) 继承的权重是0
修改样式,一定要看该标签有没有被选中。
- 如果选中了,那么以上面的公式来计权重。谁大听谁的。
- 如果没有选中,那么权重是0,因为继承的权重为0.
6. 注释
- css注释为
/*css注释*/
- html注释为
<!-- html注释 -->