深入理解CSS中的UI伪类

segmentfault   发布时间:2015-08-01 18:35:33   作者:dopppler   我要评论
这篇文章主要介绍了深入理解CSS中的UI伪类,是CSS入门学习中的基础知识,需要的朋友可以参考下

伪类(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)

相关文章

  • css实现电梯导航的项目实践

    CSS梯形导航图是一种使用 CSS 布局实现的导航设计,可以根据需要灵活调整导航菜单的上下位置和大小,本文主要介绍了css实现电梯导航,具有一定的参考价值,感兴趣的可以了解
    2023-05-06
  • CSS中calc(100%-100px)不加空格不生效

    本文主要介绍了CSS中calc(100%-100px)不加空格不生效,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学
    2023-05-05
  • css弧边选项卡的项目实践

    本文主要介绍了css弧边选项卡的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • CSS实现鼠标悬浮动画特效

    Css(层叠样式表)是种格式化网页的标准方式,用于控制设置网页的样式,并且允许CSS样式信息与网页内容(由HTML语言定义)分离的一种技术,使用css可以制作各种好看的动画特效,
    2023-05-04
  • CSS link与@import的区别和用法解析

    CSS的link和@import都是用于引入外部CSS文件的方法,但它们有一些区别和不同的用法,本文通过一个简单的代码演示,展示了link和@import的用法,感兴趣的朋友跟随小编一起看
    2023-05-04
  • 使用CSS实现百叶窗效果示例代码

    这篇文章主要介绍了使用CSS实现百叶窗效果示例代码,技术上只使用了css+html,还是非常容易学习的,做出来的百叶窗效果也是很丝滑,文中提供了详细的代码,需要的朋友可以参考
    2023-04-28
  • 使用CSS实现按钮边缘跑马灯动画

    这篇文章主要介绍了使用CSS实现按钮边缘跑马灯动画,技术上只使用了css+html,还是非常容易学习的,文中提供了详细的代码,需要的朋友可以参考下
    2023-04-28
  • css旋转导航的示例代码

    本文主要介绍了css旋转导航的示例代码,文中通过示例代码介绍的非常详细,该导航可用在一些网站首页导航栏中,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-27
  • css实现交融文字效果的项目实践

    这篇文章将介绍如何使用CSS实现交融文字效果,这是一种独特的标题设计,可以增加页面的视觉吸引力和用户体验。通过使用CSS的letter-spacing属性,我们可以创建出字母之间交
    2023-04-27
  • flex子元素内容超出盒子容器宽度问题解决

    在使用弹性布局的时候,必然会有碰到分配子元素空间问题,本文主要介绍了flex子元素内容超出盒子容器宽度问题解决,感兴趣的可以了解一下
    2023-04-24

最新评论