WEB前端-CSS基础知识复习(四)
本文最后更新于:December 3, 2021 pm
CSS 指层叠样式表(Cascading Style Sheets)。通过与 XHTML 结合,CSS 可以帮助我们实行表现与结构分离的开发模式。 通过使用 CSS 来提升工作效率!
外部样式表通常存储在 CSS 文件中,外部样式表可以极大提高工作效率。
目录
1.组合选择符
CSS 组合选择符可以让你直观的明白选择器与选择器之间的关系。组合选择符说明了两个选择器直接的关系。组合选择符包括各种简单选择符的组合方式。
包含四种组合方式:
- 后代选取器(以空格分隔)
- 子元素选择器(以大于号分隔)
- 相邻兄弟选择器(以加号分隔)
- 普通兄弟选择器(以波浪号分隔)
1.1 后代选取器( )
后代选取器匹配所有指定元素的后代元素。
使用实例:选取所有插入到 div 元素中的 p 元素
1 |
|
1.2 子元素选择器(>)
子元素选择器(Child selectors)只能选择作为某元素子元素(直接子元素)的元素。即父元素中的直接子元素(如:div中的直接子元素 p),不能是间接子元素(如:div 中有 span ,span 中有p)。
使用实例:选择了div元素中所有直接子元素 p :
1 |
|
实例:
1 |
|
1.3 相邻兄弟选择器(+)
相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。即在一个元素结束后的下一个元素。
使用实例:选取所有位于 div 元素后的第一个 p 元素:
1 |
|
实例:
1 |
|
1.4 普通相邻兄弟选择器(~)
普通兄弟选择器选取所有指定元素的相邻兄弟元素。
使用实例:选取所有 div 元素之后的所有相邻兄弟元素 p :
1 |
|
实例:
1 |
|
2.伪类
伪类是用来添加一些选择器的特殊效果。由于状态的变化是非静态的,所以元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和 class 有些类似,但它是基于文档之外的抽象,所以叫伪类。
伪类/元素:
选择器 | 示例 | 示例说明 |
---|---|---|
:link | a:link | 选择所有未访问链接 |
:visited | a:visited | 选择所有访问过的链接 |
:active | a:active | 选择正在活动链接 |
:hover | a:hover | 把鼠标放在链接上的状态 |
:focus | input:focus | 选择元素输入后具有焦点 |
:first-letter | p:first-letter | 选择每个<p> 元素的第一个字母 |
:first-line | p:first-line | 选择每个<p> 元素的第一行 |
:first-child | p:first-child | 选择器匹配属于任意元素的第一个子元素的 <]p> 元素 |
:before | p:before | 在每个<p>元素之前插入内容 |
:after | p:after | 在每个<p>元素之后插入内容 |
:lang(language) | p:lang(it) | 为<p>元素的lang属性选择一个开始值 |
2.1 语法
伪类语法:
1 |
|
CSS类使用伪类:
1 |
|
2.2 anchor伪类
链接的不同状态都可以以不同的方式显示。
使用实例:
1 |
|
在 CSS 定义中:
a:hover 必须被置于 a:link 和 a:visited 之后,才是有效的。
a:active 必须被置于 a:hover 之后,才是有效的。
伪类的名称不区分大小写。
2.3 伪类和CSS类
伪类可以与 CSS 类配合使用:
1 |
|
2.4 :first - child 伪类
可以使用 :first-child 伪类来选择元素的第一个子元素。
使用实例1:匹配作为任何元素的第一个子元素的 p 元素:
1 |
|
使用实例2:选择相匹配的所有 p 元素的第一个 i 元素:
1 |
|
使用实例3:选择器匹配所有作为元素的第一个子元素的 p 元素中的所有 i 元素:
1 |
|
2.5 lang伪类
:lang 伪类使你有能力为不同的语言定义特殊的规则。
使用实例::lang 类为属性值为 no 的 q 元素定义引号的类型:
1 |
|
2.6 :focus伪类
选择获得焦点的输入字段,并设置其样式。
1 |
|
使用实例:
1 |
|
3.伪元素
伪元素是用来添加一些选择器的特殊效果。伪元素控制的内容和元素是没有差别的,但是它本身只是基于元素的抽象,并不存在于文档中,所以称为伪元素。
伪类/元素:
选择器 | 示例 | 示例说明 |
---|---|---|
:link | a:link | 选择所有未访问链接 |
:visited | a:visited | 选择所有访问过的链接 |
:active | a:active | 选择正在活动链接 |
:hover | a:hover | 把鼠标放在链接上的状态 |
:focus | input:focus | 选择元素输入后具有焦点 |
:first-letter | p:first-letter | 选择每个<p> 元素的第一个字母 |
:first-line | p:first-line | 选择每个<p> 元素的第一行 |
:first-child | p:first-child | 选择器匹配属于任意元素的第一个子元素的 <]p> 元素 |
:before | p:before | 在每个<p>元素之前插入内容 |
:after | p:after | 在每个<p>元素之后插入内容 |
:lang(language) | p:lang(it) | 为<p>元素的lang属性选择一个开始值 |
3.1 语法
为元素语法:
1 |
|
CSS类使用伪元素:
1 |
|
3.2 :first-line 伪元素
“first-line” 伪元素用于向文本的首行设置特殊样式。”first-line” 伪元素只能用于块级元素。
使用实例:根据 “first-line” 伪元素中的样式对 p 元素的第一行文本进行格式化
1 |
|
可应用于 “first-line” 伪元素的属性:
- font properties
- color properties
- background properties
- word-spacing
- letter-spacing
- text-decoration
- vertical-align
- text-transform
- line-height
- clear
3.3 :first-letter 伪元素
“first-letter” 伪元素用于向文本的首字母设置特殊样式。”first-letter” 伪元素只能用于块级元素。
使用实例:
1 |
|
可应用于 “first-letter” 伪元素的属性:
- font properties
- color properties
- background properties
- margin properties
- padding properties
- border properties
- text-decoration
- vertical-align (only if “float” is “none”)
- text-transform
- line-height
- float
- clear
3.4 伪元素和 CSS 类
伪元素可以结合 CSS 类:
使用实例:使所有 class 为 article 的段落的首字母变为红色。
1 |
|
3.5 多个伪元素
可以结合多个伪元素来使用。
使用实例:段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。段落中的其余文本将以默认字体大小和颜色来显示:
1 |
|
3.6 :before 伪元素
“:before” 伪元素可以在元素的内容前面插入新内容。
使用实例:在每个 h1元素前面插入一幅图片.
1 |
|
3.7 :after 伪元素
“:after” 伪元素可以在元素的内容之后插入新内容。
使用实例:在每个 h1 元素后面插入一幅图片:
1 |
|
4.属性选择器
属性选择器就是指可以根据元素的属性以及属性值来选择元素。具有特定属性的 HTML 元素样式不仅仅是 class 和 id。
实例:把包含标题(title)的所有元素变为蓝色.
1 |
|
4.1 属性和值选择器
实例:改变了标题 title=’loong’ 元素的边框样式:
1 |
|
4.1.1 多值
实例:包含指定值的 title 属性的元素样式,使用(~)分隔属性和值:
1 |
|
实例:包含指定值的 lang 属性的元素样式,使用(|)分隔属性和值:
1 |
|
4.2 表单样式
属性选择器样式无需使用 class 或 id 的形式。
实例:
1 |
|
本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/1303750973.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!