写一个点击从左侧滑出的布局

创建一个点击从左侧滑出的布局通常涉及到HTML、CSS和JavaScript。以下是一个简单的实现:

  1. HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>左侧滑出布局</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div id="sidebar" class="sidebar">
        <ul>
            <li>Item 1</li>
            <li>Item 2</li>
            <li>Item 3</li>
            <!-- ... 其他项 ... -->
        </ul>
    </div>
    <div id="content" class="content">
        <button id="toggleButton">Toggle Sidebar</button>
        <p>这是主要内容区域。</p>
    </div>
    <script src="script.js"></script>
</body>
</html>
  1. CSS (styles.css):
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
}

.sidebar {
    width: 250px;
    height: 100%;
    background-color: #333;
    position: fixed;
    left: -250px;  /* 初始时隐藏在屏幕外 */
    top: 0;
    transition: left 0.5s ease;  /* 平滑过渡效果 */
    color: #fff;
}

.sidebar.active {
    left: 0;  /* 当侧边栏激活时,移动到屏幕内 */
}

.content {
    margin-left: 0;  /* 初始时内容区域不缩进 */
    transition: margin-left 0.5s ease;  /* 平滑过渡效果 */
    padding: 20px;
}

.content.active {
    margin-left: 250px;  /* 当侧边栏激活时,内容区域缩进 */
}
  1. JavaScript (script.js):
document.addEventListener('DOMContentLoaded', function() {
    var sidebar = document.getElementById('sidebar');
    var content = document.getElementById('content');
    var toggleButton = document.getElementById('toggleButton');
    
    toggleButton.addEventListener('click', function() {
        if (sidebar.classList.contains('active')) {
            sidebar.classList.remove('active');
            content.classList.remove('active');
        } else {
            sidebar.classList.add('active');
            content.classList.add('active');
        }
    });
});

这个简单的示例展示了如何创建一个点击按钮从左侧滑出的侧边栏布局。当用户点击“Toggle Sidebar”按钮时,侧边栏会从屏幕左侧滑出,同时内容区域会相应地缩进。

posted @   王铁柱6  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示