Hay muchos artículos y preguntas sobre fuentes de tamaño porcentual frente a otras de otro tamaño . Sin embargo, no puedo averiguar CUÁL se supone que es la referencia del valor porcentual. Entiendo que esto es 'el mismo tamaño en todos los navegadores'. También leí esto, por ejemplo:
Porcentaje (%): la unidad de porcentaje es muy parecida a la unidad "em", salvo algunas diferencias fundamentales. En primer lugar, el tamaño de fuente actual es igual al 100% (es decir, 12pt = 100%). Mientras usa la unidad de porcentaje, su texto permanece totalmente escalable para dispositivos móviles y para accesibilidad.
Fuente: http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/
Pero si dice "es decir, 12 pt = 100%", significa que primero tiene que definir font-size: 12pt
. ¿Así es como funciona? ¿Primero define un tamaño en una medida absoluta y luego se refiere a esto como '100%'? No tiene mucho sentido, ya que muchas muestras dicen que es útil decir:
body {
font-size: 100%;
}
Entonces, al hacer esto, ¿CUÁL es el tamaño de fuente relativo? Noto que el tamaño que veo en mi pantalla difiere para cada fuente. Arial parece mucho más grande que Times New Roman, por ejemplo. Además, si solo hiciera esto, el tamaño del cuerpo = 100%, ¿ eso significaría que será igual en todos los navegadores? ¿O solo si primero defino un valor absoluto?
ACTUALIZACIÓN, SÁB 23 DE JULIO
Estoy llegando allí, pero por favor tengan paciencia conmigo.
Entonces, el valor% se relaciona con el tamaño de fuente predeterminado del navegador, si lo entiendo correctamente. Bueno, eso es bueno, pero nuevamente me da varias otras preguntas:
- ¿Es este tamaño estándar siempre el mismo para cada versión del navegador o varían entre versiones?
- YO ! encontré (vea la imagen a continuación) la configuración de Google Chrome (¡nunca antes había visto esto!), y veo la configuración estándar "serif", "sans-serif" y "monoespacio". Pero, ¿cómo interpreto esto para otras fuentes? Digamos que defino
font: 100% Georgia;
, ¿qué tamaño tomará el navegador? ¿Buscará el tamaño estándar para serif o la fuente "Georgia" tiene un tamaño estándar para el navegador? - En varios sitios web leo cosas como
Sizing text and line-height in ems, with a percentage specified on the body [..], was shown to provide **accurate, resizable text across all browsers** in common use today
. Pero por lo que estoy aprendiendo ahora, creo que en realidad debería elegir entre texto redimensionable (usando% o em, como lo que recomiendan en esta cita), o tener 'tamaños de fuente precisos y consistentes en los navegadores' (usando px o pt como base). ¿Es esto correcto?
Configuraciones de Google:
Así es como yo creo que las cosas podrían ser similar si no se define el tamaño en valores absolutos.
font-size
utilizando unidades relativas, comoem
,rem
o%
. ¡El usopx
anulará el tamaño de fuente predeterminado del navegador! Muchos usuarios especifican un tamaño de fuente personalizado para facilitar la lectura del texto.Entiendo que cuando la fuente se configura de la siguiente manera
el navegador representará la fuente según la configuración del usuario para ese navegador.
La especificación dice que se representa%
http://www.w3.org/TR/CSS1/#font-size
En este caso, supongo que significa lo que está configurado el navegador.
fuente
body
eshtml
. entoncesbody { font-size: 100%; }
será el 100% delhtml
tamaño de la fuente, no el predeterminado del navegador. Por lo general, estos son uno en lo mismo, por lo que tiene razón. Pero a veces verás unahtml { font-size: ??? }
regla.Un porcentaje en el valor de la
font-size
propiedad es relativo al tamaño de fuente del elemento padre . CSS 2.1 dice esto de manera oscura y confusa (refiriéndose al "tamaño de fuente heredado"), pero CSS3 Text lo dice muy claramente.El padre del
body
elemento es el elemento raíz, es decir, elhtml
elemento. A menos que se establezca en una hoja de estilo, el tamaño de fuente del elemento raíz depende de la implementación. Por lo general, depende de la configuración del usuario.La configuración no
font-size: 100%
tiene sentido en muchos casos, ya que un elemento hereda el tamaño de fuente de su padre (lo que lleva al mismo resultado), si ninguna hoja de estilo establece su propio tamaño de fuente. Sin embargo, puede ser útil anular la configuración en otras hojas de estilo (incluidas las hojas de estilo predeterminadas del navegador).Por ejemplo, un
input
elemento generalmente tiene una configuración en la hoja de estilo del navegador, lo que hace que su tamaño de fuente predeterminado sea más pequeño que el del texto de copia. Si desea que el tamaño de fuente sea el mismo, puede configurarinput {font-size: 100%}
Para el
body
elemento, la configuración lógicamente redundantefont-size: 100%
se usa con bastante frecuencia, ya que se cree que ayuda contra algunos errores del navegador (en navegadores que probablemente han perdido su importancia ahora).fuente
font-size:100%
podría servir un propósito es en el modo Quirks, donde los tamaños de fuente no se heredan en tablas. Con este estilo, las tablas obtienen el tamaño de fuente principal. Por supuesto, ya nadie en su sano juicio usa el modo Quirks ...Es relativo al tamaño de fuente predeterminado del navegador a menos que lo anule con un valor en pt o px.
fuente
body
, no un elemento anidado arbitrariamente, por lo que la respuesta es correcta con un pequeño asterisco :)Lo siento si llego tarde a la fiesta, pero en tu edición haces un comentario sobre el
font: 100% Georgia
que las otras respuestas no han respondido.Hay una diferencia entre
font: 100% Georgia
yfont-size:100%; font-family:'Georgia'
. Si eso fuera todo el método abreviado, la parte del tamaño de fuente no tendría sentido. Pero también establece muchas propiedades a sus valores predeterminados: la altura de la línea se conviertenormal
(o alrededor de 1.2), lo mismo para el estilo (sin cursiva) y el peso (sin negrita).Eso es todo. Las otras respuestas ya mencionaron todo lo demás que había que mencionar.
fuente
Como demostró de manera convincente, el
font-size: 100%;
no se mostrará igual en todos los navegadores. Sin embargo, configurará la fuente en su archivo CSS, por lo que será la misma (o una alternativa) en todos los navegadores.Creo que
font-size: 100%;
puede ser muy útil cuando se combina con unem
diseño basado. Como muestra este artículo , esto creará un sitio web muy flexible.¿Cuándo es esto útil? Cuando su sitio necesita adaptarse a los deseos de los visitantes. Tomemos, por ejemplo, un hombre mayor que pone su tamaño de fuente predeterminado en 24 px. O alguien con una pantalla pequeña con una resolución grande que aumenta su tamaño de fuente predeterminado porque de lo contrario tiene que entrecerrar los ojos. La mayoría de los sitios se romperían, pero los sitios basados en em pueden hacer frente a estas situaciones.
fuente
Relativo al tamaño predeterminado definido para esa fuente.
Si alguien abre su página en un navegador web, hay una fuente y un tamaño de fuente predeterminados que utiliza.
fuente
Según tengo entendido, ayuda a que su contenido se ajuste con diferentes valores de familia de fuentes y tamaños de fuente, lo que hace que su contenido sea escalable. En cuanto a la cuestión de heredar el tamaño de fuente, siempre podemos anular dando un tamaño de fuente específico para el elemento.
fuente
De acuerdo con TODAS LAS ESPECIFICACIONES QUE DAN HASTA 1996 , los valores porcentuales se
font-size
refieren al tamaño de fuente (calculado) del elemento padre .Es fácil.
¿Qué pasa si
div
declara un tamaño de fuente relativo, comoem
s, o peor aún, otro porcentaje? Ver "calculado" arriba. Cualquier unidad absoluta a la que se convierta la unidad relativa.La única pregunta que queda es qué sucede cuando usa un valor porcentual en el elemento raíz, que no tiene padre:
En ese caso, vea el "duplicado" de esta pregunta. TLDR: los porcentajes en el elemento raíz se refieren al tamaño de fuente predeterminado del navegador, que puede ser diferente por usuario.
Referencias
fuente