当前位置:首页 > 文章列表 > 文章 > 前端 > 如何用HTML制作简单侧边栏布局

如何用HTML制作简单侧边栏布局

2025-07-31 18:40:47 0浏览 收藏

想要为你的网站添加一个清晰、易用的侧边栏吗?本文将手把手教你如何使用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制作一个简单的侧边栏? 侧边栏布局方案

侧边栏,简单来说,就是网页上常常见到的,位于页面一侧(通常是左侧或右侧)的导航或信息展示区域。用HTML实现它,核心在于结构划分和CSS样式控制。

如何用HTML制作一个简单的侧边栏? 侧边栏布局方案

侧边栏布局方案

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

如何用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>

关键点在于containeraside(侧边栏)和main(主要内容)。aside标签语义化地表示与主要内容相关的辅助信息,很适合做侧边栏。

接下来是CSS。布局的核心在于控制containerasidemain的宽度和浮动方式。

如何用HTML制作一个简单的侧边栏? 侧边栏布局方案
.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的使用方法ARIA中aria-valuenow的使用方法
上一篇
ARIA中aria-valuenow的使用方法
HTML支付页设计:7种提升信任的安全方案
下一篇
HTML支付页设计:7种提升信任的安全方案
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    514次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    499次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    1230次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    1178次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    1211次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    1226次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    1212次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码