纯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 今天偶然发现电脑里面还有这样的一个例子,感觉效果还不错,不记得啥时 ...
随机推荐
- Eclipse创建Android模拟器创建选项解释
- (转)为什么用ls和du显示出来的文件大小有差别?
曾经有几次,我用ls和du查看一个文件的大小,发现二者显示出来的大小并不一致,例如: bl@d3:~/test/sparse_file$ ls -l fs.img-rw-r--r-- 1 bl bl ...
- 'MAMapKit/MAMapKit.h' file not found
1.应该是derived data没清导致的.在Window -> Organizer -> Projects,找到你这个项目,然后点下右边derived data后边的delete按钮. ...
- JavaScript 基础第一天
一.前言 如果将前端比喻成一人,那么Html就是这个人的骨骼脉络,CSS则是这个人的身上的装饰,JavaScript则是这个人的行为.作为一种脚本语言JavasSript具有着弱类型等特点.(在这里我 ...
- C++之友元
友元提供了不同类的成员函数之间.类的成员函数与一般函数之间进行数据共享的机制.通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员.C++中的友元为封装隐藏这堵不透明的墙开了一 ...
- 在docker里部署网络服务
之前试着玩玩docker有一阵子了,今天算是头一回正式在docker里部署网络服务. 本来想和lxc差不多的东西那自然是手到擒来,没想到还是改了很多. 第一个遇到的问题是,远程连到docker宿主机干 ...
- highcharts 柱状图 折线图 混合 双纵轴显示
$(function () { $('#container').highcharts({ chart: { zoomType: 'xy' }, title: { text: '' }, colors: ...
- C#动态调用WCF
public class WcfChannelFactory { public WcfChannelFactory() { } /// <summary> /// 执行方法 WSHttpB ...
- debian(kali Linux) 安装net Core
debian(kali Linux) 安装net Core curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0-previ ...
- 程序员必须知道的几个Git代码托管平台
上一篇博客中2015继续任性——不会Git命令,照样玩转Git我们简单的介绍了在VS2013中使用Git,和GitHub客户端的使用.那么使用Git到底有什么好处呢?最为明显的是支持Git代码托管的平 ...