首頁 > web前端 > css教學 > 掌握 Flexbox:我關於建立響應式佈局的學習筆記

掌握 Flexbox:我關於建立響應式佈局的學習筆記

Linda Hamilton
發布: 2024-11-06 15:52:02
原創
631 人瀏覽過

Mastering Flexbox: My Study Notes on Building Responsive Layouts

好吧,喝杯咖啡 (或茶,我們不評判),讓我們深入了解Flexbox 的世界!如果您曾經因試圖讓網頁在任何裝置上看起來都不錯而感到沮喪 - 別擔心,您並不孤單。 Flexbox 來拯救世界,相信我,它並不像聽起來那麼可怕!

Flexbox 到底是什麼?

Flexbox 就像您的個人佈局助手,可以神奇地輕鬆排列您的專案。了解如何設定彈性容器並輕鬆組織您的內容。

CSS 中這種強大且高效的佈局模型可讓您在容器內靈活地組織和對齊元素。它使專案之間的空間對齊和分配變得輕而易舉,無需進行複雜的計算或定位調整。 Flexbox 旨在以最簡單的方式處理一維佈局(行或列)。

讓我們深入了解避免常見錯誤的實際範例和技巧,讓您的設計保持流暢 - 就像早晨的咖啡一樣

為了更好地理解 Flexbox,我們將其分為兩個主要部分:

Flex 容器(父容器)的屬性:

  • 彎曲方向
  • 柔性包裝
  • 彈性流
  • 調整內容
  • 對齊項目
  • 對齊內容

首先,我們必須在父容器中設定「display: flex」。這會啟動 Flexbox 並允許將所有屬性套用至容器及其項目。

display:flex
登入後複製
登入後複製

彎曲方向

flex-direction: 
row | row-reverse | column | column-reverse
登入後複製
登入後複製

定義容器中物品的主要方向。如果您不指定方向,則將套用預設方向:

  • row(預設):項目像行一樣水平組織。
  • row-reverse:項目水平排列但反向排列。
  • 列:項目垂直組織。
  • column-reverse:專案以相反的順序垂直組織。 ####柔性包裹
flex-wrap
nowrap | wrap | wrap-reverse
登入後複製
登入後複製

控制項目是否應分成多行/列:

  • nowrap(預設):項目保留在單行/列上。
  • 換行:項目在不適合時換行到新行/列。
  • 反向換行:項目反向換行。

彈性流

flex-flow
登入後複製
登入後複製

flex-direction 和 flex-wrap 屬性的簡寫,它們一起定義主軸和交叉軸。預設值:現在行換行。

證明內容合理

justify-content
flex-star | flex-end | space-between | space-around | space-evenly
登入後複製
登入後複製

沿著主軸對齊項目(由 flex-direction 設定的方向):

  • flex-start:項目在容器的開頭對齊。
  • flex-end:項目在容器的末尾對齊。
  • center:專案居中對齊。
  • space- Between:專案均勻分佈,專案之間有額外的空間。
  • space-around: 專案周圍有相等的空間。
  • 空間均勻:項目之間和周圍的空間相等。

對齊項目

display:flex
登入後複製
登入後複製

在橫軸上對齊項目(垂直於主軸):

  • 拉伸(預設):項目拉伸以填充容器。
  • flex-start:專案在橫軸的起點對齊。
  • flex-end:項目在交叉軸的末端對齊。
  • center:專案居中對齊。
  • 基線:項目與其內容的基線對齊。

對齊內容

flex-direction: 
row | row-reverse | column | column-reverse
登入後複製
登入後複製

當有多行彈性項目時對齊容器的行:

  • 與align-items類似的選項,但應用於多行。

此外,雖然不是 Flexbox 獨有的,但間隙在此通常用於設定 Flexbox 版面的樣式:

flex-wrap
nowrap | wrap | wrap-reverse
登入後複製
登入後複製

我們可以應用於彈性項目(子容器)的屬性:

  • 下單
  • 彈性成長
  • 伸縮收縮
  • 彈性基礎
  • 彎曲
  • 自我對齊

命令

flex-flow
登入後複製
登入後複製

控制彈性項目的視覺順序。所有項目的預設值為 0,但您可以設定更高或更低的數字來更改順序。

彈性成長

justify-content
flex-star | flex-end | space-between | space-around | space-evenly
登入後複製
登入後複製

定義如果有額外空間,項目應佔用多少空間。如果所有項目都有 flex-grow: 1,它們將平均共享額外空間。

彎曲收縮

align-items 
stretch | flex-start | flex-end | center | baseline
登入後複製

定義空間緊張時項目應縮小的程度。預設為1(項目可以縮小); 0 防止收縮。

彈性基礎

align-content
登入後複製

在分配空間之前設定項目的初始大小。它可以以像素、百分比或自動為單位。

彎曲

gap: 10px 20px /*or*/
row-gap: 10px
colunm-gap: 20px
登入後複製

同時設定 flex-grow、flex-shrink 和 flex-basis 的簡寫。例如,flex:1 1 200px;表示該項目可以以 200px 的基本尺寸放大和縮小。

自我對齊

e.g., order: 2

登入後複製

讓各個項目的對齊方式與其他項目不同(覆蓋align-items)。預設情況下,它使用容器的align-items值。

此程式碼為探索實際的 Flexbox 屬性和試驗 CSS 樣式提供了一個完美的起點。



  
  
  <title>Flexbox 範例</title>
  <link rel="stylesheet" href="styles.css">
頭>

  <div>



<p>當我們結束 Flexbox 冒險時,讓我們來談談 <em>CSS 魔法——偽類</em>。這些方便的工具可讓您根據<strong>位置、狀態或互動</strong>設定元素樣式,讓您的 Flexbox 佈局更加動態和互動。無論您是使用:nth-child() 來替換樣式、:hover 來創建微妙的動畫,還是使用:first-child 來使某個項目流行起來,偽類都可以讓您無需額外的HTML 即可添加獨特的風格。 </p>

<p>準備好繼續提升你的技能了嗎?我當然!請堅持下去,因為我的下一篇文章將更深入地探討 CSS 技術,使我們的佈局變得栩栩如生。我也是來這裡學習和成長的,所以如果您有提示、反饋或更正,請隨時發表評論。讓我們一起繼續建造! </p>


          </div>

            
        
登入後複製

以上是掌握 Flexbox:我關於建立響應式佈局的學習筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板