如何用HTML制作简单侧边栏布局
想要为你的网站添加一个清晰、易用的侧边栏吗?本文将手把手教你如何使用HTML和CSS打造一个简单的侧边栏布局。侧边栏是网页设计中常见的元素,通常用于导航、信息展示等,位于页面一侧。本文从HTML结构入手,讲解如何使用`aside`和`main`标签划分页面结构,并利用CSS的`float`或`position:fixed`属性实现灵活的布局和固定定位效果。同时,还会介绍如何通过媒体查询实现响应式设计,确保侧边栏在不同屏幕尺寸下都能良好展示,包括移动端设备。通过本文,你将掌握创建美观、实用的侧边栏的技巧,提升用户体验。
侧边栏可通过HTML结构与CSS样式实现,首先使用aside和main标签划分结构,再通过float或position:fixed实现布局与固定定位,结合媒体查询实现响应式设计,具体步骤为:1. 创建包含container、sidebar和main-content的HTML结构;2. 使用CSS设置宽度、浮动或固定定位控制布局;3. 在媒体查询中针对小屏幕调整为垂直堆叠布局,确保移动端可用性。
侧边栏,简单来说,就是网页上常常见到的,位于页面一侧(通常是左侧或右侧)的导航或信息展示区域。用HTML实现它,核心在于结构划分和CSS样式控制。

侧边栏布局方案
首先,HTML结构是基础。我们需要一个容器来包裹整个页面,然后将页面分成两部分:侧边栏和主要内容区域。

<!DOCTYPE html> <html> <head> <title>简单侧边栏示例</title> <style> /* CSS样式稍后补充 */ </style> </head> <body> <div class="container"> <aside class="sidebar"> <!-- 侧边栏内容 --> <ul> <li><a href="#">链接1</a></li> <li><a href="#">链接2</a></li> <li><a href="#">链接3</a></li> </ul> </aside> <main class="main-content"> <!-- 主要内容区域 --> <h1>主要内容标题</h1> <p>这里是主要内容区域的文本。</p> </main> </div> </body> </html>
关键点在于container
、aside
(侧边栏)和main
(主要内容)。aside
标签语义化地表示与主要内容相关的辅助信息,很适合做侧边栏。
接下来是CSS。布局的核心在于控制container
、aside
和main
的宽度和浮动方式。

.container { width: 80%; /* 页面总宽度 */ margin: 0 auto; /* 居中显示 */ overflow: hidden; /* 清除浮动 */ } .sidebar { width: 20%; /* 侧边栏宽度 */ float: left; /* 左浮动 */ background-color: #f0f0f0; /* 侧边栏背景色 */ padding: 20px; } .main-content { width: 75%; /* 主要内容区域宽度 */ float: right; /* 右浮动 */ padding: 20px; } ul { list-style-type: none; /* 移除列表默认样式 */ padding: 0; } li { margin-bottom: 10px; } a { text-decoration: none; /* 移除链接下划线 */ color: #333; }
这里使用了float
属性来实现左右布局。需要注意的是,为了防止浮动导致父元素高度塌陷,使用了overflow: hidden
来清除浮动。
侧边栏内容如何更丰富,不仅仅是链接?
除了简单的链接列表,侧边栏还可以包含其他类型的内容,例如:
- 搜索框: 一个简单的
<input type="search">
加上一个搜索按钮。 - 图片: 展示一些相关的图片,可以用
标签。 - 广告: 嵌入广告代码,如果需要的话。
- 自定义HTML: 放置任何你想要的HTML内容,比如近期文章列表、标签云等等。
关键在于aside
标签内的内容可以自由组合,根据需求添加。
如何让侧边栏固定在屏幕上,滚动时始终可见?
可以使用position: fixed
来实现。修改.sidebar
的CSS:
.sidebar { width: 20%; position: fixed; /* 固定定位 */ top: 0; /* 距离顶部0像素 */ left: 0; /* 距离左侧0像素 */ height: 100%; /* 充满整个屏幕高度 */ background-color: #f0f0f0; padding: 20px; overflow-y: auto; /* 如果内容超出高度,则显示滚动条 */ } .main-content { width: 75%; float: right; padding: 20px; margin-left: 25%; /* 留出侧边栏的空间 */ } .container { width: 100%; /* 页面总宽度 */ margin: 0; /* 移除居中显示 */ overflow: visible; /* 清除浮动 */ }
注意几个关键点:
position: fixed
:将侧边栏固定在屏幕上。top: 0; left: 0; height: 100%;
:让侧边栏占据整个屏幕的高度,并位于左上角。overflow-y: auto;
:如果侧边栏内容超出屏幕高度,则显示垂直滚动条。margin-left: 25%;
:main-content
需要留出侧边栏的空间,避免内容被遮挡。container
宽度设置为100%
,并且取消居中。
响应式设计:如何在不同屏幕尺寸下调整侧边栏的布局?
响应式设计是现代网页开发的标配。可以使用CSS媒体查询来实现不同屏幕尺寸下的布局调整。
@media (max-width: 768px) { .container { width: 100%; /* 小屏幕下占据全部宽度 */ } .sidebar { width: 100%; /* 小屏幕下侧边栏占据全部宽度 */ float: none; /* 取消浮动 */ position: static; /* 取消固定定位 */ height: auto; /* 高度自适应 */ margin-left: 0; } .main-content { width: 100%; /* 小屏幕下主要内容区域占据全部宽度 */ float: none; /* 取消浮动 */ margin-left: 0; /* 移除左边距 */ } }
这段代码表示,当屏幕宽度小于768像素时,侧边栏和主要内容区域都占据全部宽度,侧边栏不再浮动,而是位于主要内容区域的上方。 可以根据实际情况调整媒体查询的阈值和样式。 也可以考虑使用JavaScript来动态调整侧边栏的显示和隐藏,例如,在小屏幕下,点击一个按钮来展开或收起侧边栏。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

- 上一篇
- ARIA中aria-valuenow的使用方法

- 下一篇
- HTML支付页设计:7种提升信任的安全方案
-
- 文章 · 前端 | 14分钟前 |
- ReactMUISnackbar滑动动画设置方法
- 453浏览 收藏
-
- 文章 · 前端 | 41分钟前 |
- JavaScript实现打印功能的几种方法
- 263浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- JS获取元素位置的5种方法
- 450浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- HTML表单高对比度模式实现方法
- 133浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- JavaScript拆分字符串:提取单词与引号内容技巧
- 334浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- CSS实现响应式导航栏显示隐藏技巧
- 342浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- 简化条件判断,提升代码可维护性
- 196浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- Firestore新增字段校验方法详解
- 331浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- Node.js哪个版本好?最新版值得更新吗?
- 419浏览 收藏
-
- 文章 · 前端 | 1小时前 |
- HTML5视频添加方法及支持格式详解
- 436浏览 收藏
-
- 文章 · 前端 | 2小时前 |
- HTML制作太阳系模型及行星轨道动画教程
- 169浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 514次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 499次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 1230次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 1178次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 1211次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 1226次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 1212次使用
-
- 优化用户界面体验的秘密武器:CSS开发项目经验大揭秘
- 2023-11-03 501浏览
-
- 使用微信小程序实现图片轮播特效
- 2023-11-21 501浏览
-
- 解析sessionStorage的存储能力与限制
- 2024-01-11 501浏览
-
- 探索冒泡活动对于团队合作的推动力
- 2024-01-13 501浏览
-
- UI设计中为何选择绝对定位的智慧之道
- 2024-02-03 501浏览