Introducción
En los orígenes de la Web y en sus primeras versiones, HTML era un
lenguaje fácil de aprender y muy reducido en cuanto a sus tags y
estructura. Estamos hablando de los años 1990 al 1993. Todo cambió cuando
empezaron a surgir los primeros navegadores que eran capaces de
representar recursos gráficos como añadido a la información textual.
Así, el número de sitios web comenzó a crecer y con él, el número de
tags que la especificación HTML contemplaba. El objetivo era construir
sitios web cada vez más atractivos visualmente hablando, con lo que HTML
debía incluir nuevos tags destinados a conseguir diversos efectos
visuales.
Con todos estos cambios que la web había sufrido, nos encontramos
con que un lenguaje que en sus inicios había sido "orientado a la
estructura", ahora estaba totalmente "orientado a la
visualización" (HTML 4 es la más viva representación de esta realida).
Encontramos tags com <B>, <U> o <I> que definen
estilos de visualización sin aportar nada a la estructura del documento
representados.
Otro aspecto importante y que condiciona totalmente la estructura
del documento es el uso del tag FONT. Con el uso de este tag podemos hacer
que una zona que corresponde a la cabecera o título de una página, y que
debería expresarse con un H1, pase ahora a estar definida mediante el tag
FONT. Con este cambio se pierder totalmente la estructura del documento.
La realidad ahora es que el mayor número de los sites realizados con
HTML 4 consiguen que el volumen de información de visualización sea muy
superior al de la información verdaderamente relevante. Esto parece,
cuanto menos precoupante.
Motivos por los que no podemos permitir que nuestros documentos
publicados en la web pierdan su estructura:
-
La indexación por los buscadores es mucho más complicada (Google
asigna un peso mucho mayor a una página que utliza H1 para definir sus
secciones, que a los campos META del documento).
-
Se reduce la acesibilidad. Actualmente existen aplicaciones que
permiten la lectura de páginas web como ayuda a los discapacitados
(persona ciegas o con otras discapacidades). Si una persona
discapacitada intenta acceder a una página sin una mínima
estructuración, el resultado puede ser lamentable.
-
La estructura de la página y la información contenida en la
misma es mucho más sencilla de mantener. Actualmente, ciertos aspectos
del código HTML pueden hacer que una misma página tenga
visualizaciones distintas en distintos navegadores. Estos herrores de
diseño son dificilmente depurables cuando la página contiene una
estructura de tags complicada y sin ninguna estructuración. Por otra
parte, un cambio en un tipo de fuente supone el rediseño de todas las
páginas de un site al tener que sustituir todos los valores para el
tag FONT.
Todos estos problemas han sido seguidos muy de cerca por el W3C, el
cual comenzó a trabajar en 1995 en CSS.
Principales características aportadas por CSS en contraposición a
los elementos de visualización presentes en la especificación de HTML 4:
-
Estilo enriquecido. CSS permite la creación de documentos
visualmente mucho más ricos que lo que HTML nunca permitirá. No en
vano CSS está pensado única y exclusivamente para asistir al diseñador
a la hora de dar estilo a un documento estrucuturado.
-
Fácil de utilizar. La utilización de hojas de estilo CSS hace
que el diseñador pueda reducir sustancialmente su carga de trabajo al
diseñar todo un site. Esto se debe a que CSS es capaz de centralizar
ciertos efectos visuales que plasmemos en diversas secciones del site,
en lugar de tenerlos diseminados por páginas y páginas del site.
-
Reutilización en múltiples páginas. Una hoja de estilo que
recoja aspectos visuales comunes a varias páginas puede ser
reutilizada en cualquier sección del site aprovechando dichos efectos
ya definidos. De esta manera es sencillo generar un estilo general del
web y mantenerlo así consistente para todas las páginas. Así, si
deseamos modificar un estilo que es común a todo el site, sólo
necesitaríamos modificar una línea de nuestro fichero CSS (con la
aproximación clásica que ofrece HTML, deberíamos modificar todas y
cada una de las páginas).
-
Reutilización en múltiples páginas. Una hoja de estilo que
recoja aspectos visuales comunes a varias páginas puede ser
reutilizada en cualquier sección del site aprovechando dichos efectos
ya definidos. De esta manera es sencillo generar un estilo general del
web y mantenerlo así consistente para todas las páginas. Así, si
deseamos modificar un estilo que es común a todo el site, sólo
necesitaríamos modificar una línea de nuestro fichero CSS (con la
aproximación clásica que ofrece HTML, deberíamos modificar todas y
cada una de las páginas).


Ejemplo 1. Fichero personal.css
a {
color: white; background-color: black;
}
-
Reduce el tamaño del código HTML enviado. Al centralizar los
estilos ya no es necesario la utilización de tags como FONT en todos
los documentos del site. De esta manera se reduce considerablemente el
tiempo en que tarda en cargarse el código de una página.
-
Nos prepara par el futuro. Debemos ser conscientes que muchos
tags como FONT, BASEFONT, U, STRIKE, S, CENTER, han sido marcados por
el W3C como "deprecated", es decir, que se desaconseja su uso
ya que serán eliminados en un futuro de la especificación. De igual
menera HTML retornará progresivamente a sus orígenes, volviendo a ser
un lenguaje para la estrucuturación de información. Esta es la via de
XML, cuya primera aproximaciés es el lenguaje de marcas XHTML.
Aspectos con los que CSS no se ha enfrentado en su primera
especificación:
-
En CSS1 no se habla casi nada acerca de las tablas. Por ejemplo,
según lo que se vé en la especficación parece evidente que se podrán
definir márgenes para las celdas de una tabla (se pueden definir
márgenes para todos los elemento), pero no es así. CSS2 introduce un
nuevo conjunto de propiedades para la interacción con tablas. De
hecho, la omisión del tratamiento de tablas en la primera
especificación de CSS, intenta marcar que las tablas no son un
elemento que se deba utilizar para disponer el resto de elementos en
la página.
-
Así, para el posicionamiento de los elementos se deben utilizar
estilos y no tablas. Aunque CSS2 tiene tres capítulos enteros
dedicados al posicionamiento de elementos.
-
CSS1 no trata la posibilidad de disponer de fuentes
descargables. Aunque CSS2 introduce algún aspecto sobre el soporte de
fuentes, es un tema que no queda resuelto. Parece que será otros
estandar como SVG (Scalable Vector Graphics), el que tendrá en su mano
la solución.
-
En CSS1 no se definen los posibles medios de presentación de
CSS, siendo la pantalla el único medio disponible. Con el fin de
conseguir hojas de estilo que adapten su visualización al medio en que
serán presentadas, CSS2 define el soporte para que se aplique una hoja
de estilos u otra en función del medio seleccionado (screen, print o
aural).
Implementaciones:
-
Las peores son las que realizaron en su dia "Microsoft
Internet Explorer 3.x" y "Netscape Navigator 4.x".
-
Mejoraron en cierta medida su soporte con las versiones de
"Microsoft Internet Explorer 4.x and 5.x".
-
Actualmente, el mejor soporte de CSS lo tiene Opera y Mozilla
(en menor medida).