zoukankan      html  css  js  c++  java
  • CSS3 target伪类简介

     

     

    CSS3 target伪类是众多实用的CSS3特性中的一个。它用来匹配文档(页面)的URI中某个标志符的目标元素。具体来说,URI中的标志符通常会包含一个”#”字符,然后后面带有一个标志符名称,比如#respond,target就是用来匹配ID为respond的元素的。

    现在在页面中,点击一个ID链接后,页面只会跳转到相应的位置,但是并不会有比较明显的UI标识,使用:target伪类可以像:hover等伪类一样对目标元素定义样式。

    浏览器支持

    因为我们在讨论CSS3,所以它现在被除了IE6-8以外的所有浏览器支持,但是IE9会支持这个伪类。这是相当遗憾的,但是这个现实并不影响你使用它。

    如何使用:target

    :target伪类和:hover、:link、:visited、:focus等伪类的用法是一样的:

    1
    2
    3
    4
    
    selector:target{
    color:red;
    /*other styles*/
    }

    实例

    让我们通过一个简单的例子来演示。比如我们在页面中常常会用到tab,之前我们要用脚本来实现,YUI、jQuery也都有这样的插件或者模块,但是现在我们用:target伪类就可以实现。

    HTML结构:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    <ul class="tabs">
    	<li><a href="#tab1">标签一</a></li>
    	<li><a href="#tab2">标签二</a></li>
    	<li><a href="#tab3">标签三</a></li>
    </ul>
    <div id="tab1" class="tab_content">
    <!--tabed content--></div>
    <div id="tab2" class="tab_content">
    <!--tabed content--></div>
    <div id="tab3" class="tab_content">
    <!--tabed content--></div>

    CSS3代码:

    1
    2
    3
    4
    5
    6
    7
    8
    
    /*layout styles*/
    .tab_content {
    	position: absolute;/*set content box as absolute*/
    	/*other layout styles*/
    }
    #tab1:target, #tab2:target, #tab3:target {
    	z-index: 1;
    }

    原理想必大家都看懂了,就是将tab内容框设置为绝对定位,然后通过:target伪类调整其z-index。

    这里是个demo页面

    具体用法就是这么简单,在实际项目中大家就可以随意发挥了 :)

    <a href="#要匹配的ID">按钮</a>

    <div id="要匹配的ID"></div>

    要匹配的ID:target { CSS样式}

    就是这种用法- -CSS样式随便改 就能做出各种动画效果

  • 相关阅读:
    IPv4地址被用光,IPv6将接手
    杀猪盘
    大家都应该看看这个贴子,会让你心明眼亮。 注意到这些变化了吗?中国正在发生的100个变化,越往后读越震惊!
    区块链在中国怎么练?
    区块链到底是什么样的技术呢?
    2019感恩节
    人工智能、大数据、物联网、区块链,四大新科技PK,你更看好谁?
    vue遇见的问题(2)---imported multiple times(转载)
    drf-序列化器的理解
    Django rest_framework序列化many=True参数解释
  • 原文地址:https://www.cnblogs.com/cd-snoopy/p/3751507.html
Copyright © 2011-2022 走看看