搜尋
首頁web前端css教學手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

之前的文章《深入解析微信小程式頁面中實現的保存圖片(附程式碼)》中,給大家了解一下微信小程式頁面中實現的保存圖片。以下這篇文章跟大家介紹怎麼使用CSS3製作一個簡單頁面的佈局,有興趣的朋友可以參考一下。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

相容性

2009 年,W3C提出了一個新的方案---- Flex佈局,可以簡單、完整、響應式地實現各種頁面佈局。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • 標1僅支援舊的flexbox規範,不支援包裝。

  • 標記2僅支援2012語法

  • #標記3不支援flex-wrap,flex-flowalign-content屬性

  • 標記4部分支援是因為存在大量錯誤(請參閱已知問題)

##概念

FlexFlexible Box的縮寫,意為"彈性佈局",用來為盒狀模型提供最大的彈性。

注意,設為

Flex佈局以後,子元素的float、clearvertical-align屬性將會失效。

採用

Flex版面的元素,稱為Flex「容器(flex container),簡稱「容器」。它的所有子元素自動成為容器成員,稱為Flex項目(flex item),簡稱"項目"。

容器預設存在兩根軸:水平的主軸(

main axis)和垂直的交叉軸(cross axis)。主軸的開始位置(與邊框的交叉點)叫做main start,結束位置叫做main end;交叉軸的開始位置叫做cross start,結束位置叫做cross end

項目預設沿主軸排列。單一專案佔據的主軸空間叫做

main size,佔據的交叉軸空間叫做cross size

容器的屬性

以下 6 個屬性設定在容器上。

  • flex-direction水平或垂直排列

  • #flex-wrap換不換行

  • flex-flow以上2 個屬性的縮寫

  • #justify-content水平對齊方式

  • align-items垂直對準方式

  • align-content多行均衡分佈

flex-direction<strong></strong>#屬性<strong></strong>

##flex-direction

屬性決定主軸的方向(即項目的排列方向)。 flex-direction:row | row-reverse | column | column-reverse

  • #row

    (預設值):主軸為水平方向,起點在左端。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • row-reverse

    :主軸為水平方向,起點在右端。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • column

    :主軸為垂直方向,起點在上沿。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • column-reverse

    :主軸為垂直方向,起點在下方下方。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

flex-wrap

#預設情況下,項目都排在一條線(又稱"軸線")上。

flex-wrap

屬性定義,如果一條軸線排不下,如何換行。

flex-wrap

: nowrap | wrap | wrap-reverse; 

  • nowrap

    (預設):不換行。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • wrap

    :換行,第一行上方。

  • wrap-reverse:換行,第一行在下方。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

flex-flow

#flex-flow屬性是 flex-direction屬性和flex-wrap屬性的簡寫形式,預設值為row nowrap

<strong>justify-content</strong> 屬性(水平方向對準)

justify-content: flex -start | flex-end | center | space-between | space-around; 

  • #flex-start(預設值):左對齊

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • #flex-end:右對準

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • center:居中

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • space-between:兩端對齊,項目之間的間隔都相等。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • space-around:每個項目兩邊的間隔相等。所以,專案之間的間隔比專案與邊框的間隔大一倍。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

<strong>align-items</strong>屬性(垂直方向對準)

align-items屬性定義項目在交叉軸上如何對齊。 align-items: flex-start | flex-end | center | baseline | stretch; 

  • flex-start:交叉軸的起點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • flex-end:交叉軸的終點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • center:交叉軸的中點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • #baseline : 專案的第一行文字的基線對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • stretch(預設值):如果項目未設定高度或設為auto,將佔滿整個容器的高度。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

<strong>align-content</strong>屬性

align-content屬性定義了多根軸線的對齊方式。如果項目只有一根軸線,則該屬性不起作用。 align-content: flex-start | flex-end | center | space-between | space-around | stretch; 

  • flex-start:與交叉軸的起點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • flex-end:與交叉軸的終點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • center:與交叉軸的中點對齊。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • space-between:與交叉軸兩端對齊,軸線之間的間隔平均分佈。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • space-around:每個軸線兩側的間隔都相等。所以,軸線之間的間隔比軸線- 與邊框的間隔大一倍。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

  • stretch(預設值):軸線佔滿整個交叉軸。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

專案的屬性

也就是flex container,它的所有子元素的屬性

  • order,排序

  • #flex-grow,伸展

  • #flex-shrink,擠壓

  • flex-basis, 固定尺寸

<strong></strong>#flexgrow shrink basis

的縮寫

#align-self手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解),重寫了父級的

align-items

對齊方式<strong></strong><strong></strong>order

屬性

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)order

屬性定義項目的排列順序。數值越小,排列越前,預設為 0。

<pre class='brush:php;toolbar:false;'>&lt;!-- order为-1 排在最前 --&gt; &lt;div style=&quot;order:-1&quot;&gt;3&lt;/div&gt;</pre>

flex-grow<strong></strong>#屬性<strong></strong>##flex-grow

屬性定義項目的放大比例,預設為0,即如果存在剩餘空間,也不放大。就是是否拉伸

<div style="flex-grow:1">1</div>
<div>1</div>
<div style="flex-grow:5">2</div>
<div style="flex-grow:1">1</div>

如果所有項目的手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)flex-grow

屬性都為1,則它們將等分剩餘空間(如果有的話)。如果一個項目的

flex-grow屬性為 2,其他項目都是 1,則前者佔據的剩餘空間將比其他項多一倍。 <strong></strong>flex-shrink

屬性#flex-shrink屬性定義了項目的縮小比例,預設為1,即如果空間不足,該項目將縮小。排不下去的時候,他會擠壓變形,死也要排下去。負值對此屬性無效

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

<div   style="max-width:90%">0</div>

#flex-basis<strong></strong>屬性<strong></strong>

<strong></strong><strong></strong>

flex-basis屬性定義了在分配多餘空間之前,項目佔據的主軸空間(main size

)。瀏覽器根據這個屬性,計算主軸是否有多餘空間。它的預設值為

auto,即項目的本來大小。

手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)

<div   style="max-width:90%">100px</div>

flex

####屬性############flex###屬性是###flex-grow###,###flex-shrink###和###flex-basis###的簡寫,預設值為0 1 auto。後兩個屬性可選。 此屬性有兩個快速值:###auto (1 1 auto)###和###none (0 0 auto)###。 ######建議優先使用這個屬性,而不是單獨寫三個分離的屬性,因為瀏覽器會推導出相關值。 ###
.test {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100px;
}

/* 等同于 */
.test {
    flex: 1 1 100px;
}

`
#########align-self#########屬性############align-self###屬性允許單一項目有與其他項目不一樣的對齊方式,可覆寫###align-items###屬性。預設值為###auto###,表示繼承父元素的###align-items###屬性,如果沒有父元素,則等同於###stretch###。 #########align-self###: auto | flex-start | flex-end | center | baseline | stretch;############
<div style="align-self:flex-end;">5</div>
###推薦學習:###CSS3影片教學#######

以上是手把手教你使用CSS3製作一個簡單頁面的佈局(程式碼詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:禅境花园。如有侵權,請聯絡admin@php.cn刪除
什麼是CSS網格?什麼是CSS網格?Apr 30, 2025 pm 03:21 PM

CSS網格是創建複雜,響應式Web佈局的強大工具。它簡化了設計,提高可訪問性並提供了比舊方法更多的控制權。

什麼是CSS Flexbox?什麼是CSS Flexbox?Apr 30, 2025 pm 03:20 PM

文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

我們如何使用CSS使網站迅速響應?我們如何使用CSS使網站迅速響應?Apr 30, 2025 pm 03:19 PM

本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

CSS盒裝屬性有什麼作用?CSS盒裝屬性有什麼作用?Apr 30, 2025 pm 03:18 PM

本文討論了CSS盒裝屬性,該屬性控制了元素維度的計算方式。它解釋了諸如Content-Box,Border-Box和Padding-Box之類的值,以及它們對佈局設計和形式對齊的影響。

我們如何使用CSS動畫?我們如何使用CSS動畫?Apr 30, 2025 pm 03:17 PM

文章討論使用CSS,關鍵屬性並與JavaScript結合創建動畫。主要問題是瀏覽器兼容性。

我們可以使用CSS向我們的項目添加3D轉換嗎?我們可以使用CSS向我們的項目添加3D轉換嗎?Apr 30, 2025 pm 03:16 PM

文章討論了Web項目的3D轉換,關鍵屬性,瀏覽器兼容性和性能注意事項的討論。 (角色計數:159)

我們如何在CSS中添加梯度?我們如何在CSS中添加梯度?Apr 30, 2025 pm 03:15 PM

文章討論了使用CSS梯度(線性,徑向,重複)來增強網站視覺效果,添加深度,焦點和現代美學。

CSS中的偽元素是什麼?CSS中的偽元素是什麼?Apr 30, 2025 pm 03:14 PM

文章討論了CSS中的偽元素,它們在增強HTML樣式方面的使用以及與偽級的差異。提供實用的例子。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。