HTML左右分页2【搬代码】

HTML左右分页2

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="style.css"></link>
</head><body><!-- 左侧导航栏 --><div id="left-nav"><!-- 第一个下拉框 --><div class="dropdown"><button class="dropdown-btn">菜单 1</button><ul class="dropdown-content"><li data-content="content1">子菜单 1-1</li><li data-content="content2">子菜单 1-2</li></ul></div><!-- 第二个下拉框 --><div class="dropdown"><button class="dropdown-btn">菜单 2</button><ul class="dropdown-content"><li data-content="content3">子菜单 2-1</li><li data-content="content4">子菜单 2-2</li></ul></div></div><!-- 右侧内容区域 --><div id="right-content"><!-- 顶部操作栏 --><div id="top-bar"><!-- 隐藏导航栏按钮 --><button id="toggle-nav"></button><!-- 右上角个人中心图标 --><span id="profile-icon">👤</span></div><!-- 内容显示区域 --><div id="content-area"><div id="content1" class="show"><div class="content1-child">这是 content1 里的第一个子 div 内容</div><div class="content1-child">这是 content1 里的第二个子 div 内容</div></div><div id="content2" class="hide"><div class="content2-child">这是 content2 里的第一个子 div 内容</div><div class="content2-child">这是 content2 里的第二个子 div 内容</div></div><div id="content3" class="hide"><div class="content3-child">这是 content3 里的第一个子 div 内容</div><div class="content3-child">这是 content3 里的第二个子 div 内容</div></div><div id="content4" class="hide"><div class="content4-child">这是 content4 里的第一个子 div 内容</div><div class="content4-child">这是 content4 里的第二个子 div 内容</div></div></div></div>
</body>
<script src="script.js"></script>
</html>

css

<style>
/* 整体页面样式 */
body {margin: 0;padding: 0;font-family: Arial, sans-serif;display: flex;height: 100vh;
}/* 左侧导航栏样式 */
#left-nav {position: fixed;width: 200px;height: 100vh;background-color: #333;color: white;padding-top: 20px;transition: width 0.3s ease;overflow-y: auto;
}/* 隐藏左侧导航栏时的样式 */
#left-nav.hidden {width: 0;overflow: hidden;
}/* 导航栏下拉框样式 */
.dropdown {position: relative;display: block;
}/* 下拉框按钮样式 */
.dropdown-btn {background-color: #333;color: white;padding: 10px;width: 100%;border: none;text-align: left;cursor: pointer;
}/* 下拉框内容样式 */
.dropdown-content {display: none;position: relative;background-color: #444;width: 100%;
}/* 下拉框内容列表项样式 */
.dropdown-content li {padding: 10px;cursor: pointer;
}/* 下拉框内容列表项悬停样式 */
.dropdown-content li:hover {background-color: #555;
}/* 右侧内容区域样式 */
#right-content {flex: 1;display: flex;flex-direction: column;margin-left: 200px; /* 留出左侧导航栏的空间 */
}/* 顶部操作栏样式 */
#top-bar {display: flex;justify-content: space-between;align-items: center;padding: 10px;background-color: #f0f0f0;
}/* 隐藏导航栏按钮样式 */
#toggle-nav {background: none;border: none;font-size: 20px;cursor: pointer;
}/* 右上角个人中心图标样式 */
#profile-icon {font-size: 20px;cursor: pointer;
}/* 内容显示区域样式 */
#content-area {padding: 20px;overflow-y: auto;
}/* 内容区域显示与隐藏类 */
.show {display: flex;justify-content: space-around;
}.hide {display: none;
}/* content1 内子 div 样式 */
.content1-child {background-color: lightblue;padding: 10px;margin: 5px;flex: 1;
}/* content2 内子 div 样式 */
.content2-child {background-color: lightgreen;padding: 10px;margin: 5px;flex: 1;
}/* content3 内子 div 样式 */
.content3-child {background-color: lightcoral;padding: 10px;margin: 5px;flex: 1;
}/* content4 内子 div 样式 */
.content4-child {background-color: lightyellow;padding: 10px;margin: 5px;flex: 1;
}
</style>

script

<script>// 获取左侧导航栏元素const leftNav = document.getElementById('left-nav');// 获取切换导航栏按钮元素const toggleNav = document.getElementById('toggle-nav');// 获取所有下拉框按钮元素const dropdownBtns = document.querySelectorAll('.dropdown-btn');// 获取导航栏所有列表项元素const navItems = document.querySelectorAll('.dropdown-content li');// 获取所有内容区域元素const contents = document.querySelectorAll('#content-area > div');// 为切换导航栏按钮添加点击事件监听器toggleNav.addEventListener('click', () => {leftNav.classList.toggle('hidden');if (leftNav.classList.contains('hidden')) {document.getElementById('right-content').style.marginLeft = '0';} else {document.getElementById('right-content').style.marginLeft = '200px';}});// 为下拉框按钮添加点击事件监听器dropdownBtns.forEach(btn => {btn.addEventListener('click', () => {const dropdownContent = btn.nextElementSibling;dropdownContent.style.display = dropdownContent.style.display === 'block' ? 'none' : 'block';});});// 为导航栏列表项添加点击事件监听器navItems.forEach(item => {item.addEventListener('click', () => {// 获取点击列表项对应的内容 IDconst contentId = item.dataset.content;console.log(`点击了 ${item.textContent},对应的内容 ID 是 ${contentId}`);// 隐藏所有内容区域contents.forEach(content => {content.classList.add('hide');content.classList.remove('show');});// 显示点击列表项对应的内容区域const selectedContent = document.getElementById(contentId);if (selectedContent) {selectedContent.classList.add('show');selectedContent.classList.remove('hide');console.log(`显示内容区域 ${contentId}`);} else {console.error(`未找到 ID 为 ${contentId} 的内容区域`);}});});// 获取个人中心图标元素const profileIcon = document.getElementById('profile-icon');// 为个人中心图标添加点击事件监听器profileIcon.addEventListener('click', () => {// 这里可以添加进入个人中心的逻辑,例如跳转到个人中心页面alert('进入个人中心');});
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/32450.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ruoyi-cloud-plus编译记录-1

dockerfile部署jar 添加一个run configuration ‘ruoyi-nacos’ run configuration 参考Docker - 在IntelliJ IDEA中一键部署项目 - hucat - 博客园 jar包编译不成功&#xff0c;没有jar&#xff0c;docker部署nacos就没法进行下去 参考链接 maven 构建报错 This failure was…

【算法day8】整数反转

整数反转 https://leetcode.cn/problems/reverse-integer/description/ class Solution { public:int reverse(int x) {int MAX_LENGTH 11; // 32位整数的最大数字的位数int* num (int*)calloc(sizeof(int), MAX_LENGTH); //用于保存进位每一位的数字int current x;int pos…

MySQL库和表的操作详解:从创建库到表的管理全面指南

目录 一、MySQL库的操作详解 〇、登录MySQL 一、数据库的创建与字符集设置 1. 创建数据库的语法 2. 创建数据库示例 查看创建出来的文件: bash下查看MySQL创建的文件 二、字符集与校验规则 1. 查看系统默认设置 2. 查看支持的字符集与校验规则 3. 校验规则对查询的影响…

Linux中的基本指令(上)

目录 ls指令 判断linux中文件 pwd指令 认识路径 ​编辑 绝对路径/相对路径 cd指令 简要理解用户 理解家目录 echo指令和printf指令 touch指令 mkdir指令 cat指令 tree指令 rmdir指令和rm指令 man指令 cp指令 which指令 alias 指令 date指令 cal指令 理解…

WPF 与 GMap.NET 结合实现雷达目标动态显示与地图绘制

概述 雷达上位机是雷达系统中用于数据可视化、分析和控制的核心软件。本文将介绍如何使用 C# 和 WPF 框架开发一个雷达上位机程序&#xff0c;主要功能包括&#xff1a; 显示目标轨迹&#xff1a;在界面上实时绘制雷达探测到的目标轨迹。点击显示详细信息&#xff1a;用户点击…

「string」笔记

参考&#xff1a;比特鹏哥 1. string string是一种类型&#xff0c;指的是字符串&#xff0c;比字符数组更高级 头文件 <string> #include <string>int main() {string a;//未初始化string b "good good";//初始化string c("good sfternoon&q…

AutoGen使用学习

AutoGen使用学习 上篇文件使用使用【autoGenchainlitdeepSeek】实现【多角色、多用户、多智能体对话系统】&#xff0c;本次系统的学习autoGen的使用方法 文章目录 AutoGen使用学习[toc]1-核心知识点2-参考网址3-实战案例1-autoGen安装和基础使用主要功能安装方法使用示例注意事…

207、【图论】孤岛的总面积

题目 思路 相比于 206、【图论】岛屿数量&#xff0c;就是在这个代码的基础上。先遍历边界&#xff0c;将边界连接的岛屿变为0&#xff0c;然后再计算一遍当前为1的岛屿面积。 代码实现 import collectionsn, m list(map(int, input().split())) graph []for _ in range(n…

Python Selenium库入门使用,图文详细。附网页爬虫、web自动化操作等实战操作。

文章目录 前言1 创建conda环境安装Selenium库2 浏览器驱动下载&#xff08;以Chrome和Edge为例&#xff09;3 基础使用&#xff08;以Chrome为例演示&#xff09;3.1 与浏览器相关的操作3.1.1 打开/关闭浏览器3.1.2 访问指定域名的网页3.1.3 控制浏览器的窗口大小3.1.4 前进/后…

在芯片设计的后端流程中,通过metal修timing是什么意思,怎么实施。举个timing违例说明一下

芯片设计后端流程中通过Metal修Timing 在芯片设计后端流程中&#xff0c;"通过metal修timing"是指通过调整金属层布线来解决时序违例问题的一种技术手段。这是物理设计阶段常用的优化方法之一。 什么是通过Metal修Timing 在芯片设计中&#xff0c;Metal&#xff08;金…

【数据结构】List介绍

目录 1. 什么是List 2. 常见接口介绍 3. List的使用 1. 什么是List 在集合框架中&#xff0c;List是一个接口&#xff0c;继承自Collection。此时extends意为拓展 Collection也是一个接口&#xff0c;该接口中规范了后序容器中常用的一些方法&#xff0c;具体如下所示&…

文件上传漏洞

pass-1 判断本关文件上传检测方式 ①显示源码 本pass在客户端使用js对不合法图片进行检查!js前端检测 2、针对防御措施进行绕过上传 通过JS 限制上传的文件类型&#xff0c;对于这种情况&#xff0c;我们可以采用以下几种方式绕过&#xff1a; 修改JS文件; 上传png后缀的…

深入Flink运行时架构:JobManager与TaskManager协作全解析

深入Flink运行时架构:JobManager与TaskManager协作全解析 一、Flink分布式执行模型剖析 1.1 运行时架构全景视图 核心组件交互关系: #mermaid-svg-tMSqMSsKP6vwUZi3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-s…

股票-K线

一根K线记录的是某股票一个周期的价格变动情况,其周期可以分为月k线、周k线、日k线、小时线等等。 单根K线的构成要素,通常有以下几部分: 开盘价、收盘价、最高价、最低价、实体、上影线、下影线。 1、阳K线 在阳K线中, 最上端的线段为上影线,上影线的最高点为最高价,…

行为模式---策略模式

概念 策略模式是一种行为设计摸是&#xff0c;它的核心思想是将一些列的算法封装成独立的对象&#xff0c;并使它们可以相互替换&#xff0c;通过上下文进行调用。 策略模式通过算法抽象为独立的策略类&#xff0c;客户端可以根据自身需求选择不同的策略类来完成任务、这种方…

3.3.2 Proteus第一个仿真图

文章目录 文章介绍0 效果图1 新建“点灯”项目2 添加元器件3 元器件布局接线4 补充 文章介绍 本文介绍&#xff1a;使用Proteus仿真软件画第一个仿真图 0 效果图 1 新建“点灯”项目 修改项目名称和路径&#xff0c;之后一直点“下一步”直到完成 2 添加元器件 点击元…

Diffusion-Probabilistic-Models环境配置

1、相关地址 代码地址:https://github.com/Sohl-Dickstein/Diffusion-Probabilistic-Models 论文地址:https://arxiv.org/abs/2006.11239 2、python2.7 环境安装 conda create -n theano python2.7 -y conda activate theano3、包安装 下载合适的版本&#xff0c;也就是201…

机器学习(吴恩达)

一, 机器学习 机器学习定义: 计算机能够在没有明确的编程情况下学习 特征: 特征是描述样本的属性或变量&#xff0c;是模型用来学习和预测的基础。如: 房屋面积, 地理位置 标签: 监督学习中需要预测的目标变量&#xff0c;是模型的输出目标。如: 房屋价格 样本: 如: {面积100㎡…

electron 安装报错:RequestError: certificate has expired

在使用 yarn 安装 electron 时&#xff0c;报证书过期的错误。原因是以前使用的阿里的镜像已经过期&#xff0c;改成新的镜像地址就可以了。 报错信息 yarn add electron --dev yarn add v1.22.5 info No lockfile found. [1/4] Resolving packages... ⠁ (node:33196) [DEP0…

《历史代码分析》5、动态控制列表的列

​​ 本系列《历史代码分析》为工作中遇到具有代表性的代码。今天我们讲一下&#xff0c;动态展示列表的列&#xff0c;因为找不到代码了&#xff0c;所有本篇用图展示。 举个栗子 ​​ 我们希望能够动态的控制列表的列&#xff0c;例如&#xff0c;英语老师只想知道自己学…