前端主要布局方式

2021-10-23 04:43:17 字數 2189 閱讀 9197

靜態布局

自適應布局

流式布局

彈性布局

響應式布局

布局的應用

常見布局問題

靜態布局就是傳統的**形式,網頁上的所有元素的尺寸一律使用px作為單位。當在螢幕寬高有調整時,出現橫向和豎向的滾動條來查閱被遮掩部分。

編寫簡單,沒有相容性問題。

不能根據使用者的螢幕尺寸做出不同的表現。

建立多個靜態布局分別為不同的螢幕解析度定義布局,每個靜態布局對應乙個螢幕解析度範圍。

使用 @media **查詢給不同尺寸和介質的裝置切換不同的樣式。

螢幕解析度變化時,頁面裡面元素的位置會變化而大小不會變化。

可以在不同尺寸和介質的裝置切換不同的樣式。

在同乙個裝置下還是靜態布局,不能根據螢幕尺寸做出相應的表現。

流式布局頁面元素的寬度按照螢幕解析度進行適配調整,但整體布局不變。代表作柵欄系統(網格系統)。

使用%百分比定義寬度,高度大都是用px來固定,可以根據可視區域 (viewport) 和父元素的實時尺寸進行調整,盡可能的適應各種解析度。往往配合 max-width/min-width 等屬性控制尺寸流動範圍以免過大或者過小影響閱讀。

可以應對不同尺寸的螢幕,是移動端開發最常用的布局方式。

如果螢幕尺度跨度太大,那麼在過小或過大的螢幕上不能正常顯示或顯示不協調。

包裹文字的各元素的尺寸採用em/rem做單位,而頁面的主要劃分區域的尺寸仍使用百分數或px做單位(同 [ 流式布局 ] 或 [ 靜態/固定布局 ] )。

使用 em 或 rem 單位進行相對布局,相對%百分比更加靈活,同時可以支援瀏覽器的字型大小調整和縮放等的正常顯示。

理想狀態是所有螢幕的高寬比和最初的設計高寬比一樣,或者相差不多,完美適應。

這種只是寬度自適應,高度不是自適應,不能滿足對高度,或元素間距有要求的設計。

每個螢幕解析度下面會有乙個布局樣式,即元素位置和大小都會變。

通常使用 @media **查詢和網格系統配合進行布局。

設計難、實現難、成本大。

如果只做pc端,那麼靜態布局(定寬度)是最好的選擇;

如果做移動端,且設計對高度和元素間距要求不高,那麼彈性布局(rem+js)是最好的選擇,乙份css+乙份js調節font-size搞定。

如果pc,移動要相容,而且要求很高那麼響應式布局還是最好的選擇,前提是設計根據不同的高寬做不同的設計,響應式根據**查詢做不同的布局。

! important>內聯樣式》id選擇器》類選擇器、屬性選擇器、偽類選擇器》元素選擇器、偽物件》萬用字元選擇器》繼承的屬性》瀏覽器預設樣式。

margin(外邊距) - 清除邊框外的區域,外邊距是透明的。

border(邊框) - 圍繞在內邊距和內容外的邊框。

padding(內邊距) - 清除內容周圍的區域,內邊距是透明的。

content(內容) - 盒子的內容,顯示文字和影象。

display:none是徹底消失,不在文件流中佔位,瀏覽器也不會解析該元素。

visibility:hidden是視覺上消失了,可以理解為透明度為0的效果,在文件流中佔位,瀏覽器會解析該元素。

使用visibility:hidden比display:none效能上要好。

display:none切換顯示時頁面產生回流(當頁面中的一部分元素需要改變規模尺寸、布局、顯示隱藏等,頁面重新構建,此時就是回流。所有頁面第一次載入時需要產生一次回流)。而visibility切換是否顯示時則不會引起回流。

在文件流中,乙個塊級元素如果沒有設定height,其height是由子元素撐開的。也就是子元素多高,父元素就多高。

但是為子元素設定浮動後,子元素會完全脫離文件流,此時會導致子元素無法撐起父元素的高度,導致父元素的高度塌陷。

由於父元素的高度塌陷了,則父元素下的所有元素都會向上移動,這樣將會導致頁面布局混亂,也就是所謂的高度塌陷。

解決方案

1.給父級div定義高度

2.使用空元素,如

(.clear)

3.父級div定義 display:table

4.父元素設定 overflow:hidden、auto;

前端常見布局方式實現

這種方式最好應用於 按鈕 文字之類的居中模式,否則就需要借助inline block來進行居中布局。適用於塊級元素不給出寬高的情況下 需要借助transtrom的tanslatex方法 parent child子元素寬度已知的情況下 parent子元素 div 絕對定位 父元素需要被定位 子元素 t...

前端常見的布局方式

一 靜態布局 static layout 布局概念 最傳統 原始的web布局設計。網頁最外層容器 outer 有固定的大小,所有的內容以該容器為標準,超出寬高的部分用滾動條 overflow scroll 來實現滾動查閱。優點採用的是css2之前的寫法,不存在瀏覽器相容性。布局簡單。缺點但是移動端不...

前端布局方式及其選擇

1.靜態布局 靜態布局 給頁面元素設定固定的寬度和高度,單位用px,當視窗縮小,會出現滾動條,拉動滾動條顯示被遮擋內容。針對不同解析度的手機端,分別寫不同的樣式檔案。2.彈性布局 css3引入的,flex布局 優點在於其容易上手,根據flex規則很容易達到某個布局效果,然而缺點是 瀏覽器相容性比較差...