網頁布局基礎

2021-07-09 02:48:28 字數 3172 閱讀 7952

網頁製作的基礎,在w3c盛行的今天「div+css」布局網頁

布局分為:流式布局、浮動布局、絕對定位布局

涉及標準文件流、盒子模型、float屬性、position屬性

1.自動居中-列布局—盒子模型的使用方法

2.浮動布局—float屬性來實現上中下布局和橫向兩列甚至多列布局,解決浮動影響的常用方法

3.絕對定位布局–上中下布局,實現兩列甚至多列布局

css中的定位機制:標準文件流、定位、浮動

標準文件流(normal flow)特點:

從上到下、從左到右輸出文件;

由塊級元素和行級元素組成。

塊級元素:從左到右撐滿頁面,獨佔一行 ,觸碰到頁面邊緣時會自動換行,標籤有:div ul li dl dt p…

行級元素:能在同一行內顯示,不會改變html文件結構,標籤有 span a img input strong…

塊級元素和行級元素都是盒子模型

盒子模型=網頁布局的基石,由4部分組成:

邊框(border)、外邊距(margin)、內邊距(padding)、內容(content)

行內樣式 > 內部樣式 > 外部樣式 (採用的是就近原則)

盒子3d模型(也就是盒子模型的圖層):第一層border(邊框),第二層content+padding(邊框+內邊距),第三層background-image(背景圖),第四層background-color(背景顏色),第五層margin(外邊距)

盒子模型尺寸:border+margin+padding+content

1、auto會根據瀏覽的寬度自動來設定兩邊的外邊距。

2、其原理:(瀏覽器的寬度-外包含層的寬度)/2=外邊距

3、如果想讓頁面自動居中,當設定marign屬性為auto時,就不能在設定浮動或是絕對定位屬性。如果你設定了auto,又設定了浮動或是絕對定位,那麼頁面是不會居中顯示的

float浮動:可實現塊級元素橫向排列

1、3個屬性值:left-左浮動,right-右浮動,none-不浮動

2、設定了浮動的元素,仍舊處於標準文件流中,意味著會佔據標準文件流中的空間,對周圍的元素產生影響

3、當元素沒有設定寬度值,而設定了浮動屬性,元素的寬度隨內容的變化而變化(沒內容時直接縮到浮動的那一邊,看不見了)

4、當元素設定浮動屬性後,會對相鄰的元素產生影響,相鄰元素特指緊鄰後面的元素。

清除浮動的方法:(要對受到浮動影響的元素設定)

1、clear屬性

clear:both /right/left;

2、設定width:100%(或固定寬度)+overflow:hidden;

3.另外可以通過加空標籤(不建議使用)

橫向兩列布局的實現:這是網頁布局最常見的方式之一

一:主要應用技能:

float屬性——使縱向排列的塊級元素,橫向排列

margin屬性——設定兩列之間的間距

二:當父包含塊縮成一條時,用clear:both方法清除浮動無效,它一般用於緊鄰後面的元素的清除浮動。所以設定父的overflow:hidden

☆div塊的高度一般不需要設定,這樣高度就會隨著內容自動擴充套件。若設定了高度,又設定了overflow:hidden,當內容超過高度的時候,就無法正常顯示了

注意:

全域性選擇器*{}對整體頁面進行定義**

外層沒有設定浮動,內層設定浮動,會影響到外層,外層高度無法擴充套件

div一般不要設定高度

1.通過設定postion屬性實現,css中規定的第三種定位機制。

2.能夠實現橫向多列布局及較為複雜的定位,比如帶有遮罩層效果的提示框、固定層效果、全屏廣播

3.position 屬性

擁有3種定位形式 1、靜態定位 2、相對定位3、絕對定位

相對定位(position:relative)是相對於原來的位置經行偏移

特點:

1、相對於自身原有位置進行偏移

2、仍處於標準文件流中

3、隨即擁有偏移屬性和z-index屬性(z-index屬性是指空間的層堆疊,產生z軸。否則是預設為處在x\y軸的平面上。會產生遮蓋效果。)

絕對定位(position:absolute)特點:

建立了以包含塊為基準的定位;

完全脫離了標準文件流;

隨即擁有偏移屬性和z-index屬性;

未設定偏移量時:

無論是否存在已經定位的祖先元素,都保持在元素初始位置 脫離標準文件流

設定偏移量時:

偏移參照的基準:

無已定位的祖先元素:以為偏移參照基準

有已定位的祖先元素:以距其最近的已定位的祖先元素為偏移參照基準

注意:當乙個元素設定了絕對定位,沒有設定寬度時,元素的寬度根據內容進行調節。

如果我們要實現在a div內的b div絕對定位,相對於a的絕對定位,那麼我們應該將a div設定乙個相對定位position:relative,這樣b設定的left或top就是相對於a的,否則就會相對於html

結論:絕對定位是以他父級的已經有定位的元素來定位的,如果父級沒有定位的,則是以html作參照的。

橫向兩列布局(使用absolute實現橫向兩列布局)常用於一列固定寬度,另一列寬度自適應的情況

(主要技能:)

1.relative——父元素 相對定位

2.absolute——自適應寬度元素絕對定位

注意:固定寬度列的高度 > 自適應寬度的列寬度;

兩列之間的距離用margin來拉開距離

網頁布局基礎

由全球資訊網聯盟指定的一系列標準,包括 機構化標準語言 html和xml 表現標準語言 css 行為標準語言 dom和ecmascript w3c標準倡導結構 樣式 行為分離。css中存在3中定位機制 1 標準文件流 normal flow 特點 從上到下,從左到右,輸出文件內容 由塊級元素和行級元...

網頁布局基礎

1 css 規定的定位機制有三種,分別是 標準文件流 normal folw 浮動 floats 絕對定位 absolute positioning 2 w3c標準 由全球資訊網制定的一系列標準,包括 結構化標準語言 html和xml 表現標準語言 css 行為標準語言 dom和ecmascript...

網頁布局基礎

網頁布局參照三個方面 標準文件流 float position 1 標準文件流 note 兩個元素都屬於 盒子模型 2 float note 設定浮動後,脫離標準文件流 但不脫離標準文字流 當元素設定浮動屬性後,會對相鄰的元素產生影響,相鄰元素指的是緊鄰後面的元素。消除影響方法 width 100 ...