如何使用 CSS 创建响应式之字形(交替)布局?
之字形布局的排列方式是:图片,然后是文本;接下来是文本,然后是图片,以此类推。响应式之字形布局会根据设备(台式机、平板电脑或移动设备)调整文本和图片的排列方式。在移动设备等较小的设备上,列会垂直排列。
设置文本容器
我们为文本设置了一个容器,类名为width66。如下所示,文本将占据66%的宽度,即2/3。
<div class="width66"> <h1>Docker</h1> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia tempore expedita sequi consequuntur rerum quasi voluptate deleniti iure quae magni qui, laudantium illo dolorum temporibus, dolor labore, quos eos. Dolores?</p>
设置图片容器
我们为图片设置了一个容器,类名为width33。如下所示,图片将占据33%的宽度,即1/3。
<div class="width33"> <img src="https://tutorialspoint.com/kubernetes/images/kubernetes-mini-logo.jpg" alt="Kubernetes"> </div>
清除浮动
在这里,我们将clear属性设置为both值。这是为了将元素推到左浮动和右浮动元素的下方。
.row:after {
content: "";
display: table;
clear: both
}
我们的2/3列
这是布局中文本的容器。宽度设置为66%,即2/3列。剩余的33%空间将分配给包含图片的列。
.width66 {
float: left;
width: 66.66666%;
padding: 20px;
height: 471px;
}
我们的1/3列
这是布局中图片的容器。宽度设置为33%,即1/3列。剩余的66%空间分配给包含文本的列。
.width33 {
float: left;
width: 33.33333%;
padding: 20px;
height: 471px;
}
设置响应式
媒体查询的概念用于实现响应式。对于小于1000像素的设备,将宽度设置为100%。这将使列垂直排列。
@media screen and (max-width: 1000px) {
.width66,
.width33 {
width: 100%;
text-align: center;
}
img {
margin: auto;
}
}
示例
要使用 CSS 创建响应式之字形布局,代码如下:
<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing:border-box;
}
body {
margin: 0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
div h1{
font-size: 40px;
color: blueviolet;
text-align: center;
}
div p{
font-size: 18px;
}
.container {
padding: 64px;
}
.row:after {
content: "";
display: table;
clear: both
}
.width66 {
float: left;
width: 66.66666%;
padding: 20px;
height: 471px;
}
.width33 {
float: left;
width: 33.33333%;
padding: 20px;
height: 471px;
}
.large-font {
font-size: 48px;
}
.xlarge-font {
font-size: 64px
}
.button {
border: none;
color: white;
padding: 14px 28px;
font-size: 16px;
cursor: pointer;
background-color: #4CAF50;
}
img {
display: block;
height: 250px;
width: 250px;
max-width: 100%;
}
@media screen and (max-width: 1000px) {
.width66,
.width33 {
width: 100%;
text-align: center;
}
img {
margin: auto;
}
}
</style>
</head>
<body>
<div class="width66">
<h1>Docker</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia tempore expedita sequi consequuntur rerum quasi voluptate deleniti iure quae magni qui, laudantium illo dolorum temporibus, dolor labore, quos eos. Dolores?</p>
</div>
<div class="width33">
<img src="https://tutorialspoint.com/docker/images/docker-mini-logo.jpg" alt="Docker">
</div>
<div class="width33">
<img src="https://tutorialspoint.com/ansible/images/ansible-mini-logo.jpg" alt="Ansible">
</div>
<div class="width66">
<h1>Ansible</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia tempore expedita sequi consequuntur rerum quasi voluptate deleniti iure quae magni qui, laudantium illo dolorum temporibus, dolor labore, quos eos. Dolores?</p>
</div>
<div class="width66">
<h1>Kubernetes</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Mollitia tempore expedita sequi consequuntur rerum quasi voluptate deleniti iure quae magni qui, laudantium illo dolorum temporibus, dolor labore, quos eos. Dolores?</p>
</div>
<div class="width33">
<img src="https://tutorialspoint.com/kubernetes/images/kubernetes-mini-logo.jpg" alt="Kubernetes">
</div>
</body>
</html>
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP