Junior
Kāda ir atšķirība starp dažādiem elementu pozicionēšanas veidiem CSS?
sobes.tech AI
Atbilde no AI
static- Noklusējuma pozīcija. Elements tiek pozicionēts saskaņā ar dokumenta standarta plūsmu.top,right,bottom,leftīpašības neietekmē.relative- Elements tiek pozicionēts relatīvi pret savu normālo pozīciju plūsmā.top,right,bottom,leftīpašības to pārvieto no sākotnējās pozīcijas, bet aizņemtais vieta plūsmā paliek.absolute- Elements pilnībā tiek noņemts no normālās dokumenta plūsmas. Tā pozīcija tiek noteikta artop,right,bottom,leftīpašībām attiecībā uz tuvāko pozicionēto vecāku (arposition: relative,absolute,fixedvaisticky). Ja tādu vecāku nav, pozīcija tiek noteikta attiecībā uz sākotnējo<html>bloku.fixed- Elements pilnībā tiek noņemts no normālās dokumenta plūsmas. Tā pozīcija tiek noteikta artop,right,bottom,leftīpašībām attiecībā uz skatlogu (viewport). Elements paliek vietā, ritinot lapu.sticky- Elements tiek pozicionēts kārelative, līdz brīdim, kad ritināšanas laikā tas sasniedz norādīto pozīciju (top,right,bottom,left), pēc tam tā pozīcija kļūst parfixed.
Atšķirību tabula:
| Īpašība | static |
relative |
absolute |
fixed |
sticky |
|---|---|---|---|---|---|
| Dokumenta plūsma | Parasta | Saglabājas | Noņemts | Noņemts | Sākumā parasts, pēc tam noņemts |
Pārvietojums (top utt.) |
Nē | Attiecīgi pret sevi | Attiecīgi pret vecāku/vērošanas logu | Attiecīgi pret skatlogu | Attiecīgi pret sevi, pēc tam skatlogu |
| Ritināšanas laikā | Ritina | Ritina | Paliek vietā (ja vecāks fixed) vai ritina kopā ar vecāku |
Paliek vietā | Sākumā ritina, pēc tam paliek vietā |
Piemērs:
.static-box {
position: static; /* Noklusējuma pozīcija */
width: 100px;
height: 100px;
background-color: lightblue;
}
.relative-box {
position: relative;
top: 20px; /* Pārvietojums uz augšu no parastās pozīcijas */
left: 20px; /* Pārvietojums uz labo pusi no parastās pozīcijas */
width: 100px;
height: 100px;
background-color: lightgreen;
}
.absolute-container {
position: relative; /* Vecāks, kas pozicionēts */
width: 300px;
height: 300px;
border: 1px solid black;
}
.absolute-box {
position: absolute;
top: 50px; /* Attiecībā uz konteineru */
left: 50px; /* Attiecībā uz konteineru */
width: 50px;
height: 50px;
background-color: lightcoral;
}
.fixed-box {
position: fixed;
bottom: 10px; /* Attiecībā uz skatlogu */
right: 10px; /* Attiecībā uz skatlogu */
width: 70px;
height: 70px;
background-color: lightsalmon;
}
.sticky-header {
position: sticky;
top: 0; /* Pielīp pie skatloga augšas */
height: 50px;
background-color: lightgoldenrodyellow;
z-index: 10; /* Pārklāj citus elementus, kad pielīp */
}