2013-12-17 20 views
23

Mi riferivo un video tutorial dove il designer ha utilizzato font: 0/0 a; per la sostituzione delle immagini, in modo da ottenere che 0 è il font-size, un altro è la 0line-height ma progettista salta la parte a semplicemente dicendo che è un hack.Cosa significa "a" nel font: 0/0 a;

Quindi cosa fa esattamente questo a?

+1

Pertinente: [Sintassi di stenografia dei font] (http://www.w3.org/TR/CSS21/fonts.html#propdef-font). Cosa succede se si esegue lo stesso codice, meno il 'a'? – Sampson

risposta

27

http://nicolasgallagher.com/another-css-image-replacement-technique/

font: 0/0 a - una proprietà scorciatoia che azzera la dimensione del carattere e line-height. Il valore si comporta come una famiglia di caratteri molto breve (un'idea presa dall'implementazione BEM di questo metodo). Il validatore CSS si lamenta che l'utilizzo di 0/0 nella proprietà del carattere stenografico non è valido, ma ogni browser lo accetta e questo sembra essere un errore nel validatore . Usando font: 0px/0 una convalida dei passaggi ma visualizzata come font : 0/0 a nel codice che il validatore contrassegna come valido.

+0

L'impostazione 'a' sembra necessaria solo nella notazione abbreviata. Dimensione del carattere 'a mano lunga: 0; line-height: 0' funziona troppo sembra https://codepen.io/ryanve/pen/OzOKNd – ryanve

14

Il a è un nome di carattere e, naturalmente, è molto improbabile che qualcuno abbia un font con quel nome installato.

È utilizzato solo per soddisfare la sintassi CSS e il tipo di carattere che il browser pensa che dovrebbe utilizzare non è importante, in quanto non verrà comunque utilizzato per mostrare alcun testo.


Se si utilizza che su un'immagine al fine di sbarazzarsi di spaziatura attorno all'immagine, considerare l'utilizzo di display:block invece.

Problemi correlati