1文檔流的概念是指什么呢?有哪些方式可以脫離文檔流呢?
文檔流是元素按照其在html中的位置順序決定排布的過程,從窗體自上而下分成一行行,并在每行中按從左到右分行一行行!
有三種方式可以讓元素脫離文檔流:
文檔流fix,浮動,定位position:absolute
2、有幾種定位方式,分別是如何實現(xiàn)定位的,使用場景如何?
fixed是相對于瀏覽器窗口進行定位,不會因為頁面的滑動而改變位置??梢杂胻op,right,bottom,left,來設(shè)置位置同時如果頁面有多個元素會有前后距離關(guān)系,可以寫z-index來控制元素的前后優(yōu)先級,顯示的效果。
position:relative是不脫離文檔流的對自身位置進行直接定位,可以用top,bottom,left,right來設(shè)置位置,可以z-index
position:absolute是脫離文檔流的定位方式,相對應(yīng)自己的父容器或body進行定位優(yōu)先尋找父容器有沒有position:relative,如果沒則按照body來定位。
position:static是默認的定位方式,不能設(shè)置top等屬性
3、absolute,relative,fixed偏移的參考點分別是什么
absolute偏移的參考點是加了relative的父元素,如果沒有加了relative的父元素則是按照body來定位。
relative是相對于自己原來的位置進行定位。
fixed是相對于瀏覽器窗口進行定位。
4、z-index 有什么作用? 如何使用?
z-index有設(shè)置一個dom元素的堆疊順序的作用,z-index的值更大那么會顯示在更前面的位置,另反。他和定位屬性一起使用
5、position:relative和負margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別
position:relative是相對于自己的原來的位置進行偏移,對頁面結(jié)構(gòu)不會有任何影響,只是這一個元素的顯示的位置會變化,但是瀏覽器認為它實際占用的位置沒有變化
負margin是直接調(diào)整元素的外邊距,這會影響到整體的文檔流。
6、如何讓一個固定寬高的元素在頁面上垂直水平居中?
固定高寬div垂直居中
div{
width:200px;
height:200px;
position:absolute;
left:50%;
top:50%;
margin-left:-100px;
margin-top:100px;
}
不固定高寬div垂直居中的方法
第一種方法


以上2中方法可能都有其局限性,我介紹的第三中方法是比較成熟的不是固定高寬div的垂直居中的方法!但是方法是css3的寫法,想兼容IE8的童鞋們,建議用上面的方法!
方法和我們固定高寬的差不多,但是不用margin我們用的是 translate()