使用CSS3实现选项卡切换的方法

   2015-08-09 0
核心提示:这篇文章主要介绍了使用CSS3实现选项卡切换的方法,主要使用到了:target伪类,需要的朋友可以参考下

:target是什么?

MDN是这样描述的::target

    The :target pseudo-class represents the unique element, if any, with an id matching the fragment identifier of the URI of the document.

在document中,可以设置锚链接,举个例子:

CSS Code复制内容到剪贴板
  1. <a href="#tab">Test :target</a>   
  2. <a href="#tab2">Test 2:target</a>   
  3. <div id="tab">This is a tab.</div>   
  4. <div id="tab2">This is another tab.</div>  

上面存在两个锚链接:#tab和t#ab2。当点击锚链接时,就会跳到对应的div,则::target就是给这些div用的。添加一下CSS

CSS Code复制内容到剪贴板
  1. :target{   
  2.     color:red;   
  3. }   
  4. #tab:target::after{   
  5.     content:"tab1"  
  6. }  

点击锚链接,对应链接的div的文本变成红色,另外,给#tab后面插入一个文本。

效果猛戳:https://jsfiddle.net/dwqs/cL8rawov/
应该大致明白了:target的含义了吧~

:target可以做什么

最简单的用处:利用:target实现选项卡切换。
HTML:

      

XML/HTML Code复制内容到剪贴板
  1. <div class="tab-control">  
  2.           <a href="#tab1">tab1</a>  
  3.           <a href="#tab2">tab2</a>  
  4.           <a href="#tab3">tab3</a>  
  5.       </div>  
  6.       <div class="tabs">  
  7.           <div id="tab1" class="tab">This is a tab1</div>  
  8.           <div id="tab2" class="tab">This is a tab2</div>  
  9.           <div id="tab3" class="tab">This is a tab3</div>  
  10.       </div>  

CSS:

CSS Code复制内容到剪贴板
  1. .tab-control a{   
  2.     display:inline-block;   
  3.     text-decoration:none;   
  4.     color:#FFF;   
  5.     height:20px;   
  6.     width:40px;   
  7.     text-align:center;   
  8.     line-height:20px;   
  9.     background:rgba(70,121,189,0.75);   
  10. }   
  11. .tab-control a:hover{   
  12.     background:rgba(70,121,189,1);   
  13. }   
  14. .tabs{   
  15.     position:relative;   
  16.     border:1px solid red;   
  17.     height:200px;   
  18.     width:135px;   
  19.     overflow:hidden;   
  20. }   
  21. .tab{   
  22.     height:100%;   
  23.     width:100%;   
  24. }   
  25. :target{   
  26.     display:block;   
  27. }  

看看效果:Demo
当然,:target的功能不仅局限于此。隐藏元素、创建lightbox 等。MDN上给了很多个demo:more demo.
你自己也可以脑洞大开一下,哈哈。
浏览器支持

对于:target伪类,浏览器支持情况还是不错的。
使用CSS3实现选项卡切换的方法

 
标签: CSS3 选项卡
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 纯CSS3实现的一些酷炫效果 css实现炫酷背景
    纯CSS3实现的一些酷炫效果 css实现炫酷背景
      之前在网上看到一些用纯CSS3实现的酷炫效果,以为实现起来比较困难,于是想看看具体是怎么实现的。一、笑脸猫动画实现效果如下:这个实现起来确实比较麻烦,很多地方需要花时间,有耐心地调整。1.先看下页面结构:bodydiv class="container"!-- 脸 --div
    03-08
  • css3 渐变gradient
    css3 渐变gradient
           CSS3引入了背景渐变、background-origin、background-clip、background-size、遮罩等多个属性。这里将记录我从网上和书上学习的笔记和心得体会。   首先是渐变,我这里讲述的渐变不仅仅是背景色的渐变还将包括透明度渐变。以前做这种背景色渐
    03-08
  • CSS3中的px,em,rem,vh,vw辨析 css3 vw
    1、px:像素,精确显示2、em:继承父类字体的大小,相当于“倍”,如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端          em换算工具:http://www.runoob.com/tags/ref-pxtoemconversion.html3、rem:与em类似,
    03-08
  • CSS3 Flexbox轻松实现元素的水平居中和垂直居中
    CSS3 Flexbox轻松实现元素的水平居中和垂直居中网上有很多关于Flex的教程,对于Flex的叫法也不一,有的叫Flexbox,有的叫Flex,其实这两种叫法都没有错,只是Flexbox旧一点,而Flex是刚出来不久的东西而已,为了方便说明,赶上新技术,下面我就把这种布局叫Fl
    03-08
  • css3多行文本溢出显示省略号… css3行超出省略
    .title {width: rem(210);overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;}
    03-08
  • css3新增特性 css 3新增特性
     1、CSS3选择器2、CSS3边框(Borders)3、CSS3背景4、CSS3渐变5、CSS3文本效果6、CSS3字体7、CSS3转换和变形1)2D转换方法2)3D转换属性8、CSS3过度9、CSS3动画10、CSS3多列11、CSS3盒模型12、CSS3伸缩布局盒模型(弹性盒子)13、CSS3多媒体查询
    03-08
  • 纯css3代码写九宫格效果 css九宫格 图片布局
    主要用到css3中的transition和布局知识。代码如下1 !DOCTYPE html2 html lang="en"3 head4 meta charset="UTF-8"5 meta name=""6 title标题/title7 /head8 style type="text/css"9 *{margin: 0;padding: 0;} 10 body{background: url(images/bg.jpg);}
    03-08
  • 快速了解CSS3当中的HSLA 颜色值怎么算
    快速了解CSS3当中的HSLA 颜色值怎么算
    CSS3文档中提到:(HSLA)H是色度,取值在0度~360度之间,0度是红色,120度是绿色,240度是蓝色。360度也是红色。S是饱和度,是色彩的纯度,是一个百分比的值,取值在0%~100%,0%饱和度最低,100%饱和度最高L是亮度,也是一个百分比值,取值在0%~100%,0%最暗
    03-08
  • css3动画 --- 网站背景图片渐变且切换
    !DOCTYPE htmlhtmlheadmeta charset="utf-8"titleCSS3全屏背景图片缩小渐变自动切换代码/title!-- link rel="stylesheet prefetch" href="http://fonts.useso.com/css?family=Raleway:300" --style type="text/css"*{margin:0;padding:0;}.slideshow
    03-08
  • 谈谈CSS3中display属性的Flex布局(弹性布局)
    谈谈CSS3中display属性的Flex布局(弹性布局)
    最近为了微信小程序,回忆起之前有接触过的弹性布局(display:Flex)网上摘录的原文地址:https://www.cnblogs.com/xuyuntao/articles/6391728.html因为一直是一个大概能用的状态,今天来系统的掌握一下这块,据说这是趋势,在移动端用的比较多一点,在PC端因
    03-08
点击排行