El uso de em
solía considerarse una buena práctica para la accesibilidad antes de que cada navegador admitiera el acercamiento. Ahora he descubierto que es más útil para declarar fácilmente los tamaños relativos de las fuentes en escenarios específicos (quizás el suyo).
He descubierto que el tamaño relativo hace no dió resultados estéticamente agradables en las fronteras debido a que algunos navegadores se tratan de usar, literalmente, un valor de coma flotante resultantes del cálculo de em
o porcentaje y el resultado será borrosa (probarlo) .
Uso porcentajes en gran medida en la mayoría de mis diseños. He descubierto que un par de estilos genéricos basados en porcentajes pueden cubrir una multitud de necesidades de diseño (como un estilo para una división 50/50, 33/67, 25/75, etc., etc.).
Personalmente encuentro porcentajes más intuitivos de tratar. Un elemento con un ancho del 100% siempre ocupará el 100% de sus padres (con el tamaño de caja correcto, por supuesto) y es fácil de leer en su código. Un elemento de 15em de ancho puede ocupar el 50% o el 150% de su elemento primario; no es directamente obvio y me resulta más difícil hacer un seguimiento de (pero tal vez soy solo yo).
Aquí hay algunos estilos de línea base. Estos no han sido probados en todas las posibles navegador/dispositivo sino que se utilizan en aplicaciones de producción:
* {
border-style: none;
border-color: inherit;
border-width: 0;
padding: 0;
margin: 0;
vertical-align: baseline;
}
BODY {
font: 11px/1.5 "Trebuchet MS", Arial, Verdana, sans-serif;
color: #404040;
background-color: #fff;
}
H1 {
font-size: 1.8em;
margin: .1em 0 .1em 0;
color: #2B265B;
}
H2 {
font-size: 1.6em;
margin: 0 0 .25em 0;
color: #303030;
}
H3 {
font-size: 1.4em;
margin: 0 0 .25em 0;
color: #3b5998;
}
H4 {
font-size: 1.2em;
margin: 0 0 .1em 0;
color: #666;
}
P {
margin: 0 0 1.5em 0;
font-size: 1.1em;
}
INPUT, SELECT, TEXTAREA {
border-style: solid;
vertical-align: middle;
margin: .2em 0 .2em 0;
border-radius: .3em;
-moz-border-radius: .3em;
}
INPUT[type="text"], INPUT[type="password"]{
border-color: #85a3bf;
width: 16em;
padding: .2em;
border-width: 1px;
}
INPUT[type="file"] {
border-color: #85a3bf;
width: 32em;
padding: .2em;
border-width: 1px;
}
INPUT[type="text"]:focus, INPUT[type="password"]:focus, TEXTAREA:focus {
border-color: #0066cc;
}
INPUT[type="submit"], INPUT[type="button"] {
border-color: #DDDDDD #BBBBBB #999999;
border-width: 1px;
background: #eee url([URL]) repeat-x;
padding: .2em .8em .2em .8em;
text-shadow: 1px 1px #fff;
}
INPUT[type="submit"]:hover, INPUT[type="button"]:hover {
background: #eee url([URL]) repeat-x;
}
INPUT[type="submit"]:active, INPUT[type="button"]:active {
background: #eee url([URL]) repeat-x;
}
INPUT[type="checkbox"], INPUT[type="radio"] {
margin: 0px .5em .1em .5em;
vertical-align: middle;
}
INPUT[type="image"] {
border: 0;
margin: 0;
}
SELECT {
padding: .1em;
border-width: 1px;
border-color: #DDDDDD #BBBBBB #999999;
background: #eee url([URL]) repeat-x;
}
TEXTAREA {
border-width: 1px;
border-color: #85a3bf;
padding: .3em;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
pero en algunos lugares encontré que '%' no da resultado en proporción. especialmente cuando lo usamos con margen y relleno alrededor del texto. –
@JitendraVyas - Yo uso porcentajes para relleno/margen regularmente sin problema, pero estaría encantado de ver un violín JS si desea publicar algo que no funciona. Una cosa que viene a la mente con el texto: independientemente de% o em, la altura de la línea debe establecerse correctamente. –
¿Utiliza el tamaño de fuente para el cuerpo en '%'? –