仿照这个

实现了一个纯css的导航功能

html

<div class="main">
<div id="contain1">列表一内容</div>
<div id="contain2">列表二内容</div>
<ul class="tab">
<li><a href="#contain1">列表一</a></li>
<li><a href="#contain2">列表二</a></li>
</ul>
</div>

css

.main{
position: absolute;
left: 50%;
top:30%;
transform: translate(-50%,-50%); /*translate(x,y) 定义 2D 转换。*/
}
.tab {
margin: 0;
padding: 0;
overflow: hidden;/*overflow 规定当内容溢出元素框时发生的事情。*/
list-style-type: none;/*list-style-type 设置列表项标记的类型*/
} .tab li {
float: left;
} .tab li a {
text-decoration: none;/*text-decoration 添加到文本的装饰效果*/
color: #000;
background: #ddd;
display: inline-block;
width: 120px;
height: 40px;
text-align: center;
line-height: 40px;
} #contain1,
#contain2 {
display: none;
width:240px;
height:100px;
border:1px solid #ddd;
position: absolute;
top:40px;
padding:10px;
box-sizing: border-box;/*box-sizing 允许您以确切的方式定义适应某个区域的具体内容。*/
}
/*关键部分*/
/*:target 是 CSS3 新增的一个伪类,可用于选取当前活动的目标元素
当 URL 末尾带有锚名称 #,就可以指向文档内某个具体的元素。这个被链接的元素就是目标元素(target element)。
它需要一个 id 去匹配文档中的 target 。*/
#contain1:target,
#contain2:target {
display: block;
}
/*触发变色*/
/*兄弟选择符 ~*/
/*E~F{ cssRules } ,CSS3 兄弟选择符(E~F) ,选择 E 元素后面的所有兄弟元素 F*/
/*E~F 只能选择 E 元素 之后 的 F 元素,所以顺序就显得很重要了*/
/*CSS3 :nth-child() 选择器*/
/*:nth-child(n) 选择器匹配属于其父元素的第 N 个子元素,不论元素的类型。*/
/*n 可以是数字、关键词或公式。*/
#contain1:target ~ .tab li:nth-child(1) a{
background:skyblue;
color:#fff;
}
#contain2:target ~ .tab li:nth-child(2) a{
background:skyblue;
color:#fff;
}

https://www.cnblogs.com/bgwhite/p/9414282.html

https://www.jianshu.com/p/616774052c61

http://www.w3school.com.cn/cssref/index.asp

http://www.w3school.com.cn/cssref/selector_nth-child.asp

纯css实现tab导航的更多相关文章

  1. 纯CSS完成tab实现5种不同切换对应内容效果

    很常用的一款特效纯CSS完成tab实现5种不同切换对应内容效果 实例预览 下载地址 实例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  2. 利用target的特性,可以实现纯css的tab效果切换

    基础知识: :target起作用的是href连接到的位置 如 <a href="#tab1">tab1</a> <div id="tab1& ...

  3. CSS3 target 伪类不得不说那些事儿(纯CSS实现tab切换)

    是不是觉得target有点眼熟?! 今天要讲的不是HTML的<a>标签里面有个target属性. target伪类是css3的新属性. 说到伪类,对css属性的人肯定都知道:hover.: ...

  4. 纯CSS实现tab选项卡切换

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta cont ...

  5. 纯css实现京东导航菜单

    纯CSS代码实现导航菜单,推荐在chrome预览! 预览请点击这里:mygithub <!doctype html> <html lang="en"> &l ...

  6. 纯CSS实现二级导航下拉菜单--css的简单应用

    思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...

  7. 【CSS Demo】纯 CSS 打造 Flow-Steps 导航

    low-Steps 导航效果常用于需要表示执行步骤的交互页面,效果如下: 步骤一 步骤二 步骤三   通常使用图片来实现 Flow-Steps 效果,但此方法的灵活性不足,当内容变化较大时就可能需要重 ...

  8. 如何使用纯CSS制作特效导航条?

    先上张图,如何使用纯 CSS 制作如下效果? 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果. OK,继续.这个效果是我在业务开发的 ...

  9. 教你两招用纯CSS写Tab切换

    说到Tab切换,你可能首先想到的就是使用jQuery,短短几行代码就可以轻松搞定一个Tab切换. 而今天所要分享的,是使用 0 行JS代码来实现Tab切换! 具体效果如下:   Tab切换 方法一:模 ...

随机推荐

  1. 16.Nginx HTTPS实践

    1.不做任何修改实现http跳转https(协议间的跳转): return [root@web01 conf.d]# cat url.cheng.com.conf server { listen 80 ...

  2. 【RabbitMQ 实战指南】一 延迟队列

    1.什么是延迟队列 延迟队列中存储延迟消息,延迟消息是指当消息被发送到队列中不会立即消费,而是等待一段时间后再消费该消息. 延迟队列很多应用场景,一个典型的应用场景是订单未支付超时取消,用户下单之后3 ...

  3. JVM(1) Java内存区域

    对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个new操作去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题.不过,也正是因为Java程序员把内存控制的权 ...

  4. unity 动画 音频播放

    采用Unity进行音频动画的播放时最常用的技术,在此进行一下简单讲解与应用. (一)动画播放(本文采用animation进行验证,关于animation和animator区别可问度娘,在此不做赘述) ...

  5. 设计时需要考虑的问题(webAPI)

    1.根据api接口访问路径定义好controller和action. 2.记录操作日志.包含接口入参.出参.异常以及重要的节点数据(数据库返回.第三方接口返回.重要的私有变量值) 3.入参合法性检查. ...

  6. Flask+WebSocket实现群聊与单聊功能

    在开始我们的程序代码之前,先来了解一下相关的基础知识: 1.什么是websocket? (1)WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket ...

  7. (Java) AES-128 数据加密

    package com.vcgeek.hephaestus.utils; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeyS ...

  8. Shiro笔记---身份验证

    1.shiro有哪些主要功能 2.搭建shiro环境(*) idea2018.2.maven3.5.4.jdk1.8   项目结构: pom.xml: <dependencies> < ...

  9. VSCode实现文献管理

    1 常用文献管理软件 常用的文献管理软件有mendely,zotero,endnote和Papers(需要付费),具体对比参考链接1.1.1.2 笔者只用过Mendely,当时综合考虑挑了Endnot ...

  10. Jenkins 2.60.x 2种发送邮件方式

    1.1 默认发邮件的配置方式 1.1.1 系统级别 邮件配置 1.1.2 项目级别 邮件配置 测试构建失败是否会发邮件: 控制台输出:提示已发送邮件给项目配置指定的两个邮箱地址. 1.1.2.1  查 ...