CSS 网页布局(详解网页的布局构造)

33 篇文章 0 订阅
10 篇文章 0 订阅

目录

一、网页布局介绍

1.概念

2.特点

3.好处

 二、常见布局概念和技术

 三、网格系统布局

1.介绍

 2.头部区域

3.菜单导航区域

4.内容区域

4.1.不相等的列

5.底部区域

四、响应式布局实例

五、网页布局结构设计

 六、总结


一、网页布局介绍

1.概念

网页布局是将网页内容按照一定的结构和规则进行排版和组织,使得页面具有良好的结构和易读性。它涉及到页面元素的位置、大小、间距等方面的设计。

2.特点

  1. 结构清晰: 网页布局能够使页面的结构清晰明了,让用户更容易理解页面的内容和功能。
  2. 适配性强: 良好的网页布局能够适应不同尺寸和分辨率的设备,提供良好的跨平台和跨设备的用户体验。
  3. 美观易读: 合理的网页布局能够提高页面的美观度和易读性,使用户更愿意停留在网页上。
  4. 可维护性: 良好的网页布局能够使网页的维护和更新更加便捷和高效。

3.好处

  1. 提升用户体验: 良好的网页布局能够提高用户体验,让用户更容易找到需要的信息,降低了用户的认知负担。
  2. 增强品牌形象: 网页布局能够突出品牌的形象和风格,增强用户对品牌的认知和记忆。
  3. 提高转化率: 合理的网页布局能够引导用户进行有效的操作,提高网站的转化率和用户的满意度。
  4. SEO优化: 良好的网页布局能够提高网页的可访问性和可索引性,有利于网站在搜索引擎中的排名和曝光度。

 二、常见布局概念和技术

  1. 网格系统(Grid System): 网格系统是网页布局中常用的一种方法,通过将页面划分为等宽或不等宽的列和行,来布局页面元素。这种方法使得页面布局更加整齐,元素之间的对齐和分布更加统一。

  2. 响应式布局(Responsive Layout): 随着移动设备的普及,响应式布局成为了设计网页的重要方式之一。响应式布局能够根据用户的设备屏幕大小和分辨率,动态调整页面元素的大小和布局,以确保在不同设备上都能够提供良好的用户体验。

  3. 流式布局(Fluid Layout): 流式布局是一种相对于固定宽度布局而言的布局方式,它使用相对单位(如百分比)来设置元素的宽度和高度,使得页面元素能够根据浏览器窗口大小的变化而自动调整布局。

  4. 定位布局(Positioning Layout): 定位布局通过使用CSS的定位属性(如position: relative/absolute/fixed)来控制页面元素的位置。这种布局方式适合于需要精确控制元素位置的情况,但也容易导致页面布局混乱,特别是在响应式布局中。

  5. Flexbox布局: Flexbox是一种新的CSS布局模型,提供了更加灵活和强大的布局方式。它通过定义容器和其子元素的属性来实现自适应、对齐、排列等功能,使得网页布局更加简洁和易于实现。

  6. 栅格布局(Grid Layout): 栅格布局是一种相对于传统网格系统更加灵活和强大的布局方式,通过使用CSS的grid-template-columnsgrid-template-rows属性来定义网格的列和行,实现复杂的网页布局。

 三、网格系统布局

1.介绍

网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域

 2.头部区域

头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的 logo:

.header {
  background-color: #F1F1F1;
  text-align: center;
  padding: 20px;
}

3.菜单导航区域

菜单导航条包含了一些链接,可以引导用户浏览其他页面:

/* 导航条 */
.topnav {
  overflow: hidden;
  background-color: #333;
}
 
/* 导航链接 */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
/* 链接 - 修改颜色 */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

4.内容区域

内容区域一般有三种形式:

  • 1 列:一般用于移动端
  • 2 列:一般用于平板设备
  • 3 列:一般用于 PC 桌面设备

 我们将创建一个 3 列布局,在小的屏幕上将会变成 1 列布局(响应式):

/* 创建三个相等的列 */
.column {
  float: left;
  width: 33.33%;
}
 
/* 列后清除浮动 */
.row:after {
  content: "";
  display: table;
  clear: both;
}
 
/* 响应式布局 - 小于 600 px 时改为上下布局 */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
  }
}
4.1.不相等的列

不相等的列一般是在中间部分设置内容区域,这块也是最大最主要的,左右两次侧可以作为一些导航等相关内容,这三列加起来的宽度是 100%。

.column {
  float: left;
}
 
/* 左右侧栏的宽度 */
.column.side {
  width: 25%;
}
 
/* 中间列宽度 */
.column.middle {
  width: 50%;
}
 
/* 响应式布局 - 宽度小于600px时设置上下布局 */
@media screen and (max-width: 600px) {
  .column.side, .column.middle {
    width: 100%;
  }
}

5.底部区域

.footer {
  background-color: #F1F1F1;
  text-align: center;
  padding: 10px;
}

四、响应式布局实例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
* {
  box-sizing: border-box;
}
 
body {
  font-family: Arial;
  padding: 10px;
  background: #f1f1f1;
}
 
/* 头部标题 */
.header {
  padding: 30px;
  text-align: center;
  background: white;
}
 
.header h1 {
  font-size: 50px;
}
 
/* 导航条 */
.topnav {
  overflow: hidden;
  background-color: #333;
}
 
/* 导航条链接 */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
/* 链接颜色修改 */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
 
/* 创建两列 */
/* Left column */
.leftcolumn {   
  float: left;
  width: 75%;
}
 
/* 右侧栏 */
.rightcolumn {
  float: left;
  width: 25%;
  background-color: #f1f1f1;
  padding-left: 20px;
}
 
/* 图像部分 */
.fakeimg {
  background-color: #aaa;
  width: 100%;
  padding: 20px;
}
 
/* 文章卡片效果 */
.card {
  background-color: white;
  padding: 20px;
  margin-top: 20px;
}
 
/* 列后面清除浮动 */
.row:after {
  content: "";
  display: table;
  clear: both;
}
 
/* 底部 */
.footer {
  padding: 20px;
  text-align: center;
  background: #ddd;
  margin-top: 20px;
}
 
/* 响应式布局 - 屏幕尺寸小于 800px 时,两列布局改为上下布局 */
@media screen and (max-width: 800px) {
  .leftcolumn, .rightcolumn {   
    width: 100%;
    padding: 0;
  }
}
 
/* 响应式布局 -屏幕尺寸小于 400px 时,导航等布局改为上下布局 */
@media screen and (max-width: 400px) {
  .topnav a {
    float: none;
    width: 100%;
  }
}
</style>
</head>
<body>

<div class="header">
  <h1>我的网页</h1>
  <p>重置浏览器大小查看效果。</p>
</div>

<div class="topnav">
  <a href="#">链接</a>
  <a href="#">链接</a>
  <a href="#">链接</a>
  <a href="#" style="float:right">链接</a>
</div>

<div class="row">
  <div class="leftcolumn">
    <div class="card">
      <h2>文章标题</h2>
      <h5>2019 年 4 月 17日</h5>
      <div class="fakeimg" style="height:200px;">图片</div>
      <p>一些文本...</p>
      <p>菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!</p>
    </div>
    <div class="card">
      <h2>文章标题</h2>
      <h5>2019 年 4 月 17日</h5>
      <div class="fakeimg" style="height:200px;">图片</div>
      <p>一些文本...</p>
      <p>菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!菜鸟教程 - 学的不仅是技术,更是梦想!</p>
    </div>
  </div>
  <div class="rightcolumn">
    <div class="card">
      <h2>关于我</h2>
      <div class="fakeimg" style="height:100px;">图片</div>
      <p>关于我的一些信息..</p>
    </div>
    <div class="card">
      <h3>热门文章</h3>
      <div class="fakeimg"><p>图片</p></div>
      <div class="fakeimg"><p>图片</p></div>
      <div class="fakeimg"><p>图片</p></div>
    </div>
    <div class="card">
      <h3>关注我</h3>
      <p>一些文本...</p>
    </div>
  </div>
</div>

<div class="footer">
  <h2>底部区域</h2>
</div>

</body>
</html>

五、网页布局结构设计

  1. 内容结构: 首先,确定页面的内容结构和层次关系。将页面内容分为主要内容区域、边栏、页眉、页脚等部分,并决定它们在页面中的相对位置和大小关系。

  2. 网格系统设计: 设计一个适合项目需求的网格系统,将页面划分为等宽或不等宽的列和行。确定网格的列数、列宽、行高等参数,以及网格之间的间距和边框样式。

  3. 元素排列与对齐: 对页面中的各个元素进行排列和对齐,使其在网页布局中呈现出合适的位置和关系。考虑元素之间的水平和垂直对齐,以及与网格线的对齐方式。

  4. 响应式设计: 使用媒体查询和其他响应式设计技术,确保网页布局能够在不同设备和屏幕尺寸上都有良好的表现。调整元素大小、位置和可见性,以适应不同的视口大小和分辨率。

  5. 流式布局: 在设计中考虑使用流式布局,使页面能够自动适应不同大小的浏览器窗口和设备屏幕。通过设置元素宽度和高度的百分比或其他相对单位,实现页面元素的流动性布局。

  6. 样式和视觉效果: 考虑页面元素的样式和视觉效果,包括颜色、字体、背景、边框等。确保样式与页面布局相协调,提高页面的美观度和可读性。

  7. 导航设计: 设计清晰明了的导航结构,使用户能够轻松找到他们需要的信息。考虑使用导航菜单、面包屑导航、侧边栏等方式,提供多样化的导航体验。

  8. 交互设计: 考虑用户与页面的交互方式,包括点击、滚动、拖拽等操作。设计交互元素的位置、大小和行为,以提高用户体验和页面的可用性。

 六、总结

  1. 网格系统: 了解网格系统的概念和作用,掌握如何设计和实现网格布局,以及如何利用网格系统进行页面排版和元素定位。

  2. 响应式设计: 理解响应式设计的原理和重要性,掌握使用媒体查询、流式布局等技术实现网页在不同设备上的自适应显示。

  3. CSS布局模型: 熟悉CSS中的各种布局模型,包括常规文档流、浮动布局、定位布局(相对定位、绝对定位、固定定位)、Flexbox布局和栅格布局等。

  4. 元素排列与对齐: 理解元素在网页布局中的排列方式和对齐原则,包括水平对齐、垂直对齐、基线对齐等,以及如何通过CSS实现这些对齐效果。

  5. 导航设计: 了解导航设计的重要性和常见的导航结构,包括水平导航栏、垂直导航栏、面包屑导航、侧边栏等,以及如何设计清晰明了的导航系统。

  6. 交互设计: 考虑用户与页面的交互方式和体验,包括点击、滚动、拖拽等操作,设计交互元素的位置、大小和行为,以提高用户体验和页面的可用性。

  7. 样式和视觉效果: 掌握如何设计页面元素的样式和视觉效果,包括颜色、字体、背景、边框等,以及如何通过CSS实现这些效果并与页面布局相协调。

  8. 浏览器兼容性: 了解不同浏览器对网页布局和样式的解析差异,掌握一些常用的浏览器兼容性处理方法,确保页面在各种浏览器上都能正常显示和使用。

  • 33
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值