真正零基礎學習HTML(五)

盒子高度=內容高度+填充+邊框+外邊距

一、浮動
1、float:
左浮動 left
右浮動 right
2、標準流
3、脫離標準流:設置浮動就脫離標準流
4、誰浮動誰下面的元素佔據自己的位置
5、左浮動
(1)浮動了兩個div元素div2和div3
div2--->>行內塊元素沒有獨佔一行
div3--->>緊跟在div2的右邊
div4--->>緊跟在div1的下面
浮動了三個div2,div3,div4
div3、div4依次跟在上一個元素右邊
(2)如果div3元素上一個元素也是浮動的,那麼div3元素會跟隨在上一個元素(div2)的後邊(如果一行放不下這兩個元素,那麼div3元素會被擠到下一行);
如果div2元素上一個元素是標準流中的元素,那麼div2的相對垂直位置不會改變,也就是說div2的頂部總是和上一個元素的底部對齊。
6、右浮動
向右邊浮動,兩個相鄰浮動跟在前一個左邊

7、如果我浮動,下一個元素佔據我的位置我的位置在哪裏?

(1)看上一個是標準就跟在下面
(2)看上一個浮動方向一致就跟在後面
(3)看上一個浮動方向不一致就找一致或者標準,然後遵循(1)(2)的規則

就像會飛的賽車,如果我沒有飛,前面的賽車在左側飛起來我就在他下面跑,如果前面的賽車在右側飛,那我不受影響我就繼續向前跑,看前面的左側飛我就在他下面,看他地上跑我就跟在他後面。
如果我在左側飛,前面賽車也在左側飛,那麼空中車道已經滿了,我只能跟他並肩飛並且在他右邊。
如果我在右側飛,前面賽車也在右側飛,那麼空中車道已經滿了,我只能跟他並肩飛並且在他左邊。

8、總結:
(1)粗略定位
float:left 左
float:right 右
(2)精準定位(向上找)
假設我是左浮動
上一個元素無浮動:底部對齊
上一個元素左浮動:緊跟其“後”
上一個元素右浮動:前進一步,看上一個元素的上一個元素

9、塊級元素:獨佔一行,可以設置寬和高 此元素前後會帶有換行符(block)
內聯元素:設置寬和高沒有作用 inline
行內塊:可以設置寬和高 inline-block
span設置浮動後高度寬度變的有意義
二、定位
position:relation;
默認:span
1、相對定位:relation
相對自己來說
top:垂直偏移量
left:水平偏移量
span運用這個屬性依然無效
2、絕對定位:position:absolute;
(1)如果前面的父(祖)都沒有設置relation或者absolute屬性,top和left相對於body
(2)如果前面的父(祖)都設置relation或者absolute屬性,則按照父(祖)元素定位

3、固定定位:position:fixed;
三.補充屬性
1、z-index
z-index只能在position屬性值爲relative或absolute或fixed的元素上有效,如兩者發生重疊時,z-index的值越大,位置越往上
2、Display
塊級元素:獨佔一行、可以設置寬和高。此元素前後會帶有換行符。block
內聯元素:設置寬和高沒有作用 inline
行內塊:沒有獨佔一行、可以設置寬和高 inline-block
區別:行內塊取其塊級元素的長處,補其內聯元素的短處
3、Overflow
visible 默認值。內容不會被修剪,會呈現在元素框之外
hidden 內容會被修剪,並且其餘內容是不可見的
scroll 內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容(默認有滾動框)
Auto 如果內容被修剪,則瀏覽器會顯示滾動條以便查看其餘的內容(溢出纔有滾動條)
4、Visibility
visible 默認值,元素是可見的
hidden 元素是不可見的
5、Visibility與Display:
Visibility:hidden;隱藏元素,但其位置空出,新元素不可覆蓋其舊元素位置
Display:none;元素消失,新元素覆蓋其舊元素位置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章