¿Qué tiene de malo el CSS en línea?
Cuando veo el código de inicio del sitio web y ejemplos, el CSS siempre está en un archivo separado, llamado algo así como "main.css", "default.css" o "Site.css". Sin embargo, cuando estoy codificando una página, a menudo tengo la tentación de alinear el CSS con un elemento DOM, por ejemplo configurando "float: right" en una imagen. Tengo la sensación de que se trata de una "mala codificación", ya que rara vez se hace en los ejemplos.
Entiendo que si el estilo se aplicará a varios objetos, es aconsejable seguir "No repetirse" (DRY) y asignarlo a una clase CSS a la que hará referencia cada elemento. Sin embargo, si no voy a repetir el CSS en otro elemento, ¿por qué no alinear el CSS mientras escribo el HTML?
La pregunta: ¿Se considera malo usar CSS en línea, incluso si solo se usará en ese elemento? Si es así, ¿por qué?
Ejemplo (¿esto es malo?):
<img src="myimage.gif" style="float:right" />
Tener que cambiar 100 líneas de código cuando quieres que el sitio luzca diferente. Es posible que eso no se aplique en su ejemplo, pero si está usando CSS en línea para cosas como
<div style ="font-size:larger; text-align:center; font-weight:bold">
en cada página para indicar un encabezado de página, sería mucho más fácil de mantener como
<div class="pageheader">
si el encabezado de la página está definido en una única hoja de estilo, de modo que si desea cambiar la apariencia del encabezado de una página en todo el sitio, cambie el CSS en un solo lugar.
Sin embargo, seré un hereje y diré que en su ejemplo no veo ningún problema. Estás apuntando al comportamiento de una sola imagen, que probablemente tenga que verse correctamente en una sola página, por lo que poner el CSS real en una hoja de estilo probablemente sería excesivo.
La ventaja de tener un archivo CSS diferente es
- Fácil de mantener su página HTML
- Cambiar la apariencia será fácil y podrá tener soporte para muchos temas en sus páginas.
- Su archivo CSS se almacenará en caché en el lado del navegador. Por lo tanto, contribuirá un poco al tráfico de Internet al no cargar algunos kbs de datos cada vez que se actualiza la página o el usuario navega por su sitio.