Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

CSS 教程

CSS 主页 CSS 简介 CSS 语法 CSS 选择器 CSS 如何做 CSS 注释 CSS 颜色 CSS 背景 CSS 边框 CSS 外边距 CSS 内边距 CSS 高度/宽度 CSS 盒模型 CSS 轮廓 CSS 文本 CSS 字体 CSS 图标 CSS 链接 CSS 列表 CSS 表格 CSS 显示 CSS 最大宽度 CSS 位置 CSS Z-index CSS 溢出 CSS 浮动 CSS 行内块 CSS 对齐 CSS 组合器 CSS 伪类 CSS 伪元素 CSS 不透明度 CSS 导航栏 CSS 下拉菜单 CSS 图片库 CSS 图片精灵 CSS 属性选择器 CSS 表单 CSS 计数器 CSS 网站布局 CSS 单位 CSS 特定性 CSS !important CSS 数学函数

CSS 高级

CSS 圆角 CSS 边框图像 CSS 背景 CSS 颜色 CSS 颜色关键字 CSS 渐变 CSS 阴影 CSS 文本效果 CSS 网页字体 CSS 2D 变换 CSS 3D 变换 CSS 过渡 CSS 动画 CSS 工具提示 CSS 样式图像 CSS 图片反射 CSS object-fit CSS object-position CSS 遮罩 CSS 按钮 CSS 分页 CSS 多列 CSS 用户界面 CSS 变量 CSS @property CSS 盒模型大小 CSS 媒体查询 CSS 媒体查询示例 CSS 弹性盒模型

CSS 响应式

响应式网页设计简介 响应式网页设计视窗 响应式网页设计网格视图 响应式网页设计媒体查询 响应式网页设计图像 响应式网页设计视频 响应式网页设计框架 响应式网页设计模板

CSS 网格

网格简介 网格容器 网格项目

CSS SASS

SASS 教程

CSS 示例

CSS 模板 CSS 示例 CSS 编辑器 CSS 代码片段 CSS 测验 CSS 练习 CSS 网站 CSS 面试准备 CSS 集训营 CSS 证书

CSS 参考

CSS 参考 CSS 选择器 CSS 函数 CSS 参考音频 CSS 网络安全字体 CSS 可动画 CSS 单位 CSS PX-EM 转换器 CSS 颜色 CSS 颜色值 CSS 默认值 CSS 浏览器支持

响应式网页设计 - 网格视图


什么是网格视图?

许多网页都是基于网格视图的,这意味着页面被划分为多列


使用网格视图在设计网页时非常有用。它使在页面上放置元素变得更容易。


响应式网格视图通常有 12 列,总宽度为 100%,并且会在你调整浏览器窗口大小时缩小和扩展。

示例:响应式网格视图



构建响应式网格视图

让我们开始构建响应式网格视图。

首先确保所有 HTML 元素的 box-sizing 属性都设置为 border-box。这将确保内边距和边框包含在元素的总宽度和高度中。

在你的 CSS 中添加以下代码

* {
  box-sizing: border-box;
}

在我们的 CSS 盒模型大小 章节中了解更多关于 box-sizing 属性的信息。

以下示例显示了一个简单的响应式网页,有两列

25%
75%

示例

.menu {
  width: 25%;
  float: left;
}
.main {
  width: 75%;
  float: left;
}
亲自试一试 »

上面的示例如果网页只有两列就足够了。

但是,我们想使用一个有 12 列的响应式网格视图,以便更好地控制网页。

首先,我们必须计算一列的百分比:100% / 12 列 = 8.33%。

然后,我们为 12 列中的每一列创建一个类,class="col-",以及一个数字,定义该部分应该跨越多少列

CSS

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}
亲自试一试 »

 所有这些列都应该左浮动,并且内边距为 15 像素

CSS

[class*="col-"] {
  float: left;
  padding: 15px;
  border: 1px solid red;
}

每一行都应该用一个 <div> 包裹。行内的列数总和应该始终为 12

HTML

<div class="row">
  <div class="col-3">...</div> <!-- 25% -->
  <div class="col-9">...</div> <!-- 75% -->
</div>

行内的列都左浮动,因此它们被移出了页面的流,其他元素会被放置得好像这些列不存在一样。为了防止这种情况,我们将添加一个清除流的样式

CSS

.row::after {
  content: "";
  clear: both;
  display: table;
}

我们还想添加一些样式和颜色,使其看起来更好

示例

html {
  font-family: "Lucida Sans", sans-serif;
}

.header {
  background-color: #9933cc;
  color: #ffffff;
  padding: 15px;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  background-color :#33b5e5;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.menu li:hover {
  background-color: #0099cc;
}
亲自试一试 »

注意 在示例中,当将浏览器窗口调整到非常小的宽度时,网页看起来并不好。在下一章中,你将学习如何解决这个问题。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.