深入理解CSS中的UI伪类

时间:2021-05-08

伪类(Pseudo classes)是选择符的螺栓,用来指定一个或者与其相关的选择符的状态。它们的形式是 selector:pseudo class { property: value; },简单地用一个半角英文冒号(:)来隔开选择符和伪类。

伪类可以分为两种:

UI( User Interface,用户界面)伪类会在 HTML 元素处于某个状态时(比如鼠标
指针位于链接上),为该元素应用 CSS 样式。

结构化伪类会在标记中存在某种结构上的关系时(如某个元素是一组元素中的第
一个或最后一个),为相应元素应用 CSS 样式。

UI伪类
链接伪类

针对链接的伪类一共有4个,因为链接始终会处于如下4种状态之一。

Link
Visited
Hover
Active

提示:由于这4个伪类的特指度相同,如果不按照这里列出的顺序使用它们,浏览器可能不会显示预期效果。方便记忆:LoVe? HA! 大写字母就是每个伪类的头一个字母。

提示:一个冒号( : )表示伪类,两个冒号( :: )表示 CSS3 新增的伪元素。

focus伪类

表单中的文本字段在用户单击它时会获得焦点,然后用户才能在其中输入字符。
例如:input:focus {border:1px solid blue;}
上面一行代码会在光标位于 input 字段中时,为该字段添加一个蓝色边框。这样可以让用户明确地知道输入的字符会出现在哪里。
target伪类

如果用户点击一个指向页面中其他元素的链接,则那个元素就是目标( target),可以
用:target 伪类选中它。
例如:对于这个链接:<a href="#more_info">More Information</a>
位于页面的其它地方、ID 为 more_info 的那个元素就是目标。
假设该元素为这样:<h2 id="more_info">This is the information you are looking for.</h2>
那么,CSS规则:#more_info:target {background:#eee}
会在用户单击链接转向 ID 为 more_info 的元素时,为该元素添加灰色背景。

维基百科在其引证中大量使用了:target 伪类。维基百科的引证链接就是正文里那些
不起眼的数字链接。引证本身则位于长长的页面的最下方。如果没有:target 应用的
突出显示,很难知道你点击的链接对应着一大堆引证中的哪一个。

结构化伪类

结构化伪类可以根据标记的结构应用样式,比如根据某元素的父元素或前面的同胞元素是什么。
first-child和:last-child

格式:

CSS Code复制内容到剪贴板
  • e:first-child
  • e:last-child
  • 示例:

    CSS Code复制内容到剪贴板
  • ol.resultsli:first-child{color:blue;}
  • nth-child
  • 格式:

    CSS Code复制内容到剪贴板
  • e:nth-child(n)
  • 示例:

    CSS Code复制内容到剪贴板
  • li:nth-child(3)
  • 说明:e 表示元素名,n 表示一个数值(也可以使用 odd 或 even)

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章