(自学收获)纯css网页小部件--tab切换

      学js的同时,今天尝试了下纯css的tab切换效果,做完说一下自己的收获。

      做tab我学到的css有两种方法难过我没学到的可能还有nnnn种。

      首先做tab主要思路就是靠display的none和block值,来完成隐藏和显示你要表现的内容。

     第一种是使用<a>标签和 id锚连接,通过<a>连接到同一网页相应的#部位,通过:target伪类(每个伪类所捕获的状态不一样,要根据状态选择伪类,所以这里选择target)。

     第二种是靠<li>  <input>  和 <lebal>

                思路:<li>作为一个按钮效果的列表。

                           <lebal>的作用就是让<li>和<input>关联,让li的内容被点击时,会触发input的check状态。

                           <input>具有check的状态 可以通过checked伪类和~兄弟元素来连接要表现的样式。

效果截图:


html代码

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>tabSwitch</title>
	<link rel="stylesheet" href="tabSwitch.css">
</head>
<body>
	<div class="container">
        <input class="nav1" id="li1" type="radio" name="nav">
        <input class="nav2" id="li2" type="radio" name="nav">
        <ul class='nav'>
            <li><label for="li1">列表1</label></li>
            <li><label for="li2">列表2</label></li>
        </ul>
        <div class="content">
            <div class="content1">哈哈哈我是内容一</div>
            <div class="content2">嘿嘿嘿我是内容二</div>
         </div>
    </div>
</body>
</html>
css代码
* {
    padding: 0;
    margin: 0;
}
.container {
    position: absolute;
    left: 15%;
    top: 15%;
    width: 400px;
    height: 300px;
    border: 1px solid #aa0;
}
input {
    display: none;
}
.nav {
    width: 400px;
    height: 50px;
}
.nav li {
    float: left;
    width: 198px;
    border: 1px solid #fff;
    background-color: #999;
    cursor: pointer;
    height: 50px;
    list-style: none;
    box-sizing: border-box;
    text-align: center;
    line-height: 50px;
}
.nav li label {
    display: block;
    width:200px;
    height: 50px;
}
.content {
    padding: 20px;
    width: 400px;
    height: 250px;
}
.content1,
.content2 {
    display: none;
}
.nav1:checked ~ .nav li:nth-child(1) {
    color: #fff;
    background-color: #0a0;
}
.nav2:checked ~ .nav li:nth-child(2) {
    color: #fff;
    background-color: #0a0;
}
.nav1:checked ~ .content > .content1{
    display: block;
}
.nav2:checked ~ .content > .content2{
    display: block;
} 
      好多标签都需要好好体会他的用法,他的功能有很大的挖掘潜力。

                          



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值