Kedudukan CSS

Dalam CSS, atribut Position sering digunakan, terutamanya kedudukan mutlak dan kedudukan relatif Penggunaan mudah tidak menjadi masalah, terutamanya apabila bersarang, ia akan menjadi sedikit mengelirukan.

Atribut kedudukan: Menentukan jenis kedudukan elemen. Iaitu, elemen dipisahkan daripada susun atur aliran dokumen dan dipaparkan di mana-mana pada halaman.

nilai atribut kedudukan:

mutlak: Hasilkan elemen berkedudukan mutlak, berbanding dengan elemen pertama selain daripada kedudukan statik elemen induk untuk kedudukan. Kedudukan elemen ditentukan melalui atribut "kiri", "atas", "kanan" dan "bawah".

relatif: Menghasilkan elemen yang agak berkedudukan, diposisikan berbanding dengan kedudukan normalnya. Oleh itu, "kiri:20" menambah 20 piksel pada kedudukan KIRI elemen.

ditetapkan: Menghasilkan elemen berkedudukan mutlak, diposisikan berbanding tetingkap penyemak imbas.

statik: Nilai lalai. Tanpa kedudukan, elemen muncul dalam aliran biasa (mengabaikan pengisytiharan atas, bawah, kiri, kanan atau indeks-z). Kedudukan elemen ditentukan melalui atribut "kiri", "atas", "kanan" dan "bawah".

warisi: Menentukan bahawa nilai atribut kedudukan harus diwarisi daripada elemen induk.

Dua kaedah yang paling biasa digunakan ialah mutlak dan relatif.

atribut tambahan kedudukan:

①kiri: Menunjukkan bilangan piksel untuk dimasukkan ke kiri elemen , berapa banyak piksel untuk mengalihkan elemen ke kanan.

②kanan: Menunjukkan bilangan piksel untuk dimasukkan ke sebelah kanan elemen dan bilangan piksel untuk mengalihkan elemen ke kiri.

③atas: Menunjukkan bilangan piksel untuk dimasukkan di atas elemen dan bilangan piksel untuk memindahkan elemen ke bawah.

④bawah: Menunjukkan bilangan piksel untuk dimasukkan di bawah elemen dan bilangan piksel untuk mengalihkan elemen ke atas.

Nilai atribut di atas boleh menjadi negatif, unit: px.


Kedudukan mutlak

Kedudukan mutlak ; Susun atur dipisahkan daripada aliran dokumen, dan ruang yang tinggal diisi oleh elemen berikutnya. Kedudukan permulaan kedudukan ialah elemen induk terdekat (jawatan tidak statik), jika tidak, ia adalah dokumen Badan itu sendiri.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
  <style type="text/css">
        html body
        {
            margin: 0px;
            padding: 0px;
        }
        #parent
        {
            width: 200px;
            height: 200px;
            border: solid 5px black;
            padding: 0px;
            position: relative;
            background-color: green;
            top: 15px;
            left: 15px;
        }
        #sub1
        {
            width: 100px;
            height: 100px;
            background-color: blue;
            position: absolute;
            top: 15px;
            left: 15px;
        }
        #sub2
        {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="parent">
        <div id="sub1">
        </div>
        <div id="sub2">
        </div>
    </div>
</body>
</html>

Nota: Kami mendapati bahawa kerana kami meletakkan Sub1 secara mutlak, kedudukan Sub1 telah diimbangi, manakala adik beradik Div ​​Sub2, menduduki jawatan Sub1, dan Sub1 blok Sub2.

Kedudukan relatif relatif

kedudukan relatif tidak terlepas daripada reka letak aliran dokumen, Sahaja menukar kedudukannya sendiri, meninggalkan ruang kosong dalam kedudukan asal aliran dokumen. Kedudukan permulaan kedudukan ialah kedudukan asal elemen ini dalam aliran dokumen.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
  <style type="text/css">
        html body
        {
            margin: 0px;
            padding: 0px;
        }
        #parent
        {
            width: 200px;
            height: 200px;
            border: solid 5px black;
            padding: 0px;
            position: relative;
            background-color: green;
            top: 15px;
            left: 15px;
        }
        #sub1
        {
             width: 100px;
             height: 100px;
             background-color: blue;
             position: relative;
             top: 15px;
             left: 15px;
        }
        #sub2
        {
            width: 100px;
            height: 100px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div id="parent">
        <div id="sub1">
        </div>
        <div id="sub2">
        </div>
    </div>
</body>
</html>

Nota: Kami akan mendapati bahawa Sub1 diimbangi, yang tidak menjejaskan kedudukan Sub2, dan pada masa yang sama meliputi Sub2. Ingat bahawa offset tidak relatif kepada Div Ibu bapa, tetapi Berbanding dengan kedudukan asal Sub1.

Kedudukan tetap

Kedudukan tetap sama dengan mutlak, tetapi tidak berubah kedudukan apabila bar skrol bergerak.

<meta charset="utf-8"> 
<title>实例</title> 
  <style type="text/css">
        html body
        {
            margin: 0px;
            padding: 0px;
        }
        #parent
        {
            width: 200px;
            height: 200px;
            border: solid 5px black;
            padding: 0px;
            position: relative;
            background-color: green;
            top: 15px;
            left: 15px;
        }
        #sub1
{
  width: 100px;
  height: 100px;
  background-color: blue;
  position: absolute;
  top: 15px;
  left: 15px;
}
#sub2
{
  width: 100px;
  height: 100px;
  background-color: red;    
  position: fixed;
  top: 5px;
  left: 5px;              
}
    </style>
</head>
<body>
    <div id="parent">
        <div id="sub1">
        </div>
        <div id="sub2">
        </div>
    </div>
</body>
</html>

Nota: Anda akan mendapati Sub2 sentiasa diposisikan dengan badan.


Meneruskan pembelajaran
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>实例</title> <style type="text/css"> div { height: 200px; width: 300px; border-color: Black; border-style: solid; border-width: 1px; } #a { position:absolute; left:900px; top:150px; } #b { position:relative; left:500px; top:100px; } #c { position:fixed; left:970px; top:400px; } #d { position:static; background-color:Window; } </style> </head> <body>   <div id="a" >     div-a<br />     position:absolute;<br />     绝对定位;脱离文档流,遗留空间由后续元素填充。   </div>   <div id="b" >     div-b<br />     position:relative;<br />     相对定位;不脱离文档流,只改变自身的位置,在文档流原先的位置遗留空白区域。   </div>   <div id="c" >     div-c<br />     position:fixed;<br />     固定定位;固定在页面中,不随浏览器的大小改变而改变位置。   </div>   <div id="d"></div>   <br><br><br><br><br><br><br><br><br><br> </body> </html>