美文网首页
CSS伪类选择器

CSS伪类选择器

作者: Mr_J316 | 来源:发表于2019-04-17 08:56 被阅读0次

    2019-04-15

    伪类是CSS的内部类定义,可以直接在代码中使用。

    超链接伪类

    伪类 用途
    a:link 设置a对象在未被访问前的样式表属性
    a:hover 设置a对象在其鼠标悬停时的样式表属性
    a:active 设置a对象在被用户激活(在鼠标单击与释放之间发生的事件)时的样式表属性
    a:visited 设置a对象在其链接地址已被访问过时的样式表属性
    <style type="text/css">
        a:link {
            color: #00ff00;
        }            
        a:hover {
            color: #FF0000;
        }            
        a:active {
            color: #0000ff;
        }            
        a:visited {
            color: #eee;
        }
    </style>    
    

    注: 适用于所有元素,将a替换成相应的标签即可

    例:鼠标经过表格变色

    <style type="text/css">
            tr:hover{
                background-color: chartreuse;
            }
    </style>
    

    鼠标悬停样式

    CSS的cursor属性可以定义鼠标悬停样式。

    描述
    url 需被使用的自定义光标的URL 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标。
    default 默认光标(通常是一个箭头)
    auto 默认。浏览器设置的光标。
    crosshair 光标呈现为十字线。
    pointer 光标呈现为指示链接的指针(一只手)
    move 此光标指示某对象可被移动。
    e-resize 此光标指示矩形框的边缘可被向右(东)移动。
    ne-resize 此光标指示矩形框的边缘可被向上及向右移动(北/东)。
    nw-resize 此光标指示矩形框的边缘可被向上及向左移动(北/西)。
    n-resize 此光标指示矩形框的边缘可被向上(北)移动。
    se-resize 此光标指示矩形框的边缘可被向下及向右移动(南/东)。
    sw-resize 此光标指示矩形框的边缘可被向下及向左移动(南/西)。
    s-resize 此光标指示矩形框的边缘可被向下移动(北/西)。
    w-resize 此光标指示矩形框的边缘可被向左移动(西)。
    text 此光标指示文本。
    wait 此光标指示程序正忙(通常是一只表或沙漏)。
    help 此光标指示可用的帮助(通常是一个问号或一个气球)。

    before与after伪类

    :before伪类在被选元素的前面插入内容。
    :after伪类在被选元素的后面插入内容。

    <style type="text/css">
        a:before{
         content:"请点击打开:";
        }
        a:after{
           content: "("attr(href)")";
            /*attr(href):获得href属性值*/
        }
    </style>
    </head>
    <body>
       <a href="http://www.baidu.com">百度</a><br />
       <a href="http://www.sohu.com">搜狐</a><br />
       <a href="http://www.163.com">网易</a><br />
    </body>
    

    结构化伪类 CSS3

    根据文档的结构关系选取元素,具体包括:

    :nth-child(n)伪类选择器
    :nth-last-child(n)伪类选择器
    :nth-of-type(n)伪类选择器
    :nth-last-of-type(n)伪类选择器
    :first-child伪类选择器
    :last-child伪类选择器
    :first-of-type伪类选择器
    :last-of-type伪类选择器
    :only-child伪类选择器
    :only-of-type伪类选择器
    :root伪类选择器
    :empty伪类选择器

    1. :nth-child(n)

    选取父元素中的第n个子元素。

    <style type="text/css">
       li:nth-child(2){
           color:red;
       }
    </style>
    <body>
        <ul>
            <li>a</li>
            <li>b</li>
            <li>c</li>
            <li>d</li>
        </ul>
        <ul>
            <li>A</li>
            <li>B</li>
            <li>C</li>
            <li>D</li>
        </ul>
    </body>
    

    li:nth-child(2) { color:red; }:更改在父元素中排第二的li的颜色,li: 要更改属性的标签
    li:nth-child(2n) 2n表示选取所有偶数项,3n则表示选取3、6、9等项;2n+1选取所有奇数项
    li:nth-child(even) even表示偶数项,odd表示奇数项

    例:表格隔行变色

    <style type="text/css">
            tr:nth-child(2n){/*在表格父元素中的所有偶数行*/
                background-color: aqua;
            }
            tr:nth-child(2n+1){/*在表格父元素中的所有奇数行*/
                background-color: blueviolet;
            }
    </style>
    

    2. :nth-last-child(n)

    选择父元素中倒数第n个子元素。

    3. :nth-of-type(n)

    与:nth-child(n)区别:
    使用li:nth-child(2)时,如果第2个元素不是li元素,选择器不起作用,不会做任何改变。
    使用li:nth-of-type(2)时,选取第2个li元素,无论这个li元素实际是第几个元素。

    4. :nth-last-of-type(n)

    nth-of-type(n) 获取元素的顺序相反。

    5. :last-child 与:first-child

    选择父元素中第一个与最后一个子元素,若指定类型不是第一个或最后一个,则选择不到元素

    6. :first-of-type和:last-of-type

    选择父元素中第一个与最后一个指定类型的子元素

    7. :only-child

    如果父元素只有一个子元素且是指定类型的子元素,则选择这个子元素。

    8. :only-of-type

    如果父元素有子元素且只有一个指定类型的子元素,则选择这个子元素。

    9. :root

    选择根元素,即<html>标签。

    <style type="text/css">
       :root{
           background-color:red;
       }
    </style>
    

    10. :empty

    选择没有任何内容的元素。

    <style type="text/css">
       div{
          width:100px;
          height:100px; 
          margin:10px;  
       }
       div:empty{
           background-color:red;
       }
    </style>
    <body>
        <div></div>
        <div>hello</div>
    </body>
    

    目标伪类

    :target-选取当前活动的目标元素。

    否定伪类

    :not-用排除法定位元素。

    <style type='text/css'>
         :target{
             border:5px solid red;
         }
         img:not(:target){
             border:5px solid green;
         }
    </style>
    <body>
         <p>
             <a href="#m1">第一</a>
             <a href="#m2">第二</a>
             <a href="#m3">第三</a>
         </p>
         <img id="m1" src="images/001.jpg" />
         <img id="m2" src="images/002.jpg" />
         <img id="m3" src="images/003.jpg" />   
    </body>
    

    相关文章

      网友评论

          本文标题:CSS伪类选择器

          本文链接:https://www.haomeiwen.com/subject/nsxgwqtx.html