C'è un modo semplice per selezionare tutti gli elementi a livello di blocco con CSS?Seleziona tutti gli elementi a livello di blocco con css
voglio mettere margine am 1,5 em tra tutti gli elementi a livello di blocco nella principale area di contenuto del mio sito
In questo momento ho un codice simile:
#wrapper .content p, #wrapper .content ul, #wrapper .content div, #wrapper .content ol, #wrapper .content blockquote, #wrapper .content table {margin-top: 1.5em;}
#wrapper .content p:first-child, #wrapper .content ul:first-child, #wrapper .content div:first-child, #wrapper .content ol:first-child, #wrapper .content blockquote:first-child, #wrapper .content table:first-child {margin-top: 1.5em;}
che è un dolore reale nel posteriore per leggere o mantenere ...
vorrei sostituirlo con qualcosa di simile:
#wrapper .content *:block + *:block {margin-top: 1.5em;}
È possibile?
Non riesco a utilizzare * + *
perché questo catturerà anche elementi in linea, celle di tabella, ecc. E non voglio che vengano applicati margini casuali nel mezzo dei paragrafi. Inoltre non posso usare #wrapper .content > *
perché non verrà annidato div
ecc.
Penso che gli elementi incorporati ignoreranno i margini, no? –
@George Garchagudashvili: non esattamente. I margini verticali sugli elementi in linea possono influire sui calcoli di base, che possono avere risultati catastrofici in qualsiasi parte del layout che si basa su blocchi o tabelle in linea. – BoltClock
Il tuo requisito è strano ma non impossibile. Preferisco suggerirti di assegnare classi specifiche agli elementi per i quali hai bisogno di un margine o se sei sicuro di scegliere come target tutti gli elementi del blocco piuttosto che elencarli nel tuo foglio di stile e assegnargli un margine. –