纯css3制作选项卡

继上一篇文章后,突发奇想利用纯粹的css3和radio的特性来打造一个选项卡切换的效果

普通的选项卡效果一般分为html+css+js来制作

步骤如下:
  1. html做布局
  2. css做样式
  3. js添加切换效果

纯css3怎么解决呢?

  1. html利用radio放到label中,将其隐藏(display:none),然后用input:checked~[label里的所要修饰的标签]
  2. css修饰相关样式,利用radio特性写样式
  3. 就是这么屌,写完了
纯css3制作选项卡_第1张图片
选项卡功能就这么写完了

好了,废话不说,上代码

html部分:
css部分:
*{margin:0;padding:0;}
body{background:#fff;font-size:16px;}
.clear{overflow:hidden;}
.fl{float:left;}
.fr{float:right;}
.text-center{text-align:center;}
.box{display:box;display:-webkit-box;}
.center{display:box;display:-webkit-box;-webkit-box-align:center;-webkit-box-pack:center;}
input{display:none;}
.list{border-bottom:1px solid #1fa7e3;}
label{position:relative;width:1rem;display:block;height:40px;line-height:40px;}
label span{display:block;transition:.3s;-webkit-transition:.3s;box-shadow:inset 0 0 0 #1fa7e3;-webkit-box-shadow:inset 0 0 0 #1fa7e3;}
label p{width:2.8rem;padding:.1rem;font-size:14px;opacity:0;transition:.3s;-webkit-transition:.3s;line-height:20px;text-align:left;z-index:-1;visibility:hidden;position:absolute;left:0;top:40px;}
label:nth-child(2) p{left:-1rem;}
label:nth-child(3) p{left:-2rem;}
input:checked~p{opacity:1;visibility:visible;}
input:checked~span{opacity:1;color:#fff;box-shadow:inset 0 0 100px #1fa7e3;-webkit-box-shadow:inset 0 0 100px #1fa7e3;}
demo效果图
纯css3制作选项卡_第2张图片
demo效果图

好了,没有写js的感觉是不是很爽!!!
欢迎大家对我的分享进行评论,指正
另,欢迎关注我的微信公众号:峰来风趣 观看更多精彩内容

demo在这

你可能感兴趣的:(纯css3制作选项卡)