Capisco i vantaggi di utilizzare ems a favore di misure statiche come pixel e punti, ma perché la maggior parte delle persone là fuori CSS (SO escluso) preferisce usare ems invece di valori%?Quali sono i vantaggi dell'utilizzo di ems invece di% in CSS?
risposta
Per dimensioni dei caratteri:
- em e% sono sia rispetto alla dimensione del font dell'elemento genitore (cioè 2em e 200% danno sempre lo stesso risultato)
- SME hanno una storia in tipografia (sebbene a EM CSS non è lo stesso di un em tipografica)
- implementazioni browser di CSS hanno un minor numero di bug con% rispetto a em
Per tutto il resto (ad esempio, la larghezza di un elemento):
- em è relativa alla dimensione del font
- % è relativo all'elemento genitore
... così fanno le cose completamente diverse e hanno bisogno di essere considerata caso per caso.
Immagino che una ragione sia che molti web designer hanno iniziato come designer di stampa, e così sono abituati agli sme come unità di misura. Questo è certamente il mio caso.
Gli Ems sono basati su un valore noto e coerente (la dimensione del carattere) mentre la percentuale si basa sulla dimensione del contenitore. È molto più difficile progettare e comprendere i CSS quando la base delle dimensioni e delle dimensioni cambia a seconda del contesto (in quale elemento/contenitore ci si trova).
Grazie Nate, io sono ancora un po 'confuso con le risposte e @ Davide forniti, se si potesse fare un po' più di luce su questo argomento ho lo apprezzerebbe davvero. –
Dare una pagina layout a 3 colonne con 25%/50%/25%, assegnare font che consente 6 righe di articolo (16% font-size), con 5 articoli per pagina (20% di altezza)
Ora immaginate che su un dispositivo integrato che ha una risoluzione dello schermo di 320x200px
Siamo spiacenti, ma non seguo ... = S –
Non ha molto senso. Questo tipo di dispositivo generalmente non renderà un foglio di stile multimediale dello schermo (a meno che non abbia una porta virtuale e una funzione di zoom, come Safari per iPhone). Le dimensioni dei caratteri definite in percentuale sono relative alla dimensione del carattere dell'elemento genitore, non alle dimensioni della finestra del viewport o del contenitore. – Quentin
Mi spiace, ma non una volta ho affrontato pagine Web che erano completamente inutilizzabili su un netbook, semplicemente perché gli autori presumevano che "tutti usavano schermi grandi" e la pagina non si adattava allo schermo mentre disabilitava lo scrolling o ridimensionato a una dimensione che li rendeva illeggibili. –
+1: la risposta definitiva. – Skilldrick
Grazie David, quindi stai dicendo che è più sicuro in termini di compatibilità con i browser di usare '%' invece di 'em' per le dimensioni dei caratteri? Inoltre, se si specifica una dimensione del carattere in '%' verrà calcolata usando la dimensione del carattere di base o il blocco contenitore? –
Nessuno dei due. Le dimensioni dei caratteri specificate come percentuale, come em, sono relative alla dimensione del carattere dell'elemento genitore. (Ooops, che evidenzia un errore nella mia risposta, correggo che) – Quentin