前言
前几天想写个Tab导航栏,在搜索引擎搜到C站一位bz的文章(注1)。代码虽短小,觉得有些意思,稍微修葺完成一个简单的Tab导航栏。基本原理是使用radio类型的input标签的属性选择器来修改不同状态tab标签的style样式和内容模块的z-index属性,从而实现tab标签的状态转换和内容显示。不得不说,CSS选择器2真的很强大。适当的使用就可以精简很多不必要的代码。当然配合使用Javascript提升用户体验也是不错的选择。为了简化说明,这里没有提及Javascript代码。实际应用中,是有必要使用Javascript来实时更新页面的。
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>MyFin</title>
</head>
<style type="text/css">
.tabs{
position: relative;
/** note 1 **/
height: 1918px;
/** just for test **/
min-height: 1920px;
max-height: 1920px;
clear: both;
margin: 25px 0;
/** note 2 **/
/** overflow:scroll; **/
overflow: hidden;
}
.tab{
float: left;
margin: 25px 0;
}
.tab [type=radio]{
display: none;
}
.tab label{
background: #eee;
pa