CSS3 积累(2)之结构伪类选择器

介绍

伪类选择器主要有动态伪类选择器、UI元素状态伪类选择器、结构伪类选择器和伪元素等,这篇主要讲讲什么是结构伪类选择器。

选择器 功能描述
:first-child 选择父元素的第一个子元素
:last-child 选择父元素的最后一个子元素
:nth-child(n) 选择父元素的第n个子元素,表格隔行换色可写2n或2n+1,也可写odd或even,当然n可以为3n+2或其他任意表达式,且n的初始值为1不是0
:nth-last-child(n) 选择父元素的倒数第n个子元素,其余同上。
:nth-of-type(n) 选择该类型子元素中的第n个
:nth-last-of-type(n) 选择该类型子元素中倒数第n个
:first-of-type 选择该类型子元素中第1个
:last-of-type 选择该类型子元素中倒数第1个
:only-child 当父元素中只含有一个该类子元素时,选择该子元素
:only-of-type 选择父元素只包含一个同类型的子元素
:empty 选择没有子元素的元素,且该元素不包含任何文本节点。

浏览器支持:结构伪类选择器在所有版本的FF, Chrome,Safari,Opera,还有IE9及以上版本中支持。

代码

<html>  
    <head>  
        <title>CSS学习之路</title>  
        <meta http-equiv="Content-Type" content="text/html;" />
        <meta charset="UTF-8">
        <meta name="keywords" content="css 笔记" />  
        <meta name="description" content="shaoyuli的CSS3积累笔记" /> 
        <style type="text/css">
            * {
                padding: 0;
                margin: 0;
            }
            .clearfix {
                clear: both;
                overflow: auto;
                padding: 10px;
            }
            .demo {
                border: 1px solid #ccc;
                width: 300px;
                margin:50px auto;
            }
            .demo li {
                float: left;
                list-style: none;
                padding: 2px;
                border: 1px solid #ccc;
                margin-right: 4px;
                width: 20px;
            }
            .demo a {
                display: block;
                width: 20px;
                height: 20px;
                text-align: center;
                border-radius: 50%;
                background: #f36;
                text-decoration: none;
            }

            .demo li:first-child {
                background: #0f0;
            }
            /* 隔行换色 */
            /* 偶数行 2n或odd */
            .demo li:nth-child(2n) {

            }
            /* 奇数行 2n+1 或 even*/
            .demo li:nth-child(2n+1) {

            }
            /* 隔三行换色用3n或3n+1即可 */
            /* 选择倒数第三个元素 */
            .demo li:nth-last-child(3) {

            }

            /* 选择同一类型的元素的第三个 */
            .demo li:nth-of-type(3) {

            }
            /* 同理:first-of-type  :last-of-child */
            
            /* 只有一个元素的时候 */
            .demo li:only-child {
                background: skyblue;
            }
        </style>
    </head> 
    <body> 
        <div class="demo clearfix">
                <ul class="clearfix">
                    <p>0</p>
                    <li><a href="">1</a></li>
                    <li><a href="">2</a></li>
                    <li><a href="">3</a></li>
                    <li><a href="">4</a></li>
                    <li><a href="">5</a></li>
                    <li><a href="">6</a></li>
                    <li><a href="">7</a></li>
                    <li><a href="">8</a></li>
                    <li><a href="">9</a></li>
                    <li><a href="">10</a></li>
                </ul>
        </div>
        <div class="demo clearfix">
                <ul class="clearfix">
                    <li><a href="">2</a></li>
                </ul>
        </div>
    </body> 
</html> 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本选择器 回顾选择器 通配符选择器、元素选择器、类选择器、ID选择器、后代选择器 新增基本选择器 子元素选择...
    越IT阅读 1,186评论 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,588评论 1 45
  • 译者:颜海镜译文地址:http://yanhaijing.com/css/2014/01/04/the-30-cs...
    IT程序狮阅读 1,503评论 2 9
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,526评论 1 11
  •   尽管 DOM 作为 API 已经非常完善了,但为了实现更过的功能,仍然会有一些标准或专有的扩展。   2008...
    霜天晓阅读 438评论 0 0