你對DIV定位的概念和用法是否了解,這裡和大家分享一下,主要包括無定位,相對定位和絕對定位等內容。
DIV定位用法詳解
1.position:static|無定位
position:static是所有元素定位的默認值,一般不用注明,除非有需要取消繼承的別的定位
example:
- #div-1{
- position:static;
- }
2.position:relative|相對定位
使用position:relative,就需要top,bottom,left,right4個屬性來配合,確定元素的位置。
如果要讓div-1層向下移動20px,左移40px:
example:
- #div-1{
- position:relative;
- top:20px;
- left:40px;
- }
如果用到相對定位,緊隨他的層divafter是不會出現在div-1的下方,而是和div-1在同一個高度出現。可見,position:relative;並不是很好用。
3.position:absolute|絕對定位
使用position:absolute;,能夠很准確的將元素移動到你想要的位置,
讓我將div-1a移動到頁面的右上角:
example:
- #div-1a{
- position:absolute;
- top:0;
- right:0;
- width:200px;
- }
使用絕對定位的div-1a層前面的或者後面的層會認為這個層並不存在,絲毫不影響到他們。所以position:absolute;用於將一個元素放到固定的位置很好用,但是如果需要div-1a層相對於附近的層來確定位置就不要實現了。
*這裡有個winie的bug需要提到,就是如果為絕對定位的元素定義一個相對的寬度,那麼在IE下它的寬度取決於父元素的寬度而不是整個頁面的寬度。
4.position:relative+position:absolute|絕對定位+相對定位
如果給父元素(div-1)定義為position:relative;子元素(div-1a)定義為position:absolute,那麼子元素(div-1a)的位置將相對於父元素(div-1),而不是整個頁面。
讓div-1a定位於div-1的右上角:
example:
- <dividdivid="div-1">
- <dividdivid="div-1a">
- thisisdiv-1aelement.
- </div>
- thisisdiv-1element.
- </div>
- #div-1{
- position:relative;
- }
- #div-1a{
- position:absolute;
- top:0;
- right:0;
- width:200px;
- }
【編輯推薦】