2010-02-01 1 views

risposta

13

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.

+1

+1: la risposta definitiva. – Skilldrick

+0

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? –

+0

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

1

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.

2

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).

+0

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. –

-1

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

+0

Siamo spiacenti, ma non seguo ... = S –

+0

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

+0

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. –