Ricerca…


Sintassi

  • posizione: statico | absolute | fixed | relativo | sticky | initial | inherit | unset;
  • z-index: auto | numero | iniziale | eredita;

Parametri

Parametro Dettagli
statico Valore predefinito. Gli elementi vengono visualizzati in ordine, così come appaiono nel flusso del documento. Le proprietà superiore, destra, inferiore, sinistra e z-index non si applicano.
parente L'elemento è posizionato rispetto alla sua posizione normale, quindi a left:20px aggiunge 20 pixel alla posizione SINISTRA dell'elemento
fisso L'elemento è posizionato rispetto alla finestra del browser
assoluto L'elemento è posizionato rispetto al suo primo elemento antenato posizionato (non statico)
iniziale Imposta questa proprietà sul valore predefinito.
ereditare Eredita questa proprietà dal suo elemento padre
appiccicoso Caratteristica sperimentale Si comporta come la position: static nel suo genitore fino a quando viene raggiunta una determinata soglia di offset, quindi agisce come position: fixed .
unset Combinazione di iniziale ed ereditaria. Maggiori informazioni qui .

Osservazioni

Normal Flow è il flusso di elementi se la posizione dell'elemento è statica .

  1. definire la larghezza è utile perché in alcuni casi impedisce la sovrapposizione del contenuto dell'elemento.

Posizione fissa

Definendo la posizione come fissa possiamo rimuovere un elemento dal flusso del documento e impostarne la posizione relativamente alla finestra del browser. Un uso ovvio è quando vogliamo che qualcosa sia visibile quando scorriamo fino alla fine di una lunga pagina.

#stickyDiv {
    position:fixed;
    top:10px;
    left:10px;
}

Elementi sovrapposti con z-index

Per modificare gli elementi posizionati nell'ordine di stack predefinito (proprietà della position impostata su relative , absolute o fixed ), utilizzare la proprietà z-index .

Più alto è lo z-index, più in alto nel contesto di stacking (sull'asse z) è posizionato.


Esempio

Nell'esempio seguente, un valore z-index di 3 mette il verde in cima, uno z-index di 2 mette il rosso appena sotto di esso, e un indice z di 1 mette blu sotto quello.

HTML

<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>

CSS

div {
    position: absolute;
    height: 200px;
    width: 200px;
}
div#div1 {
    z-index: 1;
    left: 0px;
    top: 0px;
    background-color: blue;
}
div#div2 {
    z-index: 3;
    left: 100px;
    top: 100px;
    background-color: green;
}
div#div3 {
    z-index: 2;
    left: 50px;
    top: 150px;
    background-color: red;
}

Questo crea il seguente effetto:

verde in cima al rosso, rosso in cima al blu

Guarda un esempio funzionante su JSFiddle .


Sintassi

z-index: [ number ] | auto;
Parametro Dettagli
number Un valore intero. Un numero più alto è più alto nella pila z-index . 0 è il valore predefinito. Valori negativi sono ammessi
auto Dà all'elemento lo stesso contesto di stack del suo genitore. ( Predefinito )

Osservazioni

Tutti gli elementi sono disposti in un asse 3D in CSS, incluso un asse di profondità, misurato dalla proprietà z-index . z-index funziona solo sugli elementi posizionati: (vedi: Perché z-index necessita di una posizione definita per funzionare? ). L'unico valore in cui viene ignorato è il valore predefinito, static .

Ulteriori informazioni sulla proprietà z-index e sui contesti di impilamento nella Specifica CSS sulla presentazione a livelli e sulla rete di sviluppatori Mozilla .

Posizione relativa

Il posizionamento relativo sposta l'elemento in relazione a dove sarebbe stato nel flusso normale . Proprietà offset:

  1. superiore
  2. sinistra
  3. destra
  4. parte inferiore

sono usati per indicare quanto lontano spostare l'elemento da dove sarebbe stato nel flusso normale.

.relpos{
    position:relative;
    top:20px;
    left:30px;
}

Questo codice sposterà la casella contenente l'elemento con attributo class = "relpos" 20px down e 30px a destra da dove sarebbe stato nel flusso normale.

Posizione assoluta

Quando viene utilizzato il posizionamento assoluto, la casella dell'elemento desiderato viene eliminata dal flusso normale e non influisce più sulla posizione degli altri elementi sulla pagina. Proprietà offset:

  1. superiore
  2. sinistra
  3. destra
  4. parte inferiore

specificare che l'elemento dovrebbe apparire in relazione al suo prossimo elemento non statico contenente.

.abspos{
    position:absolute;
    top:0px;
    left:500px;
}    

Questo codice sposterà la casella contenente l'elemento con attributo class="abspos" basso a 0px e a destra 500px rispetto al relativo elemento contenitore.

Posizionamento statico

La posizione di default di un elemento è static . Per citare MDN :

Questa parola chiave consente all'elemento di utilizzare il comportamento normale, ovvero è disposto nella sua posizione corrente nel flusso. Le proprietà superiore, destra, inferiore, sinistra e z-index non si applicano.

.element{
  position:static;
}


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow