纯前端实现-tab卡片化样式切换
作者:互联网
纯前端实现-tab卡片化样式切换
html内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>选项卡切换</title>
<link rel="stylesheet" type="text/css" href="./css/index.css" />
</head>
<body>
<div id="main">
<div class="tabs">
<div class="red active">选项一</div>
<div class="green">选项二</div>
<div class="blue">选项三</div>
<div class="yellow">选项四</div>
</div>
<div id="content">
<div id="one" class="active">
<p>
爱情要完结的时候自会完结,到时候,你不想画上句号也不行。爱情,原来是含笑饮毒酒。
</p>
<img src="./imgs/1.jpeg" />
</div>
<div id="two">
<p>
在这个光怪陆离的人间,没有谁可以将日子过的行云流水。但我始终相信,走过平湖山雨,岁月山河,那些历尽劫数,尝遍百味的人,会更加生动而干净。
</p>
<img src="./imgs/2.jpeg" />
</div>
<div id="three">
<p>
对于三十岁以后的人来说,十年八年不过是指缝间的事,而对于年轻人而言,三年五年就可以是一生一世。
</p>
<img src="./imgs/3.jpeg" />
</div>
<div id="four">
<p>
我要你知道,在这个世界上总有一个人是等着你的,不管在什么时候,不管在什么地方,反正你知道,总有这么个人。
</p>
<img src="./imgs/4.jpeg" />
</div>
</div>
</div>
</body>
<script src="./js/index.js" type="text/javascript" charset="utf-8"></script>
</html>
css内容
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
body{
background: #f5f5f5;
}
#main{
width: 440px;
margin: 30px auto;
position: relative;
height: 450px;
}
.tabs{
width: 440px;
height: 50px;
line-height: 50px;
display: flex;
/* list-style: none; */
/* text-align: left; */
/* margin: 0; */
/* padding: 0; */
margin-bottom: -1px;
position: absolute;
top: 0;
left: 0;
z-index: 999;
}
.tabs div {
text-align: center;
cursor: pointer;
width: 110px;
}
#content{
position: absolute;
width: 440px;
height: 400px;
overflow: hidden;
margin: 49px auto;
}
#content div{
position: absolute;
width: 440px;
height: 400px;
overflow: hidden;
background-color: white;
border: 1px solid #dddddd;
padding: 20px 30px;
text-align: center;
}
#content img{
display: inline-block;
max-height: 240px;
margin: 10px auto;
}
#content p{
word-break: break-all;
text-align: left;
padding: 20px 0 10px 0;
}
.active{
z-index: 99;
background: white;
border: 1px solid #dddddd;
border-bottom: none;
}
javascript内容
// 实现选项卡功能
function init() {
// TODO 待补充代码
var tabs = document.querySelectorAll('.tabs>div');
var contents = document.querySelectorAll('#content>div');
console.log(tabs);
console.log(contents);
for (let i = 0; i < tabs.length; i++) {
tabs[i].index =i;
tabs[i].onclick = function () {
for (let j = 0; j < tabs.length; j++) {
tabs[j].classList.remove("active");
contents[j].classList.remove("active");
}
tabs[i].classList.add("active");
contents[i].classList.add("active");
}
}
}
init();
标签:卡片,width,样式,height,content,tabs,tab,active,margin 来源: https://www.cnblogs.com/oceaneyes-gzy/p/16467755.html