CSS 之 Flexbox 初體驗

栏目: CSS · 发布时间: 7年前

内容简介:Flexbox 為 CCS 3 所引進的新 Layout,新的 CSS Framework 如 Bootstrap 4、Vuetify 都是使用 Flexbox,雖然 Framework 提供了 Class 或 Property 讓你簡單使用,但其骨子裡仍是 CSS 3 的 Flexbox,因此深入了解是必須的。CSS 3

Flexbox 為 CCS 3 所引進的新 Layout,新的 CSS Framework 如 Bootstrap 4、Vuetify 都是使用 Flexbox,雖然 Framework 提供了 Class 或 Property 讓你簡單使用,但其骨子裡仍是 CSS 3 的 Flexbox,因此深入了解是必須的。

Version

CSS 3

Layout

CSS 之 Flexbox 初體驗

RGB 由左向右 均分 container。

HTML

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Flex</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="box">
    <div class="item item1"></div>
    <div class="item item2"></div>
    <div class="item item3"></div>
  </div>
</body>
</html>

要對 3 個 <div> 做 layout。

CSS

style.css

.box {
  display: flex;
  width: 960px;
  height: 240px;
  margin: auto;
}

.item {
  width: 320px;
}

.item1 {
  background-color: #f00;
}

.item2 {
  background-color: #0f0;
}

.item3 {
  background-color: #00f;
}

第 1 行

.box {
  display: flex;
  width: 960px;
  height: 240px;
  margin: auto;
}

只要在 container 加上 display: flex ,則表示該 container 內要使用 flexbox。

12 行

.item1 {
  background-color: #f00;
}

.item2 {
  background-color: #0f0;
}

.item3 {
  background-color: #00f;
}

設定每個 item 不同顏色方便顯示。

將 3 個 item 不同顏色分別以 item1item2item3 表示。

第 8 行

.item {
  width: 320px;
}

在使用 flexbox 的 container 內,預設自動 橫向顯示 而不換行,由於 container 總寬為 960px ,若每個 item 都是 320px ,3 個 item 剛好均分 container。

將 3 個 item 共用部分抽出為 item class。

<div> 雖然預設會換行顯示,但在 flexbox 下,會變成 由左向右 橫向顯示 不換行

CSS 之 Flexbox 初體驗

.item {
  width: 300px;
}

若將每個 item 設定為 300px ,三個 item 總和為 900px ,小於 container 的 960px ,由於 item 是 由左往右 ,長到 900px 就停止。

CSS 之 Flexbox 初體驗

.item {
  width: 400px;
}

若將每個 item 設定為 400px ,三個 item 總和為 1200px ,大於 container 的 960px ,但因為 container 為 960px ,所以每個 item 會依 400 : 400 : 4001 : 1 : 1 分配 960px ,所以每個 item 仍為 320px

CSS 之 Flexbox 初體驗

flex-wrap: wrap

Flexbox 的 flex-wrap 預設為 nowrap ,以 container 為主,item 必須配合 container;若設定成 flex-wrap: wrap ,則一切將改變,成為 item 為主。

style.css

.box {
  display: flex;
  width: 960px;
  height: 240px;
  margin: auto;
  flex-wrap: wrap;
}

.item {
  width: 400px;
}

.item1 {
  background-color: #f00;
}

.item2 {
  background-color: #0f0;
}

.item3 {
  background-color: #00f;
}

第 6 行

flex-wrap: wrap;

多了 flex-wrap: wrap; ,表示 item 會自動換行。

第 9 行

.item {
  width: 400px;
}

若將每個 item 設定為 400px ,三個 item 總和為 1200px ,大於 container 的 960px ,但因為 flex-wrap: wrap ,第 3 個 item 將換行顯示,不再局限於 container 的 960px

CSS 之 Flexbox 初體驗


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机组成与设计硬件/软件接口

计算机组成与设计硬件/软件接口

[美] David A.Patterson、John L.Hennessy / 郑纬民 / 机械工业出版社 / 2007-4 / 75.00元

《计算机组成与设计硬件:软件接口》(原书第3版)是计算机组成的经典教材。全书着眼于当前计算机设计中最基本的概念,展示了软硬件间的关系,并全面介绍当代计算机系统发展的主流技术和最新成就。同以往版本一样,《计算机组成与设计硬件:软件接口》(原书第3版)采用MIPS处理器作为展示计算机硬件技术基本功能的核心。书中逐条指令地列举了完整的MIPS指令集,并介绍了网络和多处理器结构的基本内容。将CPU性能和程......一起来看看 《计算机组成与设计硬件/软件接口》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具