如何使用 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.tw/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.tw/docker/images/docker-mini-logo.jpg" alt="Docker">
</div>
<div class="width33">
<img src="https://tutorialspoint.tw/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.tw/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