添加 CSS
- 将 display 属性设置为“grid”以将元素显示为块级网格容器。
- 使用 grid-gap 属性以像素为单位定义网格之间的间隙。
- 将 grid-template-columns 设置为“repeat(auto-fill, minmax(150px, 1fr))”。
此属性指定网格布局中每列的大小(宽度)。其中 grid-template-columns 将列设置为最小 150 像素和 1fr 最大剩余空间。轨道将根据需要重复多次以适应容器。 “自动填充”值使其在适合容器的尽可能多的轨道上重复。
- 设置 <div> 元素的字体大小。
- 设置元素的内边距、颜色和背景。
- 使用 text-align 属性定义文本应位于的位置。
#grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-gap: 5px;
}
#grid>div {
font-size: 30px;
padding: .5em;
color: #ffffff;
background: #1c87c9;
text-align: center;
}
这是我们示例的完整代码。
使用“自动填充”值创建响应式网格布局的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
#grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-gap: 5px;
}
#grid > div {
font-size: 30px;
padding: .5em;
color: #ffffff;
background: #1c87c9;
text-align: center;
}
</style>
</head>
<body>
<div id="grid">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</body>
</html>
我们可以使用“自动适应”值创建网格布局。
“自动填充”和“自动填充”之间的区别在于,“自动填充”用尽可能多的列填充行。
相比之下,“自动适应”通过扩展当前可用的列使其填充剩余空间来适应空间。
使用“auto-fill”和“auto-fit”值创建响应式网格布局的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
.grid {
display: grid;
grid-gap: 10px;
border: 2px solid #000000;
margin: 10px;
}
.grid > div {
font-size: 30px;
padding: .5em;
background: gold;
text-align: center;
}
.auto-fill {
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
.auto-fit {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
</style>
</head>
<body>
<h2>Auto-fill</h2>
<div class="grid auto-fill">
<div>1</div>
<div>2</div>
</div>
<h2>Auto-fit</h2>
<div class="grid auto-fit">
<div>1</div>
<div>2</div>
</div>
</body>
</html>
为了使网格响应,我们将使用媒体查询。
媒体查询和网格协同工作得非常好。
媒体查询告诉网格在某些设备宽度上具有特定的布局。
调整浏览器的大小以查看网格如何响应。
使用媒体查询创建响应式网格布局的示例:
<!DOCTYPE html>
<html>
<head>
<title>文档的标题</title>
<style>
body {
margin: 40px;
}
.sidebar {
grid-area: sidebar;
}
.sidebar2 {
grid-area: sidebar2;
}
.content {
grid-area: content;
}
.header {
grid-area: header;
}
.footer {
grid-area: footer;
}
.wrapper {
background-color: #eeeeee;
color: #444;
display: grid;
grid-gap: 1em;
grid-template-areas: "header" "sidebar" "content" "sidebar2" "footer"
}
@media only screen and (min-width: 500px) {
.wrapper {
grid-template-columns: 20% auto;
grid-template-areas: "header header" "sidebar content" "sidebar2 sidebar2" "footer footer";
}
}
@media only screen and (min-width: 600px) {
.wrapper {
grid-gap: 20px;
grid-template-columns: 120px auto 120px;
grid-template-areas: "header header header" "sidebar content sidebar2" "footer footer footer";
max-width: 600px;
}
}
.box {
background-color: #444;
color: #ffffff;
border-radius: 5px;
padding: 10px;
font-size: 150%;
}
.header,
.footer {
background-color: #8ebf42;
}
.sidebar2 {
background-color: #ccc;
color: #444;
}
</style>
</head>
<body>
<div class="wrapper">
<div class="box header">Header</div>
<div class="box sidebar">Sidebar</div>
<div class="box sidebar2">Sidebar 2</div>
<div class="box content">
生活本就是矛盾的,白天与黑夜间的距离,春夏秋冬之间的轮回,于是有了挑剔的喜爱,让无奈加上了喜悦的等待。
是谁把光阴剪成了烟花,一瞬间,看尽繁华。是谁把思念翻起了浪花,一转身,浪迹天涯。
<br /> 当你调整浏览器的大小时,这个列会变高。
</div>
<div class="box footer">Footer</div>
</div>
</body>
</html>
创建 HTML
- 创建一个 id 为“grid”的 <div> 元素。
- 创建九个 <div> 元素,在每个元素中写入数字。
<div id="grid"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>6</div> <div>7</div> <div>8</div> <div>9</div> </div>
定制网页设计最好的东西之一是定制的响应式网格系统。
一切都是自定义的,包括列数、列大小、装订线等。
网格可以响应固定大小的网格项目将根据视口大小移动位置。
在本教程中,我们将展示如何按照下面描述的步骤创建响应式网格布局。
"auto-fill" 和 "auto-fit" 值允许创建一个网格,其中包含适合容器的特定大小的尽可能多的轨道。
换句话说,创建响应式网格布局意味着当我们调整浏览器大小时,网格项会改变它们的位置。
日期:2020-06-02 22:15:02 来源:oir作者:oir
