成果展示
image.png
代码展示
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>选项卡效果</title>
<style>
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,body{
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
html{font-size: 10px;}
.tab{
width: 40rem;
height: 30rem;
border: solid 1px #000;
}
.tab-title{
width: 100%;
height: 5rem;
background-color: antiquewhite;
border-bottom: solid 2px orange;
display: flex;
justify-content: center;
align-items: center;
}
.tt{
flex:1;
height: 5rem;
background-color: aliceblue;
font-size: 1.8rem;
text-align: center;
line-height: 5rem;
}
.tt.active,
.tt:hover{
background-color: orange;
color: white;
}
.tab-content{
width: 100%;
height:248px;
background-color: aquamarine;
position: relative;
}
.tc{
width: 100%;
height: 100%;
font-size: 1.8rem;
text-align: center;
color: white;
position: absolute;
}
.tc:nth-last-of-type(1){
background-color: rgb(255, 0, 21);
}
.tc:nth-last-of-type(2){
background-color: green;
}
.tc:nth-last-of-type(3){
background-color:rgb(0, 42, 255);
}
</style>
</head>
<body>
<div class="tab">
<div class="tab-title">
<div class="tt active">标题1</div>
<div class="tt">标题2</div>
<div class="tt">标题3</div>
</div>
<div class="tab-content">
<div class="tc">内容1</div>
<div class="tc">内容2</div>
<div class="tc">内容3</div>
</div>
</div>
<script>
let tts=document.getElementsByClassName("tt")
console.log(tts)
for(let i=0;i<tts.length;i++){
tts[i].onmouseenter=function(){
for(let j=0;j<tts.length;j++){
tts[j].classList="tt"
}
tts[i].classList="tt active"
let tcs=document.getElementsByClassName("tc")
for(let x=0;x<tcs.length;x++){
tcs[i].classList="tc"
}
tcs[i].classList="tc active"
}
}
</script>
</body>
</html>
注意
getElementsByClassName等中的大小写不要打错了,否则代码会出现错误
细节自己调试