網頁布局過程:
先準備好相關的網頁元素,網頁元素基本都是盒子 box 。
利用 css 設定好盒子樣式,然後擺放到相應位置。
往盒子裡面裝內容.
網頁布局的核心本質: 就是利用 css 擺盒子。
所謂盒子模型:就是把 html 頁面中的布局元素看作是乙個矩形的盒子,也就是乙個盛裝內容的容器。
css 盒子模型本質上是乙個盒子,封裝周圍的 html 元素,它包括:邊框、外邊距、內邊距、和實際內容
border可以設定元素的邊框。邊框有三部分組成:邊框寬度(粗細) 邊框樣式 邊框顏色語法:
邊框樣式 border-style 可以設定如下值:
css 邊框屬性允許你指定乙個元素邊框的樣式和顏色。邊框簡寫:
邊框分開寫法:
border-collapse 屬性控制瀏覽器繪製**邊框的方式。它控制相鄰單元格的邊框。語法:
padding 屬性用於設定內邊距,即邊框與內容之間的距離。
padding 屬性(簡寫屬性)可以有一到四個值。
以上 4 種情況,我們實際開發都會遇到。
當我們給盒子指定 padding 值之後,發生了 2 件事情:
內容和邊框有了距離,新增了內邊距。
padding影響了盒子實際大小。
也就是說,如果盒子已經有了寬度和高度,此時再指定內邊框,會撐大盒子。
解決方案:
如果保證盒子跟效果圖大小保持一致,則讓 width/height 減去多出來的內邊距大小即可。
如果盒子本身沒有指定width/height屬性, 則此時padding不會撐開盒子大小.
margin 屬性用於設定外邊距,即控制盒子和盒子之間的距離。
margin 簡寫方式代表的意義跟 padding 完全一致。
外邊距可以讓塊級盒子水平居中,但是必須滿足兩個條件:
① 盒子必須指定了寬度(width)。
② 盒子左右的外邊距都設定為 auto 。
常見的寫法,以下三種都可以:
注意:以上方法是讓塊級元素水平居中,行內元素或者行內塊元素水平居中給其父元素新增 text-align:center 即可。
使用 margin 定義塊元素的垂直外邊距時,可能會出現外邊距的合併。
相鄰塊元素垂直外邊距的合併
當上下相鄰的兩個塊元素(兄弟關係)相遇時,如果上面的元素有下外邊距 margin-bottom,下面的元素有上外邊距 margin-top ,則他們之間的垂直間距不是 margin-bottom 與 margin-top 之和。取兩個值中的較大者這種現象被稱為相鄰塊元素垂直外邊距的合併。
解決方案:
盡量只給乙個盒子新增 margin 值。
巢狀塊元素垂直外邊距的塌陷
對於兩個巢狀關係(父子關係)的塊元素,父元素有上外邊距同時子元素也有上外邊距,此時父元素會塌陷較大的外邊距值。
解決方案:
① 可以為父元素定義上邊框。
② 可以為父元素定義上內邊距。
③ 可以為父元素新增 overflow:hidden。
還有其他方法,比如浮動、固定,絕對定位的盒子不會有塌陷問題,
網頁元素很多都帶有預設的內外邊距,而且不同瀏覽器預設的也不一致。因此我們在布局前,首先要清除下網頁元素的內外邊距。
注意:行內元素為了照顧相容性,盡量只設定左右內外邊距,不要設定上下內外邊距。但是轉換為塊級和行內塊元素就可以了
css盒子模型 CSS 盒子模型
css 盒子模型基本上是面試的必考題,因為實在是太重要了。以前寫 css 總是感覺元素的寬高十分難調,其中乙個很大的問題就是忽略了盒子模型的重要性。說到 css 盒子模型,你可能會說我知道呀,就是 margin 包 border,border 包 padding,padding 包 content ...
css盒子模型 說說css盒子模型
引用mdn官方的解釋 當對乙個文件進行布局 lay out 的時候,瀏覽器的渲染引擎會根據標準之一的 css 基礎框盒模型 css basic box model 將所有元素表示為乙個個矩形的盒子 box css 決定這些盒子的大小 位置以及屬性 例如顏色 背景 邊框尺寸 每個盒子由四個部分 或稱區...
css 盒子模型 ie盒子模型
css盒子模型 網頁設計中css技術所使用的一種思維模型。css盒子模型組成 外邊距 margin 邊框 border 內邊距 padding 內容 content css盒子模型分為 標準w3c盒子模型,ie盒子模型,注意在兩種模型中寬 width 和高 height 包括屬性的不同。標準w3c盒...