1. 文檔流的概念指什么?有哪種方式可以讓元素脫離文檔流?
文檔流是文檔中可顯示對象在排列時所占用的位置。將窗體自上而下分成一行行, 并在每行中按從左至右的順序排放元素,即為文檔流.(自己的理解是從頭到尾按照文檔的順序,該在什么位置就在什么位置,也可以按照上面的意思理解,自上而下,自左到右的順序)
脫離文檔流的方式:
- 用float浮動
- 用position:absolute或fixed
2. 有幾種定位方式,分別是如何實現定位的,使用場景如何?
值 | 描述 | 使用場景 |
---|---|---|
absolute | 生成絕對定位的元素,相對于 static 定位以外的第一個父元素進行定位。元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進行規定。 | 根據需求需要定位在某個參考點的某個相對位置時 |
static | 默認值。沒有定位,元素出現在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)。 | 默認不設置 |
fixed | 生成絕對定位的元素,相對于瀏覽器窗口進行定位。元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進行規定。 | 廣告窗口或底部菜單,用于固定位置顯示的地方 |
relative | 生成相對定位的元素,相對于其正常位置進行定位。占用空間,相當于原元素的位置移動,不會脫 | 其它元素定位時需要把它作為參考點 |
3. absolute, relative, fixed 偏移的參考點分別是什么?
參考點:absoluteabsolute的參考點是離其最近的元素postion設置了fixed、relative的父級或祖先元素,如果父級元素沒有,則一層一層往上找,最終到body元素。。
relative:根據其本身的位置偏移。
fixed:根據窗口的位置偏移。
4. z-index 有什么作用? 如何使用?
4、 z-index 有什么作用? 如何使用?
z-index的作用是當兩個或n個元素重疊在一起的時候,其決定哪個元素顯示在上層z-index只有在使用了定位屬性(positon且值為relative\absolute\fixed)上才可使用;有較高z-index值的元素比z-index值較低的元素離讀者更近;z-index值是正負整數,
5. position:relative和負margin都可以使元素位置發生偏移?二者有什么區別.
position:relative使元素偏移時,其自身位置并未改變,處在文檔流的原始位置。
負margin使元素偏移時,自身位置改變并且會影響周邊元素
6. 如何讓一個固定寬高的元素在頁面上垂直水平居中?
可以利用position定位的absolute值和負margin使寬高固定的元素在頁面上水平居中
7. 浮動元素有什么特征?對其他浮動元素、普通元素、文字分別有什么影響?
浮動模型也是一種可視化格式模型,浮動的框可以左右移動(根據float屬性值而定),直到它的外邊緣碰到包含框或者另一個浮動元素的框的邊緣。浮動元素不在文檔的普通流中。
對其他元素的影響:
- 浮動元素之間是緊跟的關系,碰到同級元素的邊緣或者父元素的邊緣才停止
- 如果碰到文字文字會圍繞在浮動元素周圍,下一個普通的元素會占據浮動元素之前的位置,但是普通元素內的元素不會跟著普通元素
8. 清除浮動指什么? 如何清除浮動?
規定元素的哪一側不允許其他浮動元素。 - 利用 clear屬性,清除浮動
- 使父容器形成BFC