Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En esta sección intentaremos iniciarnos en el uso de las Hojas de Estilo en Cascada o CSS,
que se utilizan para dar estilo a documentos HTML y XML, separando el contenido de la
presentación. Es un mecanismo simple que describe cómo se va a mostrar un documento en la
pantalla, o cómo se va a imprimir, o incluso cómo va a ser pronunciada la información presente
en ese documento a través de un dispositivo de lectura. Esta forma de descripción de estilos
ofrece a los desarrolladores el control total sobre estilo y formato de sus documentos.
¿Qué es CSS?
CSS es la abreviatura empleada para referirse a Cascade Style Sheets (Hojas de Estilo en
Cascada) y es la tecnología empleada para solventar los conflictos que genera el excesivo uso
de tablas y “trucos” en HTML, y de esta manera separar la presentación del contenido.
Con el uso de las CSS, se le indica al documento el estilo de cada elemento en la página a
través del uso de un archivo externo y no directamente en el código HTML, de esta manera,
cada cambio que se realice no tendría que hacerse a cada página sino que afectaría a todos
los elementos vinculados con esa hoja de estilo, lo cual es muy útil para sitios que contengan
muchas páginas.
Con la expansión de internet, y el crecimiento del lenguaje HTML, surgieron varios tipos de
navegadores y con ellos, la dificultad de visualizar un sitio web con la misma apariencia en
todos ellos. El organismo 3wC (World Wide Web Consorcium) , organismo encargado de crear
los estándares relacionados con la web, propuso la creación de un lenguaje de hojas de estilos
específico para HTML y, de las 9 propuestas que fueron presentadas, se eligieron dos: la
CHSS (Cascading HTML Style Sheets) y la SSP (Stream-based Style Sheet Proposal). Los dos
responsables de cada propuesta, se unieron para definir uno común escogiendo lo mejor de
cada uno, y así fue como, entre 1994 y 1995 nació lo que hoy conocemos como CSS.
El primer navegador con soporte completo de CSS 1 fue la versión para Mac de Internet
Explorer 5, que se publicó en el año 2000. Por el momento, ningún navegador tiene soporte
completo de CSS 2.1.De hecho, uno de los navegadores más utilizados, Internet Explorer 6,
tiene un soporte limitado de CSS 2 y decenas de errores conocidos en la parte de CSS 2 que
implementa, lo que dificulta la creación de páginas con un aspecto homogéneo entre diferentes
navegadores. Está parcialmente corregido en Internet Explorer 8, aunque necesita de etiquetas
meta para soportarlo en versiones anteriores. Los navegadores con mejor soporte de CSS 2
(incluso con soporte de algunas características de CSS 3) son: Firefox, Opera y Safari. Desde
la publicación de la versión CSS 2, se han añadido pequeñas correcciones de errores y
algunas variaciones en el estándar, hasta llegar a la actual versión CSS 2.1.
Una de las ventajas, de cara a los diseñadores, es que nos permiten modificar el aspecto del
diseño de un sitio web modificando únicamente la hoja de estilo aportando un importante
ahorro de tiempo y esfuerzo. Sin las hojas de estilo deberíamos realizarlo página a página.
De cara a los usuarios mostraremos una mayor homogeneidad en la Web, sin esfuerzo
considerable añadido.
Teniendo en cuenta los diferentes soportes de comunicación existentes, los CSS nos permiten
definir estilos para la visualización en una PDA ó en un PC. Así como crear hojas especiales
para impresión (sin banners ni imágenes de publicidad) ó para sintetizadores de voz.
Para los buscadores el contenido importante es el primero aparece, a través de CSS, podemos
lograr que los elementos aparezcan en el orden que deseemos (contenido principal, menú
izquierdo, menú principal, cabecera), permitiéndonos mejorar el posicionamiento en internet.
El uso del estándar CSS de la W3C evitará visualizaciones erróneas de nuestra web en los
diferentes navegadores.
Anatomía de los estilos
CSS funciona a base de reglas, es decir, declaraciones sobre el estilo de uno o más
elementos. Las hojas de estilo están compuestas por una o más de esas reglas aplicadas a un
documento HTML o XML. La regla tiene dos partes: un selector y la declaración. A su vez la
declaración está compuesta por una propiedad y el valor que se le asigne.
H1 { align: left; }
Selector { propiedad: valor; }
La primera parte, fuera de los corchetes es el Selector, y es el que indica a qué elemento
HTML afectará (en el ejemplo a las cabeceras de nivel 1). Lo que hay dentro de los corchetes
es la Declaración, que a su vez está formada por una Propiedad (en este caso align) a la que
se le asigna un Valor (en este caso left).
La sintaxis de CSS es muy simple, consiste en poner el nombre del atributo, seguido por dos
puntos y el valor que se le asigna. Además, si queremos escribir varios estilos los separaremos
por punto y coma y/o opcionalmente un salto de línea:
Color: #000000;
Background: #FFFFFF;
Siempre que lo hagamos desde una página externa, deberemos indicar a qué elemento de la
página aplicamos ese estilo. Esto lo haremos con los Selectores. Escribiremos el selector
seguido de los atributos del objeto entre corchetes:
Input {
Color: #000000;
Background: #FFFFFF;
}
Selectores
Una de las cosas más importante respecto a los estilos CSS, es que cualquier elemento HTML
es un posible selector CSS. Un selector es el elemento que está conectado a un estilo
particular:
p { font-size: 3em; }
Selectores de clase
Si queremos alcanzar mayor control sobre nuestros estilos podemos utilizar los selectores de
clase, que permiten aplicar un estilo a una etiqueta html específica. Mediante un selector de
clase, podemos dar estilo simultáneamente a varios elementos HTML. Puede ser usado más
de una vez para controlar la apariencia de algunos elementos.
En el ejemplo, todos los parrafos existentes en nuestra página que sean de clase distinto, y
sólo estos párrafos, apareceran de color rojo.
La principal característica de este selector es que en una misma página, varios elementos
diferentes pueden utilizar el mismo valor en el atributo class, pudiendo reutilizar los mismos
estilos para varios elementos diferentes.
En el ejemplo, tanto el párrafo como el enlace con clase distinto apareceran en color rojo.
Podemos restringir el alcance del selector de clase combinándolo con el selector de tipo en la
hoja de estilos.
Regla Interpretación
.distinto { Cualquier elemento de la página cuyo atributo class sea igual a distinto
color: red; }
p.distinto { Aquellos elementos de tipo <p> que dispongan de un atributo class con valor distinto
color: red; }
p .distinto Todos los elementos con atributo class="distinto" que estén dentro de cualquier elemento de
{ tipo<p>
color: red; }
p, .distinto Todos los elementos de tipo <p> i todos los elementos de la página cuyo
{ atributo class sea igual adistinto
color: red; }
Selectores ID (identificadores)
Hemos dicho que la anterior definición p { font-size: 3em; } daría formato a todos los
párrafos existentes en nuestra página, pero si queremos dar un formato determinado a uno de
los párrafos sin variar todos los demás, usamos un selector ID aplicado al párrafo específico.
Sería así:
Todos los párrafos tendrán la herencia de p { font-size: 3em; }, pero este nuevo
selector ID, es más específico y sólo se aplicará al párrafo con id="cambio". De esta manera
hemos definido una regla general para los párrafos, pero la podremos alterar siempre que
queramos de manera específica sin tener que redefinirlo todo.
La principal diferencia entre este tipo de selector y el selector de clase tiene que ver con HTML
y no con CSS. En una misma página, el valor del atributo id debe ser único, de forma que dos
elementos diferentes no pueden tener el mismo valor de id. Sin embargo, como ya hemos
dicho, el atributo class no es obligatorio que sea único, de forma que muchos elementos
HTML diferentes pueden compartir el mismo valor para su atributo class.
Al igual que los selectores de clase, en este caso también se puede restringir el alcance del
selector mediante la combinación con otros selectores. La sintaxis de los selectores de ID es
muy parecida a la de los selectores de clase, salvo que se utiliza el símbolo de la almohadilla
(#) en vez del punto (.) como prefijo del nombre de la regla CSS.
Un selector contextual selecciona y aplica las propiedades CSS a los elementos que estan
contenidos dentro de otros elementos HTML.
Por ejemplo, modificaremos la apariencia de todos los elementos <em> que estén dentro de los
elementos<p>.
<p><em>texto 1</em></p>
<div><em> texto 2</em></div>
Con esta regla CSS conseguiremos que el texto 1 cambie de color ya que está dentro de la
etiqueta <em>, que esta contenida en <p>. Pero el texto 2 no se cambiará porque aunque hay
un selector <em>, éste no se encuentra dentro de <p>.
Los selectores contextuales pueden ser muy específicos, por ejemplo si tenemos un código de
este tipo:
<div>
<ul>
<li> texto A </li>
<li><a href="#">texto B</a></li>
<li> texto C </li>
</ul>
</div>
Con esta regla seleccionaremos todos los elementos <a> que estén dentro de <li>, y que
estén también dentro de <ul> y que a la vez estén incluidos dentro de <div>.
Selector Universal
Este tipo de selector, selecciona todos los elementos sin excepción. Para aplicarlo
escribiríamos al inicio de la hoja de estilo el símbolo *, y luego las propiedades que queramos
para todo el documento HTML.
Por ejemplo:
* { margin:0; padding:0; }
Con esta regla eliminamos los márgenes y rellenos de los elementos HTML que por defecto
presentan los navegadores.
Las reglas de estilo integradas únicamente se recomiendan para aplicar un estilo muy
específico a un elemento en concreto.
Las hojas de estilo incrustadas se definen en la cabecera <head> del documento mediante la
etiqueta<style>, y se aplican a todo el documento. Por ejemplo:
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>Hoja de estilo incrustada (CSS)</title>
<style type="text/css">
p {color:00ff00; font-family:Verdana;}
</style>
</head>
Ahora, todos los párrafos de texto del documento apareceran de color rojo y Verdana, salvo si
se entra en contradicción con una regla de estilo en línea que prevalece sobre la hoja de estilo
incrustada. El atributotype de la etiqueta <style> indica al explorador que el lenguaje usado
en las hojas de estilo es CSS.
Las hojas de estilo incrustadas se usan cuando el número de estilos en un documento es muy
pequeño o para completar los estilos que se aplican por defecto en todo el sitio web mediante
hojas de estilo externas.
Las hojas de estilo externas son documentos de texto, con la extensión .css, que almacenan
todas las reglas de estilo y que pueden ser llamados por tantos documentos HTML como se
quiera mediante la etiqueta<link> de la cabecera <head>. El procedimiento es:
p {color:00ff00; font-family:Verdana;}
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
<title>Hoja de estilo externa (CSS)</title>
<link href="estilos.css" rel="stylesheet" type="text/css"
media="screen" />
</head>
La etiqueta <link> puede incluir cuatro atributos para enlazar con un archivo CSS:
Atributos
Descripción
etiqueta <link>
href Indica la URL del archivo CSS que contiene los estilos. La URL indicada puede ser relativa o absoluta y
puede apuntar a un recurso interno o externo al sitio web.
rel Indica el tipo de relación que existe entre el recurso enlazado (en este caso, el archivo CSS ) y la página
HTML . Para los archivos CSS , siempre se utiliza el valor stylesheet.
type Indica el tipo de recurso enlazado. Sus valores están estandarizados y para los archivos CSS su valor
siempre estext/css.
media Indica el medio en el que se van a aplicar los estilos del archivo CSS .
Al leer el valor del atributo media, el explorador web puede descargar selectivamente archivos
de hojas de estilo aplicables únicamente a los medios utilizados por el explorador. Por ejemplo,
el explorador web puede impedir la descarga de la siguiente hoja de estilo que se aplicará
a tv (es decir, televisión) al mostrar documentos HTML en la pantalla de un equipo estándar:
Descriptor de tipo de
Aplicar reglas de hojas de estilo a ...
medios
print Medios de páginas (como una página impresa) o páginas que se muestran en pantalla (como una
"presentacion preliminar").
tv Dispositivos del estilo de la televisión (baja resolución, color, desplazamiento limitado, dispone
de sonido).
Las hojas de estilo externas son las más utilizadas porque permiten dotar de un aspecto
uniforme a todo un sitio web. Basta con enlazar cada página del sitio a la hoja de estilos. De
esta forma, el mantenimiento se simplifica al máximo porque sólo con modificar el archivo CSS
se puede cambiar todo el diseño del sitio, garantizando la aplicación homogénea de estilos en
todas las páginas.
Aunque generalmente se usa la etiqueta <link> para enlazar los archivos CSS externos,
también puede hacerse mediante la etiqueta <style>, con una regla especial de
tipo @import.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Hoja de estilo externa (CSS)</title>
<style type="text/css">
@import 'estilos.css';
</style>
</head>
La URL del archivo CSS externo se indica mediante una cadena de texto entre comillas
(simples o dobles) o mediante la palabra reservada url(). Así, son equivalentes las siguientes
reglas import:
@import 'estilos.css';
@import "estilos.css";
@import url('estilos.css');
@import url("estilos.css");
Enlaces