前端:实现div的隐藏与显示

效果

完整代码

html 复制代码
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>div的隐藏与显示</title>
        <style>
        /* 标题样式 */
        h3 {
            text-align: center;
            margin: 2%;
        }

        /* 主体内容样式 */
        .content {
            display: flex;
            width: 100%;
        }

        /* 每一个小块的样式 */
        .item {
            flex: 1;
            display: flex;
            justify-content: center;
        }

        /* 按钮样式 */
        .hidden_btn {
            display: flex;
            width: 100%;
            justify-content: center;
            align-items: center;
            margin: 1%;
        }

        .btn_psn {
            width: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 15px;
            color: #ccc;
            cursor: default;
        }

        .btn_psn:hover {
            /* 鼠标样式设置为默认手势 */
            cursor: default;
            width: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 15px;
            color: #000;
            background-image: linear-gradient(to right, rgb(196, 206, 218, 0) 0%, rgb(196, 206, 218, 0.5) 50%, rgb(196, 206, 218, 0) 100%);
            /* 多个渐变色 */
        }

        .btn_arrow {
            padding: 5px;
            height: 100%;
            transform: rotate(90deg);
        }

        .arrow-up { 
            transform: rotate(-90deg);
        }

        .arrow-down {
            transform: rotate(90deg);
        }

        /* 隐藏的数据样式,开始设置为不展示 */
        #hidden_data {
            display: none;
        }
    </style>
    </head>

    <body>
        <h3>这是一个关于display让div显示与隐藏的测试</h3>
        <!-- 第一部分:需要显示的部分 -->
        <div class="content">
            <div class="item">
                <span>姓名:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>年龄:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>性别:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>生日:</span>
                <input type="text">
            </div>
        </div>
        <!-- 按钮 -->
        <div class="hidden_btn">
            <div class="btn_psn" onclick="toggleHiddenBtn()">
                <div class="btn_arrow" id="arrow">&gt;</div>
            </div>
        </div>
        <!-- 第二部分:可显示可隐藏的部分 -->
        <div class="content" id="hidden_data">
            <div class="item">
                <span>姓名:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>年龄:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>性别:</span>
                <input type="text">
            </div>
            <div class="item">
                <span>生日:</span>
                <input type="text">
            </div>
        </div>
        <!-- 写入js,实现主体样式的隐藏与显示的切换 -->
        <script>
        function toggleHiddenBtn() {
            var hiddenBtn = document.getElementById("hidden_data");
            var arrow = document.getElementById("arrow");
            if (hiddenBtn.style.display === "none") {
                hiddenBtn.style.display = "flex";
                arrow.classList.remove("arrow-down");
                arrow.classList.add("arrow-up");
            } else {
                hiddenBtn.style.display = "none";
                arrow.classList.remove("arrow-up");
                arrow.classList.add("arrow-down");
            }
        }
    </script>
    </body>
</html>
相关推荐
mCell5 小时前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
伟大的兔神5 小时前
我做了一个本地优先的 AI 图片工作台:Loomora v1.0.0 正式发布
前端·javascript·vue.js
fangzhanpeng1687 小时前
(前端)2.js变量作用域样例
开发语言·前端·javascript
码艺-Alimjan9 小时前
Vue项目源码备份最佳实践:无视node_modules,打包体积仅2MB
前端·javascript·vue.js
xixiaoyunya11 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
张元清11 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
Sayai11 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts
默_笙12 小时前
💌 为了把"主题色"传给孙子组件,我翻了五层楼——直到遇见了 useContext
前端·javascript
小KK_12 小时前
JS 事件循环从小白视角入门:宏任务、微任务与 async/await 一网打尽
前端·javascript
kisshyshy14 小时前
从 useRef 到 Web Worker:理解 React 可变对象与浏览器多线程
前端·javascript·react.js