Académique Documents
Professionnel Documents
Culture Documents
A todos quienes desarrollamos sistemas Web nos gusta que las páginas de los mismos
luzcan uniformes, elegantes y atractivas. Si bien HTML proporciona algunas facilidades a
tal fin, la potencia necesaria se encuentra en los estilos CSS1.
2) Hoja interna: el estilo CSS se define en una hoja dentro de la página HTML. Todas
las marcas de la página son afectadas por los estilos definidos. Tiene la ventaja que
no hay que definir los estilos marca a marca, pero su alcance se limita a la página
dentro de la cual la hoja está definida.
Prioridad
Cada modo de uso tiene prioridad sobre el otro: el modo en línea prevalece sobre la
hoja interna, y ésta prevalece sobre la hoja externa.
En línea
Hoja Interna
Hoja Externa
Un ejemplo puede ayudarnos a entender los tres modos y como cada uno prevalece
sobre el otro.
1
CSS es la sigla de Cascading Style Sheets, en español Hojas de Estilo en Cascada
En una hoja externa, botones.css, definimos que los botones son azules2:
button {
background-color: blue;
}
<button>Botón 1</button><br/>
<button>Botón 2</button><br/>
<button>Botón 3</button>
En la misma página Web agregamos una hoja de estilo interna definiendo que los
botones son verdes, sin quitar la importación de la hoja de estilo externa:
<style type="text/css">
button {
background-color: green;
}
</style>
<button>Botón 1</button><br/>
<button>Botón 2</button><br/>
<button>Botón 3</button>
Veremos que los botones son verdes porque la definición de la hoja interna prevalece
sobre la de la hoja externa.
2
Los colores se definen en RGB mediante códigos hexadecimales, lo que genera más de 16 millones de
colores diferentes. Unos pocos de esos colores tienen definidos sus nombres en inglés. Para simplificar el
apunte se usan precisamente esos colores
Finalmente agregaremos un estilo en línea al segundo botón para que sea rojo.
<style type="text/css">
button {
background-color: green;
}
</style>
<button>Botón 1</button><br/>
<button style=”background:color:red;”>Botón 2</button><br/>
<button>Botón 3</button>
Y el segundo botón es rojo ya que la definición en línea prevalece sobre las otras dos:
JavaScript
Los estilos CSS de cualquier objeto HTML pueden ser modificados desde JavaScript.
Veámoslo mediante un ejemplo. Creamos una página Web con un botón alto y rojo:
<script type="text/javascript">
botones = document.getElementsByTagName("button");
boton = botones[0];
boton.style.height="50px";
</script>
3
Este apunte supone cierto dominio de JavaScript
<script type="text/javascript">
boton.style.height="50px";
</script>
Objeto.style.estilo = valor;
<script type="text/javascript">
boton.style.height="50px";
boton.style.backgroundColor=”green”;
</script>
CSS JavaScript
background-color backgroundColor
Por lo tanto conviene siempre consultar una referencia5 para estar seguros de cómo se
escribe el atributo en cuestión en JavaScript:
Los valores de los estilos son siempre texto. En algunos casos es posible asignar
valores numéricos, aprovechando el casting automático que JavaScript realiza para
cambiar ese valor a texto. Por ejemplo:
boton.style.height = 50;
4
CSS no es sensible a mayúsculas y minúsculas, mientras que JavaScript sí
5
Se recomienda la referencia oficial de la W3C en su sitio de la W3Schools
boton.style.height = parseInt(boton.style.height)/3;
Esto no siempre va a resultar bien debido a que CSS acepta varias unidades de
medida, lo que se verá a continuación.
Unidades de Medida
Por ejemplo:
<button style=”height:100%”>Botón</button>
Se trata de un botón que usa el 100% del alto del elemento que lo contiene, en este
ejemplo la ventana del explorador:
6
A saber em, ex, px, in, cm, mm, pt y pc
El cuidado que hay que tener es en JavaScript, ya que al asignarse valores numéricos
se asume son px:
boton.style.height = 100;
boton.style.height = parseInt(boton.style.height)/2;
No reduce a la mitad, 50%, su alto, sino a 50px. Esto debido a que parseInt ignora el
% y convierte sólo el número, vale decir 100.
Las hojas de estilo externas e internas tienen el mismo formato. Primero el nombre de
la marca HTML, y luego entre llaves los atributos CSS y sus valores. Por ejemplo:
button {
background-color: blue;
height: 40px;
}
select {
background-color: green;
height: 50px;
}
En este ejemplo definimos la hoja con estilos para los botones y los selectores7.
7
Nótese que el estilo para la altura no tuvo efectos sobre el selector. Algunos estilos CSS no tienen efecto
sobre ciertos elementos de HTML
Al definir estilos se hace referencia a la marca HTML a la cual esos estilos se aplican.
Por ejemplo, si los estilos se aplican a la marca button:
button {
background-color: blue;
height: 40px;
}
Todas las marcas button tendrán el color y altura definidos. Si se precisa que algunos
botones tengan un color y otros botones uno diferente, entonces se pueden crear estilos
con nombre:
button.azul {
background-color: blue;
height: 40px;
}
button.rojo {
background-color: red;
height: 40px;
}
8
El atributo rel permite establecer estilos alternativos. No se explica aquí por ser este un apunte
introductorio
Ahora tenemos dos estilos con nombre para botones. La forma de aplicar estos estilos
con nombre es mediante el atributo class:
<button>Botón 1</button><br/><br/>
<button class="azul">Botón 2</button><br/><br/>
<button class="rojo">Botón 3</button>
Conclusión
CSS es la paleta de pintor para decorar nuestras páginas Web, así que ya no tenemos
excusas para no sacar ese Picasso que llevamos dentro y hacer de HTML una obra de
arte. Para una referencia completa de todos los estilos CSS se recomienda consultar la
página Web de la W3C: http://www.w3schools.com/