display: inline vs display: block


Risposte:


123

display: block significa che l'elemento viene visualizzato come un blocco, come lo sono sempre stati i paragrafi e le intestazioni. Un blocco ha uno spazio bianco sopra e sotto di esso e non tollera alcun elemento HTML accanto ad esso, tranne se ordinato diversamente (aggiungendo una dichiarazione float ad un altro elemento, per esempio).

display: inline significa che l'elemento viene visualizzato in linea, all'interno del blocco corrente sulla stessa riga. Solo quando si trova tra due blocchi l'elemento forma un "blocco anonimo", che tuttavia ha la larghezza più piccola possibile.

Ulteriori informazioni sulle opzioni di visualizzazione: http://www.quirksmode.org/css/display.html


1
Ci sono degli elementi che sono in linea per impostazione predefinita? Span?
eshellborn,

1
<span> <a> e <img>
EKanadily,

80

Bloccare

Occupa l'intera larghezza disponibile, con una nuova riga prima e dopo (display: block;)

In linea

Occupa solo la larghezza necessaria e non impone nuove linee (display: inline;)


40

display: block - un'interruzione di riga prima e dopo l'elemento

display: inline - nessuna interruzione di riga prima o dopo l'elemento



13

display: block;crea un elemento a livello di blocco , mentre display: inline;crea un elemento a livello in linea . È un po 'difficile spiegare la differenza se non si ha familiarità con il modello di casella CSS, ma è sufficiente dire che gli elementi a livello di blocco interrompono il flusso di un documento, mentre gli elementi in linea no.

Alcuni esempi di elementi di livello di blocco sono: div, h1, p, e hrHTML tags.

Alcuni esempi di elementi di livello di riga sono: a, span, strong, em, b, e iHTML tags.

Personalmente, mi piace pensare agli elementi incorporati come elementi tipografici . Questo non è del tutto o tecnicamente corretto, ma per la maggior parte gli elementi in linea si comportano in modo molto simile al testo.

Puoi leggere un altro articolo sull'argomento qui . Visto che molte altre persone in questo thread lo hanno citato, potrebbe valere la pena di leggerlo.


8

Display: il blocco prenderà l'intera linea, cioè senza interruzione di linea

Display: inline occuperà solo lo spazio esatto richiesto.

 #block
  {
   display : block;
   background-color:red;
   border:1px solid;
  }

 #inline
 {
  display : inline;
  background-color:red;
  border:1px solid;
 }

È possibile fare riferimento ad esempio in questo violino http://jsfiddle.net/RJXZM/1/ .


1
superbo ... questo è quello che sto cercando
Vicky

7

gli elementi di blocco si espandono per riempire il loro genitore.

gli elementi in linea si contraggono per essere abbastanza grandi da contenere i loro figli.


5

blocco di visualizzazione

occupa l'intera riga (100%) dello schermo, è sempre il 100% delle dimensioni dello schermo

esempio di blocco display

display: inline-block occupa tutta la larghezza necessaria, può essere dall'1% al 100% della dimensione dello schermo

mostra un esempio di blocco inline

ecco perché abbiamo div e span

Lo stile div predefinito è blocco display: occupa l'intera larghezza dello schermo

lo stile predefinito è display: blocco in linea: lo span non inizia su una nuova linea e occupa solo la larghezza necessaria


ecco perché abbiamo div e span - questo è incredibile fratello :-)
Siva

1

Aggiungi un colore di sfondo all'elemento e vedrai bene la differenza tra inline e blocco, come spiegato dagli altri poster.


1

Display: block Si comporta in modo molto simile ai tag 'p' e occupa l'intera riga e non può esserci alcun elemento accanto fino a quando non viene floatato. Display: inline Utilizza solo lo spazio necessario e consente ad altri elementi di essere allineati insieme a se stesso.

Usa queste proprietà in caso di moduli e otterrai una migliore comprensione.


0

un blocco o blocco inline può avere una larghezza (es. larghezza: 400px) mentre l'elemento inline non è influenzato dalla larghezza. l'elemento inline può estendersi alla riga di testo successiva (esempio http://codepen.io/huijing/pen/PNMxXL ridimensionare la finestra del browser per vederlo) mentre l'elemento block non può.

 .inline {
      background: lemonchiffon;
      div {
        display: inline;
        border: 1px dashed darkgreen;
      }

Sembra che si supponga che sia una risposta a una delle altre otto risposte a questa domanda. Non posso dire quale però.
Quentin,

la maggior parte di loro. solo aggiungendo alle informazioni.
EKanadily,

0

Elementi a blocchi : elementi come div, p, le intestazioni sono a livello di blocco. Iniziano da una nuova linea e occupano l'intera larghezza dell'elemento genitore. Elementi incorporati : gli elementi che piacciono a b, i, span, img sono di livello inline. Non partono mai da una nuova linea e occupano una vasta gamma di contenuti.


0

Per impostazione predefinita, gli elementi in linea non impongono l'avvio di una nuova linea nel flusso del documento. Gli elementi di blocco, d'altra parte, in genere causano un'interruzione di linea, è possibile fare riferimento a questo collegamento


La ringrazio per la risposta. Controlla le altre risposte prima la prossima volta, poiché ciò non aggiunge nulla di nuovo.
BluE,

Signore, ho risposto a questa domanda in base alla conoscenza che conosco, perché dovrei vedere altre risposte e pubblicare la mia risposta, hai postato questo commento a tutti coloro che hanno risposto a questa domanda. È così imbarazzante.
Rohan Devaki,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.