深入理解CSS中的UI伪类

(编辑:jimmy 日期: 2024/11/11 浏览:2)

伪类(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复制内容到剪贴板
  1. e:first-child   
  2. e:last-child  

示例:

CSS Code复制内容到剪贴板
  1. ol.results li:first-child {color:blue;}   
  2. nth-child  

格式:

CSS Code复制内容到剪贴板
  1. e:nth-child(n)  

示例:

CSS Code复制内容到剪贴板
  1. li:nth-child(3)  

说明:e 表示元素名,n 表示一个数值(也可以使用 odd 或 even)