纯CSS实现JS效果研究
利用CSS3:checked选择器和~配合实现tab切换
效果:

代码:
<style>
body,div,input,label{
margin:0;
padding:0;
}
#tab>input{
opacity:0;
position:absolute;
left:0;
top:0;
}
#tab .label{
overflow:hidden;
}
#tab .label>label{
float:left;
width:100px;
height:30px;
line-height:30px;
border:1px solid #dedede;
text-align:center;
margin-left:-1px;
}
.content li{
display:none;
}
input:nth-of-type(1):checked~.label>label:nth-of-type(1){
background-color:red;
color:#fff;
}
input:nth-of-type(2):checked~.label>label:nth-of-type(2){
background-color:red;
color:#fff;
}
input:nth-of-type(3):checked~.label>label:nth-of-type(3){
background-color:red;
color:#fff;
}
input:nth-of-type(1):checked~.content li:nth-of-type(1){
display:block;
}
input:nth-of-type(2):checked~.content li:nth-of-type(2){
display:block;
}
input:nth-of-type(3):checked~.content li:nth-of-type(3){
display:block;
}
</style>
<div id="tab">
<input checked type="radio" name="name" id="name1">
<input type="radio" name="name" id="name2">
<input type="radio" name="name" id="name3">
<div class="label">
<label for="name1">选择1</label>
<label for="name2">选择2</label>
<label for="name3">选择3</label>
</div>
<div class="content">
<ul>
<li>内容1内容内容1内容1</li>
<li>内容2内容内容2内容2</li>
<li>内容3内容内容3内容3</li>
</ul>
</div>
</div>
原理就是点击label的时候就会选中input标签,然后通过CSS让当前选中的那个元素的对应内容显示就好了。
利用:target实现遮罩层效果
单击按钮的时候会弹出遮罩层,如果再点遮罩层的话就会把遮罩层给隐藏。

代码:
<style>
#show{
position:fixed;
left:0;
top:0;
width:100%;
height:100%;
background-color:rgba(0,0,0,0.5);
display:none;
}
a[href="#hide"]{
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
#hide:target{
display:none;
}
#show:target{
display:block;
}
</style>
<a href="#show">显示</a>
<div id="hide">
<div id="show">
<a href="#hide"></a>
</div>
</div>
长期更新...
纯CSS实现JS效果研究的更多相关文章
- 利用target的特性,可以实现纯css的tab效果切换
基础知识: :target起作用的是href连接到的位置 如 <a href="#tab1">tab1</a> <div id="tab1& ...
- 纯 CSS 实现波浪效果!
一直以来,使用纯 CSS 实现波浪效果都是十分困难的. 因为实现波浪的曲线需要借助贝塞尔曲线. 而使用纯 CSS 的方式,实现贝塞尔曲线,额,暂时是没有很好的方法. 当然,借助其他力量(SVG.CAN ...
- 纯css、js 的H5页面对接echarts
做项目时,会遇到一些零碎的技术点.记录下来以防忘记 需求:做可视化界面,但是需要兼容ie8,需要用纯css.js 的H5页面对接echarts,下面为效果图(带定时器循环显示tooltip). 实现方 ...
- 纯css实现打字效果
概述 很早以前就在别人的博客上面看到打字动画了,觉得非常炫酷,以为是用js做的,找了半天也没找到js在哪里.今天看<css揭秘>,碰巧看到书上打字动画的实现了,而且是纯css实现的!我参考 ...
- 纯css实现幻灯片效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...
- 纯css做幻灯片效果
css3里面有一个@keyframes动画功能. w3c上面的例子: 可以使用它来做一个幻灯片效果. <!DOCTYPE html> <html lang="en" ...
- 各种轮播实现(纯css实现+js实现)
1.纯Css实现轮播效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- IE7,8纯css实现圆角效果
众所周知,IE7,8不支持border-radius效果.但我们同样有办法用css实现这个效果,方法就是用border来模拟. <!DOCTYPE html> <html lang= ...
- HTML5 CSS3专题 纯CSS打造相册效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/30993277 今天偶然发现电脑里面还有这样的一个例子,感觉效果还不错,不记得啥时 ...
随机推荐
- 用ADMM求解大型机器学习问题
[本文链接:http://www.cnblogs.com/breezedeus/p/3496819.html,转载请注明出处] 从等式约束的最小化问题说起: ...
- HTML5中的 Canvas
什么是Canvas? Canvas元素是HTML5的一部分,允许脚本语言动态渲染位图像.Canvas由一个可绘制地区HTML代码中的属性定义决定高度和宽度.JavaScript代码可以访问该地区,通过 ...
- ArcGIS百米网格自动生成
最近需要用百米网格进行空间叠加分析,首先得自动生成百米网格数据.经过查找,发现ARCgis可以自动生成网格.方法如下 2.创建格网(Creat Fishnet).需要用到ArcGIS的ArcToolb ...
- kafka及zookeeper安装
kafka_2.9.2-0.8.1.tgzzookeeper-3.4.8.tar.gz 安装 zookeeper1 export PATH=$PATH:/usr/local/zookeeper/bin ...
- Centos普通用户提权至ROOT
1.利用/bin/ping的漏洞普通用户提权.(rws中的s) [root@localhost ~]# ls -l /bin/ping -rwsr-xr-x. root root 9月 /bin/pi ...
- 伪元素小tips
1.伪元素的是dom看不见的,表现为行内元素.我这里说的伪元素是指::before ::after.其他的像:first-letter :visited 则属于伪类. 2.因为dom不可见,所以伪元素 ...
- Visual Studio2013(Update4)无法生成依赖项关系图解决方案
今天为了看别人写的一套框架,就琢磨着有没视图的方式去看别人每个类和方法之间的调用和继承关系.这个时候发现了一个VS2013自带的功能: 带着兴奋的心情小手一抖一点... 我等呀等,等呀等.... 尼玛 ...
- 使用Nginx实现负载均衡
使用Nginx实现负载均衡 一.nginx简介 nginx是一个高性能的HTTP服务器和反向代理服务器.它起初是俄罗斯人Igor Sysoev开发的,至今支撑者俄罗斯的很多大型的网站. 二.nginx ...
- 开始VS 2012 中LightSwitch系列的第1部分:表中有什么?描述你的数据
[原文发表地址] Beginning LightSwitch in VS 2012 Part 1: What’s in a Table? Describing Your Data [原文发表时间] ...
- 【腾讯Bugly干货分享】iOS10 SiriKit QQ适配详解
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ece0331288fb4d31137da6 1. 概述 苹果在iOS10开放 ...