Introducción Al CSS3
Introducción Al CSS3
INtroducción a css3
1
¿Qué es CSS?
CSS (en inglés Cascading Style Sheets) es un lenguaje de hojas de estilos creado para controlar el aspecto
o presentación de los documentos electrónicos definidos con HTML y XHTML. CSS es la mejor forma de
separar los contenidos y su presentación y es imprescindible para crear páginas web complejas.
La separación de los contenidos y su presentación presenta numerosas ventajas, ya que obliga a crear
documentos HTML/XHTML bien definidos y con significado completo también llamados “documentos
semánticos”. Además, mejora la accesibilidad del documento, reduce la complejidad de su mantenimiento
y permite visualizar el mismo documento en infinidad de dispositivos diferentes.
Al crear una página web, se utiliza en primer lugar el lenguaje HTML/XHTML para marcar los contenidos,
es decir, para designar la función de cada elemento dentro de la página: párrafo, titular, texto destacado,
tabla, lista de elementos, etc.
Una vez creados los contenidos, se utiliza el lenguaje CSS para definir el aspecto de cada elemento:
color, tamaño y tipo de letra del texto, separación horizontal y vertical entre elementos, posición de cada
elemento dentro de la página, etc.
En conclusión, el lenguaje HTML/XHTML se utiliza para definir la estructura del contenido de los sitios
web definiendo la semántica de los elementos como párrafos, listas, tablas, imágenes, títulos, etc. En
cambio, el CSS permite establecer el aspecto de todo el contenido, el color, tamaño y tipo de letra de
los párrafos de texto, la separación entre titulares y párrafos, la tabulación con la que se muestran los
elementos de una lista, etc. Lo que posibilita abordar de manera independiente la Estructura y el Aspecto
de un sitio web, facilitando la administración de los mismos.
2
Breve historia de CSS
Las hojas de estilos aparecieron poco después que el lenguaje de etiquetas SGML, alrededor del año
1970. Desde la creación de SGML, se observó la necesidad de definir un mecanismo que permitiera
aplicar de forma consistente diferentes estilos a los documentos electrónicos.
El gran impulso de los lenguajes de hojas de estilo se produjo con el boom de Internet y el crecimiento
exponencial del lenguaje HTML para la creación de documentos electrónicos. La guerra de navegadores
y la falta de un estándar para la definición de los estilos dificultaban la creación de documentos con la
misma apariencia en diferentes navegadores.
El organismo W3C (World Wide Web Consortium), encargado de crear todos los estándares relacionados
con la web, propuso la creación de un lenguaje de hojas de estilos específico para el lenguaje HTML y se
presentaron nueve propuestas. Las dos propuestas que se tuvieron en cuenta fueron la CHSS (Cascading
HTML Style Sheets) y la SSP (Stream-based Style Sheet Proposal).
La propuesta CHSS fue realizada por Håkon Wium Lie y SSP fue propuesto por Bert Bos. Entre finales de
1994 y 1995 Lie y Bos se unieron para definir un nuevo lenguaje que tomaba lo mejor de cada propuesta
y lo llamaron CSS (Cascading Style Sheets).
En 1995, el W3C decidió apostar por el desarrollo y estandarización de CSS y lo añadió a su grupo de
trabajo de HTML. A finales de 1996, el W3C publicó la primera recomendación oficial, conocida como
“CSS nivel 1”.
Internamente los navegadores están divididos en varios componentes. La parte del navegador que se
encarga de interpretar el código HTML y CSS para mostrar las páginas se denomina motor. Desde el
punto de vista del diseñador CSS, la versión de un motor es mucho más importante que la versión del
propio navegador.
La siguiente tabla muestra el soporte de CSS 1, CSS 2.1 y CSS 3 de los cinco navegadores más utilizados
por los usuarios:
3
La versión 3 de CSS sigue el mismo camino, pero esta vez con un mayor compromiso. La especificación
de HTML5 fue desarrollada considerando CSS a cargo del diseño. Debido a esta consideración, la
integración entre HTML y CSS es ahora vital para el desarrollo web y esta es la razón por la que cada vez
que mencionamos HTML5 también estamos haciendo referencia a CSS3, aunque oficialmente se trate
de dos tecnologías completamente separadas.
Aunque una hoja con reglas CSS de una web grande y compleja, como lo puede ser este mismo blog,
ciertamente puede llegar a intimidar un poco cuando la ves las primeras veces, pero no te asustes: los
fundamentos básicos de CSS son muy fáciles de aprender y ya te van a dar mucho juego.
Lo que ocurre simplemente es que se trata de una especificación muy grande y muy potente, de ahí
que un diseño CSS profesional puede ser algo realmente muy sofisticado. Pero te aseguro que en el
99% de las ocasiones con un nivel medio-básico te apañarás más que de sobra y llegar a este nivel de
conocimientos, insisto, no es muy complicado si le echas un poco de ganas.
El ejemplo anterior utiliza la etiqueta <font> con sus atributos color, face y size para definir el color, el
tipo y el tamaño de letra de cada elemento de la página.
El problema de utilizar este método para definir el aspecto de los elementos se puede ver claramente
con el siguiente ejemplo: si la página tuviera 50 elementos diferentes, habría que insertar 50 etiquetas
<font>. Si el sitio web entero se compone de 10.000 páginas diferentes, habría que definir 500.000
etiquetas <font>. Como cada etiqueta <font> tiene tres atributos, habría que definir 1.5 millones de
atributos.
Como el diseño de los sitios web está en constante evolución, es habitual modificar cada cierto tiempo el
aspecto de las páginas del sitio. Siguiendo con el ejemplo anterior, cambiar el aspecto del sitio requeriría
modificar 500.000 etiquetas y 1.5 millones de atributos.
5
La solución que propone CSS es mucho mejor, como se puede ver en el siguiente ejemplo:
En el ejemplo anterior, dentro de la zona de CSS se indica que todas las etiquetas <h1> de la página
se deben ver de color rojo, con un tipo de letra Arial y con un tamaño de letra grande. Además, las
etiquetas <p> de la página se deben ver de color gris, con un tipo de letra Verdana y con un tamaño
de letra medio.
CSS permite separar los contenidos de la página y la información sobre su aspecto. En el ejemplo anterior,
dentro de la propia página HTML se crea una zona especial en la que se incluye toda la información
relacionada con los estilos de la página.
Utilizando CSS, se pueden establecer los mismos estilos con menos esfuerzo y sin ensuciar el código
HTML de los contenidos con etiquetas <font>. Como se verá más adelante, la etiqueta <style> crea
una zona especial donde se incluyen todas las reglas CSS que se aplican en la página.
La etiqueta <style> permite definir de manera local el estilo de los elementos HTML de la página, y esta
debe estar definida dentro de la etiqueta <head>, siendo esta una de las formas de incorporar CSS a
un documento HTML, aunque no la más recomendada.
6
Una de las principales características de CSS es su flexibilidad y las diferentes opciones que ofrece para
realizar una misma tarea. De hecho, existen tres opciones para incluir CSS en un documento HTML.
Importante: Este método se emplea cuando se define un número pequeño de estilos o cuando se quieren
incluir estilos específicos en una determinada página HTML que completen los estilos que se incluyen por
defecto en todas las páginas del sitio web.
El principal inconveniente es que, si se quiere hacer una modificación en los estilos definidos, es necesario
modificar todas las páginas que incluyen el estilo que se va a modificar.
2. Guarda el archivo de texto con el nombre estilos.css Se debe poner especial atención a que el
archivo tenga extensión .css y no .txt
3. En la página HTML se enlaza el archivo CSS externo mediante la etiqueta <link>:
Cuando el navegador carga la página HTML anterior, antes de mostrar sus contenidos también descarga
los archivos CSS externos enlazados mediante la etiqueta <link> y aplica los estilos a los contenidos de
la página.
Normalmente, la etiqueta <link> incluye cuatro atributos cuando enlaza un archivo CSS:
• 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 es text/css
• href: indica la URL del archivo CSS que contiene los estilos. La URL indicada puede ser relativa o
8
absoluta y puede apuntar a un recurso interno o externo al sitio web.
• media: indica el medio en el que se van a aplicar los estilos del archivo CSS. Más adelante se
explican en detalle los medios CSS y su funcionamiento.
De todas las formas de incluir CSS en las páginas HTML, esta es la más utilizada con mucha diferencia. La
principal ventaja es que se puede incluir un mismo archivo CSS en multitud de páginas HTML, por lo que
se garantiza la aplicación homogénea de los mismos estilos a todas las páginas que forman un sitio web.
Con este método, el mantenimiento del sitio web se simplifica al máximo, ya que un solo cambio en un
solo archivo CSS permite variar de forma instantánea los estilos de todas las páginas HTML que enlazan
ese archivo.
Aunque generalmente se emplea la etiqueta <link> para enlazar los archivos CSS externos, también se
puede utilizar la etiqueta <style>. La forma alternativa de incluir un archivo CSS externo se muestra a
continuación:
En este caso, para incluir en la página HTML los estilos definidos en archivos CSS externos se utiliza una
regla especial de tipo @import. Las reglas de tipo @import siempre preceden a cualquier otra regla CSS
(con la única excepción de la regla @charset).
9
La URL del archivo CSS externo se indica mediante una cadena de texto encerrada con comillas simples
o dobles o mediante la palabra reservada url(). De esta forma, las siguientes reglas @import son
equivalentes:
Ejemplo:
Esta forma de incluir CSS directamente en los elementos HTML solamente se utiliza en determinadas
situaciones en las que se debe incluir un estilo muy específico para un solo elemento concreto.
10
En conclusión, formas de incorporar CSS a HTML
El siguiente esquema muestra las partes que forman un estilo CSS muy básico:
• Regla: cada uno de los estilos que componen una hoja de estilos CSS. Cada regla está compuesta
de una parte de “selectores”, un símbolo de “llave de apertura” ({), otra parte denominada
“declaración” y por último, un símbolo de “llave de cierre” (}).
• Selector: indica el elemento o elementos HTML a los que se aplica la regla CSS.
• Declaración: especifica los estilos que se aplican a los elementos. Está compuesta por una o más
propiedades CSS.
• Propiedad: característica que se modifica en el elemento seleccionado, como por ejemplo su
11
tamaño de letra, su color de fondo, etc.
• Valor: establece el nuevo valor de la característica modificada en el elemento.
Un archivo CSS puede contener un número ilimitado de reglas CSS, cada regla se puede aplicar a varios
selectores diferentes y cada declaración puede incluir tantos pares propiedad/valor como se desee.
El estándar CSS 2.1 define 115 propiedades, cada una con su propia lista de valores permitidos. Por su
parte, los últimos borradores del estándar CSS 3 ya incluyen 239 propiedades.
Comentarios en CSS
CSS permite incluir comentarios entre sus reglas y estilos. Los comentarios son contenidos de texto que
el diseñador incluye en el archivo CSS para su propia información y utilidad. Los navegadores ignoran
por completo cualquier comentario de los archivos CSS, por lo que es común utilizarlos para estructurar
de forma clara los archivos CSS complejos.
El comienzo de un comentario se indica mediante los caracteres /* y el final del comentario se indica
mediante */, tal y como se muestra en el siguiente ejemplo:
Los comentarios pueden ocupar tantas líneas como sea necesario, pero no se puede incluir un comentario
dentro de otro comentario:
Aunque los navegadores ignoran los comentarios, su contenido se envía junto con el resto de estilos, por
lo que no se debe incluir en ellos ninguna información sensible o confidencial.
La sintaxis de los comentarios CSS es muy diferente a la de los comentarios HTML, por lo que no deben
confundirse:
12
Bibliografía
Eguiluz , J. (2011). Introducción a CSS. Obtenido de https://uniwebsidad.com/libros/css
Iglesias, P. (20 de abril de 2015). Clases e IDs en CSS: Cuándo y cómo usarlas . Obtenido de https://www.
campusmvp.es/recursos/post/clases-ids-css-cuando-como-usarlas.aspx