选项卡开发

目标:

开发一个网页选项卡

效果暂时如下:

1743172283072.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%;}
        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: space-between;
            align-items: center;
        }
        .tt{
            flex: 1;
            height:5rem;
            background-color: #fff;
            font-size: 1.8rem;
            text-align:center;
            line-height: 5rem;
        }   
        .tt.active,
        .tt:hover{
            background-color: orange;
            color:white;
        }     
        .tab-content{
            width: 100%;
            height:calc(100% - 5rem);  /* calculation 计算*/
            background-color:aquamarine;
            position: relative;
        }       
        .tc{
            width:100%;
            height: 100%;
            font-size: 1.8rem;
            text-align:center;
            color:white;
            position: absolute;
            display:none;
        }
        .tc.active{
            display:block;
        }
        /* :nth-of-type(1) 伪类样式,和前面选择器中间不能有空格,表示选择第一个标签*/
        .tc:nth-of-type(1) {
            background-color:blue;
        }
        .tc:nth-of-type(2) {
            background-color:green;
        }
        .tc:nth-of-type(3) {
            background-color:red;
        }
    </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 active">内容部分1</div>
            <div class="tc">内容部分2</div>
            <div class="tc">内容部分3</div>
        </div>
    </div>    
    <script>      
        let tts = document.getElementsByClassName("tt")     
        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[x].classList = "tc"
                } tcs[i].classList = "tc active"
            }
        }
    </script>
</body>
</html>
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容