第 29 章 CSS3 彈性伸縮佈局[下]

来源:http://www.cnblogs.com/zfc2201/archive/2016/05/01/5450677.html
-Advertisement-
Play Games

學習要點: 1.新版本 主講教師:李炎恢 本章主要探討 HTML5 中 CSS3 提供的用來實現未來響應式彈性伸縮佈局方案,這裡做一個初步的瞭解。 一.新版本 新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,這個草案是由 W3C 推出的最新語法。這個版本立志於指定標準,讓新式的 ...


學習要點:

1.新版本

 

主講教師:李炎恢

 

本章主要探討 HTML5 中 CSS3 提供的用來實現未來響應式彈性伸縮佈局方案,這裡做一個初步的瞭解。

 

一.新版本

新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,這個草案是由 W3C 推出的最新語法。這個版本立志於指定標準,讓新式的瀏覽器全面相容,在未來瀏覽器的更新換代中實現了統一。

首先,設置伸縮盒的 display 有如下兩個屬性值:

屬性值

說明

flex

將容器盒模型作為塊級彈性伸縮盒顯示(新版本)

inline-flex

將容器盒模型作為內聯級彈性伸縮盒顯示(新版本)

//大部分不需要首碼

div {
    display: flex;
}

屬性

IE

Firefox

Chrome

Opera

Safari

帶首碼

21 ~ 28

7.0

不帶首碼

11+

20+

29+

12.1

 從這張表可以看出,只有 webkit 引擎的瀏覽器 Chrome 和 Safari 的版本需要添加-webkit-,而 Chrome 瀏覽器 29 版本以後可以省略了。

1.flex-direction

flex-direction 屬性和舊版本 box-orient 屬性一樣,都是設置伸縮項目的排列方式。

//設置從上往下排列 

div {
    flex-direction: column;
}

屬性值

說明

row

設置從左到右排列

row-reverse

設置從右到左排列

column

設置從上到下排列

column-reverse

設置從下到上排列

2.flex-wrap

flex-wrap 屬性類似與舊版本中的 box-lines,但是 box-lines 我們沒有講解,原因是沒有瀏覽器支持它。

//設置無法容納時,自動換行 

div {
    -ms-flex-wrap: wrap;
}

屬性值

說明

nowrap

預設值,都在一行或一列顯示

wrap

伸縮項目無法容納時,自動換行

wrap-reverse

伸縮項目無法容納時,自動換行,方向和 wrap 相反

3.flex-flow

flex-flow 屬性是集合了排列方向和控制換行的簡寫形式。

//簡寫形式

div {
    flex-flow: row wrap;
}

4.justify-content

justify-content 屬性和舊版本中的 box-pack 一樣,設置伸縮項目的對其方式。

//按照中心點對齊 

div {
    justify-content: space-around;
}

屬性值

說明

flex-start

伸縮項目以起始點靠齊

flex-end

伸縮項目以結束點靠齊

center

伸縮項目以中心點靠齊

space-between

伸縮項目平局分佈

space-around

同上,但兩端保留一半的空間

5.align-items

align-items 屬性和舊版本中的 box-align 一樣,處理伸縮項目容器的額外空間。

//處理額外空間 

div {
    align-itmes: center;
}

屬性值

說明

flex-start

伸縮項目以頂部為基準,清理下部額外空間

flex-end

伸縮項目以底部為基準,清理上部額外空間

center

伸縮項目以中部為基準,平均清理上下部額外空間

baseline

伸縮項目以基線為基準,清理額外的空間

stretch

伸縮項目填充整個容器,預設

6.align-self

align-self 和 align-items 一樣,都是清理額外空間,但它是單獨設置某一個伸縮項目的。所有的值和 align-itmes 一致。

//單獨設置清理額外空間

p:nth-child(2) {
    align-self: center;
}

7.flex

flex 屬性和舊版本中的 box-flex 類似,用來控制伸縮容器的比例分配。

//設置比例分配 

p:nth-child(1) {
    flex: 1;
}

p:nth-child(2) {
    flex: 3;
}

p:nth-child(3) {
    flex: 1;
}

8.order

order 屬性和 box-ordinal-group 屬性一樣控制伸縮項目出現的順序。

//設置伸縮項目順序

p:nth-child(1) {
    order: 2;
}

p:nth-child(2) {
    order: 3;
}

p:nth-child(3) {
    order: 1;
}

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 編程雖然苦,但有興趣就會有樂趣。把簡單的事情做到極致,回報自然就來了。朝聞道,夕死可矣。——尼古拉斯·小Q 我和很多人交流過一個有趣的現象,那就是剛畢業到30歲這段時間,會覺得時間過得很慢,總覺得自己還很年輕,但是一旦過了30歲,時間就如白駒過隙,一年又一年飛逝而過。 我自己也是,眼瞅著畢業快15年 ...
  • 負載均衡的基本演算法,主要有以下幾種(參考F5產品): 隨機:負載均衡方法隨機的把負載分配到各個可用的伺服器上,通過隨機數生成演算法選取一個伺服器,然後把連接發送給它。雖然許多均衡產品都支持該演算法,但是它的有效性一直受到質疑,除非把伺服器的可運行時間看的很重。 輪詢:輪詢演算法按順序把每個新的連接請求分配 ...
  • ajaxStart()和ajaxStop()方法是綁定Ajax事件。ajaxStart()方法用於在Ajax請求發出前觸發函數,ajaxStop()方法用於在Ajax請求完成後觸發函數。它們的調用格式為: $(selector).ajaxStart(function())和$(selector).a... ...
  • CSS3 Transition css屬性值在一定時間內平滑地過渡; transition主要包含四個屬性值: transition-property 執行變換的屬性;應用所有屬性用all; transition-duration 動畫持續的時間;註意要加單位s或者ms transition-tim ...
  • 聖杯佈局和雙飛翼佈局的目的都是:左右兩欄固定寬度,中間部分自適應; 聖杯佈局 聖杯佈局HTML: 聖杯佈局CSS: 聖杯佈局的優點: 使主要內容列先載入。 允許任何列是最高的。 沒有額外的div。 需要的hack很少。 雙飛翼佈局 雙飛翼HTML 雙飛翼CSS 聖杯佈局和雙飛翼的比較: 1.兩種佈局 ...
  • 本文介紹使用圖標字體和SVG取代雪碧圖的方法。雪碧圖是很多網站經常用到的一種技術,但是它有缺點:高清屏會模糊、無法動態變化如hover時候反色。而使用圖標字體可以完美解決上述問題,同時具備相容性好,生成的文件小等優點。 雪碧圖 雪碧圖實例:淘寶PC端 將多張小圖放至一張大圖 將多張小圖放至一張大圖 ...
  • 在HTML4.01中:< b > < i > 是視覺要素(presentationl elements),分別表示無意義的加粗,無意義的斜體,僅僅表示樣式上是粗體或斜體,而沒有強調的語義,這兩個標簽在HTML4.01中不推薦使用,建議用CSS樣式; < em > 和 < strong > 是表達要素 ...
  • 學習要點: 1.安裝方式 2.自定義!生成 3.快速生成 主講教師:李炎恢 本章主要探討瞭解一下 Sublime Text3 的一個 HTML5 代碼提示插件:Emmet,這個插件比自帶原生的要強大許多。 一.安裝方式 Emmet 插件安裝一般採用兩種方式,1.通過命令安裝;2.下載離線安裝。我這裡 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...