position屬性 position屬性指定用於元素的定位方法的類型(靜態,相對,固定,絕對或粘性)。 有五種不同的值: static relative fixed absolute sticky 然後使用top,bottom,left和right屬性定位元素。但是,除非首先設置position屬 ...
position屬性
position屬性指定用於元素的定位方法的類型(靜態,相對,固定,絕對或粘性)。 有五種不同的值:
- static
- relative
- fixed
- absolute
- sticky
然後使用top,bottom,left和right屬性定位元素。但是,除非首先設置position屬性,否則這些屬性將不起作用。根據位置值,它們的工作方式也不同。
position:static;
預設情況下,HTML元素定位為靜態。靜態定位元素不受top,bottom,left和right屬性的影響。 元素position:static;沒有以任何特殊方式定位; 它總是根據頁面的正常流程定位:
這個<div>元素的position:static;<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css</title> <style> div.static { position: static; border: 3px solid #73AD21; } </style> </head> <body> <h2>position: static;</h2> <p>一個位置為position:static; 沒有任何特殊的定位; 它是始終根據頁面的正常流程定位:</p> <div class="static"> 這個div元素的位置為:static; </div> </body> </html>
position:relative;
具有position:relative;相對於其正常位置定位的元素。設置相對定位元素的top,bottom,left和right屬性將使其遠離其正常位置進行調整。其他內容不會被調整以適應元素留下的任何空白。
這個<div>元素的position:relative;<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css</title> <style> div.relative { position: relative; left: 30px; border: 3px solid #73AD21; } </style> </head> <body> <h2>position: relative;</h2> <p>position:relative的元素; 相對於其正常位置定位:</p> <div class="relative"> 這個div元素有position: relative; </div> </body> </html>
position:fixed;
元素position:fixed;相對於視口定位,這意味著即使頁面滾動,它也始終保持在同一位置。top,bottom,left和right屬性用於定位元素。固定元素不會在頁面中留下通常位於其中的間隙。註意頁面右下角的固定元素。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css教程(jc2182.com)</title> <style> div.fixed { position: fixed; bottom: 0; right: 0; width: 300px; border: 3px solid #73AD21; } </style> </head> <body> <h2>position:fixed;</h2> <p>position:fixed; 相對於視口定位,這意味著即使頁面滾動,它也始終保持在同一位置:</p> <div class="fixed"> 這個div元素有position: fixed; </div> </body> </html>
position:absolute;
具有position:absolute;相對於最近定位的祖先定位的元素(而不是相對於視口定位,如fixed)。然而; 如果絕對定位元素沒有定位祖先,它將使用文檔正文,並隨頁面滾動一起移動。 註意: “定位”元素的位置是除了static之外的任何元素。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>css教程(jc2182.com)</title> <style> div.relative { position: relative; width: 400px; height: 200px; border: 3px solid #73AD21; } div.absolute { position: absolute; top: 80px; right: 0; width: 200px; height: 100px; border: 3px solid #73AD21; } </style> </head> <body> <h2>position: absolute;</h2> <p>position:absolute;的元素; 相對於最近定位的祖先定位(而不是相對於視口定位,如fixed):</p> <div class="relative">這個div元素有 position: relative; <div class="absolute">這個div元素有 position: absolute;</div> </div> </body> </html>
position:sticky;
position:sticky;根據用戶的滾動位置定位元素。粘性元素在relative和之間切換fixed,具體取決於滾動位置。它被相對定位,直到在視口中滿足給定的偏移位置 - 然後它“粘住”到位(如位置:fixed)。
註意: Internet Explorer,Edge 15及更早版本不支持粘性定位。Safari需要-webkit-首碼(參見下麵的示例)。您還必須指定的至少一個top,right,bottom或left為粘稠的定位工作。
在此示例中,top: 0當您到達其滾動位置時,粘性元素會粘到頁面頂部。
<!DOCTYPE html> <html> <head> <style> div.sticky { position: -webkit-sticky; position: sticky; top: 0; padding: 5px; background-color: #cae8ca; border: 2px solid #4CAF50; } </style> </head> <body> <p>嘗試在此框架內<b>滾動</b>以瞭解粘性定位的工作原理。</p> <p>註意:IE/Edge15及更早版本不支position: sticky;。</p> <div class="sticky">我很粘!</div> <div style="padding-bottom:2000px"> <p>在此示例中,當您到達其滾動位置時,粘性元素會粘到頁面頂部(頂部:0)。</p> <p>向上滾動以消除粘性。</p> <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p> <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p> <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p> <p>Some text to enable scrolling.. Lorem ipsum dolor sit amet, illum definitiones no quo, maluisset concludaturque et eum, altera fabulas ut quo. Atqui causae gloriatur ius te, id agam omnis evertitur eum. Affert laboramus repudiandae nec et. Inciderint efficiantur his ad. Eum no molestiae voluptatibus.</p> </div> </body> </html>
所有CSS定位屬性
屬性 | 描述 |
---|---|
bottom | 設置定位框的底部邊緣 |
clip | 剪輯一個絕對定位的元素 |
left | 設置定位框的左邊緣 |
position | 指定元素的定位類型 |
right | 設置定位框的右邊緣 |
top | 設置定位框的上邊緣 |
z-index | 設置元素的堆棧順序 |