Hojas de Estilo en Cascada (CSS)
Hojas de Estilo en Cascada (CSS)
Sintaxis
CSS tiene una sintaxis simple y usa un conjunto de
palabras clave en inglés para especificar los nombres
de varias propiedades de estilo. Una hoja de estilos
consiste en una serie de reglas. Cada regla, o
conjunto de reglas consisten en uno o más selectores,
y un bloque de declaración.
Ejemplo de código fuente escrito en CSS.
Selectores Desarrollador
Los selectores declaran qué etiquetas se le aplican a World Wide Web Consortium (W3C)
los estilos que coincidan con la etiqueta o atributo https://www.w3.org/Style/CSS/ y
señalados en la regla. https://drafts.csswg.org/
Información general
Los selectores pueden aplicarse a: Extensión de .css
archivo
Todos los elementos de un tipo, como los
párrafos <p>. Tipo de MIME text/css
Elementos seguidos de un atributo, en Uniform Type public.css
particular: Identifier
Los selectores pueden ser combinados de muchas maneras para obtener una mayor flexibilidad y precisión.
Múltiples selectores pueden ser unidos en una misma línea para especificar elementos por su ubicación, tipo
de elemento, identificador, clase, o cualquier combinación de estos. El orden de los selectores es importante.
Por ejemplo, div.myClass {color: red;} aplica a todos los elementos <div> con la clase
myClass, mientras que.myClass div {color: red;} aplica a todos los elementos <div> que
estén dentro de cualquier elemento con la clase myClass.
La tabla siguiente proporciona un resumen de la sintaxis de los diversos selectores, indicando su forma de
uso y la versión de CSS en la que fueron introducidos:
Nivel CSS
Patrón Significado de
aparición
E un elemento de tipo E 1
* cualquier elemento 2
E:nth-last-
un elemento E, el n-esimo hijo de este, contando desde el último hijo 3
child(n)
E:nth-last-of- un elemento E, el n-esimo hijo de este, contando solo los del mismo
3
type(n) tipo que el padre, y desde el último hijo
Bloque de declaraciones
Un bloque de declaraciones consiste en una lista de declaraciones unidas. Cada declaración consiste en una
propiedad, dos puntos (:), y un valor. Si hay muchas declaraciones en un bloque, un punto y coma (;) es
insertado para separar cada declaración.
Las propiedades son insertadas en el estándar CSS. Cada propiedad tiene un conjunto de posibles valores.
Algunas propiedades afectan a cualquier elemento, otras solo a un grupo particular de elementos. Los
valores pueden ser palabras clave, como "center" o "inherit", o valores numéricos, como 200px (200
píxeles) o 80% (80 por ciento del ancho de la ventana). Los valores de colores son especificados por medio
de una palabra clave (ej. "red"), de valores hexadecimales (ej. #FF0000, pudiéndose abreviar como #F00),
valores RGB en una escala del 0 al 255 (ej. rgb(255, 0, 0)), valores RGBA igual que los valores
RGB pero con soporte para el canal alfa de transparencias (ej. rgba(255, 0, 0, 0.8)), y valores
HSL o HSLA (ej. hsl(000, 100%, 50%), hsla(000, 100%, 50%, 80%)).
Uso
Antes del desarrollo de CSS, toda la información presentacional de los documentos HTML era incluida en
el código HTML. Los colores de las fuentes, los estilos de fondo, la alineación de los elementos, los bordes
y tamaños eran descritos explícitamente, a veces de manera redundante, dentro del HTML. CSS permite a
los diseñadores mover toda la información presentacional a otro archivo, la hoja de estilos, resultando en un
código HTML notablemente más simple.
Por ejemplo, las cabeceras (h1), sub-cabeceras (h2 ej. red), sub-sub-cabeceras (h3), etc., son definidas
estructuralmente usando HTML. En la impresión y las pantallas, la elección de la fuente, tamaño, color y
énfasis para esos elementos es presentacional.
Antes de CSS, los diseñadores que deseaban asignar características tipográficas, por ejemplo, a todos los
elementos h2 tenían que repetir el código presentacional HTML por cada elemento al que se le deseaba
aplicar ese estilo. Esto creaba documentos más complejos, largos, más propensos a errores y difíciles de
mantener. CSS permite la separación entre la presentación y la estructura. CSS puede definir el color,
fuente, alineación del texto, tamaño, bordes, espaciado, capas y muchas otras características tipográficas, y
pueden aplicarse distintos estilos de impresión y de pantalla. CSS también define estilos no visuales, como
la velocidad de lectura y énfasis en los lectores de textos aurales. El W3C ha declarado obsoleto el uso de
las etiquetas presentacionales HTML.
Por ejemplo, aplicando estilos mediante etiquetas presentacionales HTML, un elemento h1 definido con
texto rojo se puede representar como:
Usando CSS, el mismo elemento puede escribirse usando propiedades de estilo inline en vez de atributos y
etiquetas de presentación:
Una hoja de estilos CSS externa, descrita abajo, puede enlazarse con un documento HTML usando la
sintaxis siguiente:
El código CSS se puede incluir en el código HTML en la etiqueta <style> dentro de la etiqueta <head> del
documento:
<style>
h1 {color: red}
</style>
Fuentes
Los estilos CSS puede ser provistos desde varias fuentes. Esas fuentes pueden ser el navegador web, el
usuario y el diseñador. La información del diseñador puede ser clasificada de las siguientes formas: inline,
media type, importancia, especificidad del selector, orden de reglas, herencia y definición de propiedades.
La información de los estilos CSS puede estar en un documento separado o puede estar embebido dentro de
un documento HTML. Múltiples hojas de estilos pueden ser importadas al mismo tiempo. Los diferentes
estilos pueden ser aplicados dependiendo de la salida del dispositivo usado en ese momento; por ejemplo, la
versión para monitores puede ser diferente de la versión impresa, así que los diseñadores pueden aplicar
diferentes estilos dependiendo del dispositivo usado.
La hoja de estilos con la máxima prioridad controla la visualización del contenido. Las declaraciones no
establecidas en la fuente con máxima prioridad son sobrescritas, como las hojas de estilos del agente de
usuario. Este proceso es llamado cascading, o cascada.6
Una de las metas de CSS es permitir a los usuarios un mayor control sobre la presentación. Algunas
personas que encuentran a los encabezados rojos en itálicas difíciles de leer pueden aplicar una hoja de
estilos diferente. Dependiendo del navegador y del sitio web, un usuario puede escoger entre varias hojas
de estilo provistas por los diseñadores, o pueden remover todas las hojas de estilos añadidas y ver el sitio
usando los estilos por defecto del navegador, o pueden sobrescribir solo el estilo de los encabezados rojos
en itálica sin alterar otros atributos.
Esquemas de prioridad CSS (de mayor a menor importancia)
Prioridad Tipo de origen de CSS Descripción
6 Orden de las reglas La última regla especificada tiene una mayor prioridad
Especificidad
La especificidad se refiere a los pesos relativos de varias reglas. Determina qué estilos se aplican a un
elemento cuando más de una regla intentan aplicar estilos a ella. Basándose en la especificación, un simple
selector (h1, por ejemplo) tiene una especificidad de 1, los selectores de clase tienen una especificidad de
1,0, y los selectores de id una especificidad de 1,0,0. Porque los valores de especificidad no se acarrean
como en el sistema decimal, las comas son usadas para separar los "dígitos" (una regla CSS que tiene 11
elementos y 11 clases tiene una especificidad de 11,11, no 121).
Por lo tanto los siguientes selectores de reglas dan como resultado la especificidad indicada:
Selectores Especificidad
H1 {color: white;} 0, 0, 0, 1
P EM {color: green;} 0, 0, 0, 2
style=" " 1, 0, 0, 0
Ejemplo
Considera este documento HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
#id{propiedad:valor;}
</style>
</head>
<body>
<p id="xyz" style="color: blue;">Para demostrar la especificidad</p>
</body>
</html>
En este ejemplo, la declaración en el atributo style sobrescribe la declaración del elemento <style>
porque tiene un especificidad más alta.
Herencia
La herencia es una característica clave en CSS; basada en la relación ancestro-descendiente para operar. La
herencia es el mecanismo por el cual las propiedades no solo se aplican a un solo elemento, sino también a
sus descendientes. La herencia se basa en el árbol del documento, el cual es la jerarquía de los elementos
XHTML en una página basada en el anidamiento. Los elementos descendientes pueden heredar los valores
de las propiedades CSS de un elemento ancestro. En general, los elementos descendientes heredan las
propiedades relacionadas al texto, pero las propiedades relacionadas con la caja no. Las propiedades que
pueden ser heredadas son el color, fuente, espaciado, el peso de la línea, propiedades de lista, alineación del
texto, identado, visibilidad, espaciado de espacios y espaciado entre palabras. Las propiedades que no
pueden ser heredadas son el fondo, bordes, visualización, posicionamiento, tamaño, márgenes, tamaño
mínimo y máximo, outline, desbordamiento, relleno, posición, alineación vertical y z-index.7
La herencia previene que algunas propiedades sean declaradas una y otra vez en la hoja de estilos,
permitiendo a los diseñadores escribir menos código CSS. Mejora la carga rápida de los sitios por los
usuarios, y permite a los clientes ahorrar dinero en los costos de desarrollo y ancho de banda.
Ejemplo
Se tiene la siguiente hoja de estilos:
h1 {
color: pink;
}
<h1>
Esto es para <em>ilustrar</em> la herencia
</h1>
Si no se asigna un color al elemento em, la palabra «ilustrar» heredará el color del elemento padre, h1.
Entonces, la palabra «ilustrar» aparecerá de color rosa. Pongamos por ejemplo el color gris para el texto que
esté entre las etiquetas em.
em {
color: gray;
}
Espacios en blanco
Los espacios en blanco entre propiedades y selectores se ignoran. Este pedazo de código:
body{overflow:hidden;background:#000000;}
body {
overflow: hidden;
background: #000000;
}
Posicionamiento
CSS 2.1 define 3 esquemas de posicionamiento:
Normal
Los elementos inline, o de línea, son dispuestos de la misma manera que las letras en las
palabras de un texto, una vez que ya no hay más espacio en una línea, entonces se
empieza una nueva línea abajo. Los elementos block, o de bloque, son dispuestos
verticalmente, como los párrafos.
Flotante
Un elemento float está fuera del flujo normal y puesto lo más posible a la derecha o
izquierda en el espacio disponible. Los demás elementos fluyen alrededor del elemento
float.
Absoluto
Un elemento posicionado absolutamente no tiene un lugar, y no afecta al flujo normal de
los elementos. Ocupa el espacio que se le ha asignado independientemente de los
demás elementos.
Propiedades de posicionamiento
Hay 4 posibles valores para la propiedad position. Si un elemento está posicionado de una manera
diferente a static, hay cuatro subpropiedades usadas para especificar posiciones y offsets: top,
bottom, left y right.8
Static
El valor por defecto a los elementos en el flujo normal.
Relative
El elemento el posicionado en el flujo normal, y luego movido relativamente a su posición
normal. Los demás elementos son independientes del elemento movido relativamente.
Absolute
Especifica el posicionamiento absoluto. El elemento es posicionado en relación con su
antecesor no estático más cercano.
Fixed
El elemento es posicionado absolutamente en una posición fija de la pantalla aunque el
resto del documento se mueva.
Float y clear
La propiedad float puede tener 3 valores diferentes. Los elementos posicionados absolutamente o de
manera fija no pueden ser aplicados a esta propiedad. Los demás elementos flotan normalmente alrededor
de los elementos flotantes, a menos que se establezcan alguna de las propiedades clear.
left
Los elementos float flotan a la izquierda y los otros elementos fluyen a la derecha de este
elemento.
right
Los elementos float flotan a la derecha y los otros elementos fluyen a la izquierda de este
elemento.
clear
Fuerza al elemento a no fluir alrededor de los elementos que flotan a la izquierda
(clear: left), a la derecha (clear: right) o a ambos lados (clear: both).
Historia
CSS fue propuesto por primera vez por Håkon Wium Lie el 10 de octubre
de 1994.9 Al mismo tiempo, Lie trabajaba con Tim Berners-Lee en el
CERN.10 Muchos otros lenguajes de hojas de estilos fueron propuestos al
mismo tiempo, y las discusiones en las listas de correo públicas dentro del
W3C dieron lugar a la primera Recomendación CSS por el W3C (CSS1)11
en 1996. En particular, la propuesta de Bert Bos fue influyente; él fue el
coautor de CSS1 y es reconocido como el cocreador de CSS.12
Las hojas de estilo han existido de una forma u otra desde los comienzos
del Standard Generalized Markup Language (SGML) en la década de los
80, y CSS fue desarrollado para proveer hojas de estilos para la web.13 Un
requerimiento para un lenguaje de hoja de estilos web era que las hojas de Håkon Wium Lie, CTO de la
estilo vinieran en diferentes estilos en la web. Por lo tanto, los lenguajes de compañía Opera Software y
hojas de estilos existentes como DSSSL y FOSI no fueron adecuados. CSS, cocreador del estándar CSS
por otro lado, permite al documento ser influido por múltiples hojas de
estilo por medio de los estilos en «cascada».13
A medida que HTML fue creciendo, llegó a abarcar una amplia variedad de capacidades de diseño para
satisfacer las demandas de los diseñadores web. Esta evolución dio al diseñador mayor control sobre la
apariencia del sitio, con el costo de un HTML más complejo. Variaciones en las implementaciones de los
navegadores web, como ViolaWWW y WorldWideWeb,14 hicieron más difícil la consistencia de la
apariencia del sitio web, y los usuarios tenían menos control sobre cómo era mostrado el contenido web. El
navegador/editor creado por Tim Berners-Lee tenía hojas de estilos que fueron introducidas dentro del
programa. Las hojas de estilos, por lo tanto, no eran enlazadas a los documentos en la web.15 Robert
Cailliau, también del CERN, quería separar la estructura de la presentación, de modo que diferentes hojas
de estilo podrían describir diferentes presentaciones para impresión, pantallas y editores.14
Mejorar las capacidades de la presentación en la web fue un tema de interés para muchos en las
comunidades web, y 9 diferentes lenguajes de hojas de estilos fueron propuestos en la lista de correo www-
style.13 De esas nueve propuestas, dos influenciaron profundamente en lo que sería CSS: Cascading
HTML Style Sheets9 y Stream-based Style Sheet Proposal (SSP).12 16 Dos navegadores fueron usados
para pruebas para las propuestas iniciales; Lie trabajó con Yves Lafon para implementar CSS en el
navegador Arena creado por Dave Raggett.17 18 19
Bert Bos implementó su propia propuesta SSP en el
12
navegador Argo. Desde entonces, Lie y Bos trabajaron juntos para desarrollar el estándar CSS. La 'H' se
eliminó del nombre porque estas hojas de estilo pueden ser aplicadas a otros lenguajes de marcado además
de HTML.10
La propuesta de Lie fue presentada en la conferencia "Mosaic and the Web" (más tarde llamada WWW2)
en Chicago, Illinois en 1994, y de nuevo con Bert Bos en 1995.10 En ese tiempo el W3C ya estaba siendo
establecido, y mostraba interés en el desarrollo de CSS. Organizó un taller para ese fin presidido por Steven
Pemberton. Esto resultó en que W3C le dio más trabajo sobre CSS a lo resultados del Comité de Revisión
Editorial (ERB). Lie y Bos eran el equipo técnico principal en esta parte del proyecto, con participantes
adicionales como Thomas Reardon de Microsoft. En agosto de 1996 Netscape Communication Corporation
presentó una alternativa de lenguaje de hoja de estilos llamada JavaScript Style Sheets (JSSS).10 La
especificación nunca fue finalizada y quedó obsoleta.20 A finales de 1996, CSS estaba listo para ser oficial,
y la recomendación CSS 1 fue publicada en diciembre.
El desarrollo de HTML, CSS, y DOM había sido realizado en un solo grupo, el HTML Editorial Review
Board (ERB). A comienzos de 1997, el ERB fue dividido en tres grupos de trabajo: HTML Working
Group, liderado por Dan Connolly del W3C; DOM Working group, liderado por Lauren Wood de
SoftQuad; y CSS Working Group, liderado por Chris Lilley del W3C.
El grupo de trabajo de CSS comenzó corrigiendo errores que no habían sido revisados en el CSS 1,
resultando en la creación de CSS 2, el 4 de noviembre de 1997. Fue publicado como una recomendación el
12 de mayo de 1998. Las adiciones a CSS de allí en adelante, conocidas colectivamente como "CSS3",
tomaron un aspecto modular, desarrollándose cada función de forma independiente.
En 2005 el grupo de trabajo de CSS decidió mejorar los requerimientos de los estándares de forma más
estricta. Esto significó que los estándares ya publicados como CSS 2.1, CSS3 Selectors y CSS3 Text fueron
retrocedidos del estado "Recomendaciones candidatas" a "Borrador de trabajo".
Niveles
CSS se ha creado en varios niveles y perfiles. Cada nivel de CSS se construye sobre el anterior,
generalmente añadiendo funciones al nivel previo.
Los perfiles son, generalmente, parte de uno o varios niveles de CSS definidos para un dispositivo o
interfaz particular. Actualmente, pueden usarse perfiles para dispositivos móviles, impresoras o televisiones.
CSS1
La primera especificación oficial de CSS, recomendada por la W3C fue CSS1, publicada en diciembre de
1995,21 y abandonada en abril de 2008.21
CSS2
La especificación CSS2 fue desarrollada por la W3C y publicada
como recomendación en mayo de 1998, y abandonada en abril de
2008.22
CSS 2.1
La primera revisión de CSS2, usualmente conocida como "CSS 2.1", corrige algunos errores encontrados
en CSS2, elimina funcionalidades poco soportadas o inoperables en los navegadores y añade alguna nueva
especificación.
En abril de 2011, CSS 2.1 volvió a ser propuesta como candidata,24 y después de ser revisada por el W3C
Advisory Committee, fue finalmente publicada como recomendación oficial el 7 de junio de 2011.25
CSS3
A diferencia de CSS2, que fue una única especificación que definía varias funcionalidades, CSS3 está
dividida en varios documentos separados, llamados "módulos".
Cada módulo añade nuevas funcionalidades a las definidas en CSS2, de manera que se preservan las
anteriores para mantener la compatibilidad.
Los trabajos en el CSS3, comenzaron a la vez que se publicó la recomendación oficial de CSS2, y los
primeros borradores de CSS3 fueron liberados en junio de 1999.26
Debido a la modularización del CSS3, diferentes módulos pueden encontrarse en diferentes estados de su
desarrollo,27 de forma que a fechas de noviembre de 2011, hay alrededor de cincuenta módulos
publicados,26 tres de ellos se convirtieron en recomendaciones oficiales de la W3C en 2011: "Selectores",
"Espacios de nombres" y "Color".
Algunos módulos, como "Fondos y colores", "Consultas de medios" o "Diseños multicolumna" están en
fase de "candidatos", y considerados como razonablemente estables, a finales de 2011, y sus
implementaciones en los diferentes navegadores son señaladas con los prefijos del motor del mismo.28
CSS4
No existe una especificación integrada de CSS4, ya que la especificación ha sido dividida en diversos
módulos separados que manejan niveles de forma independiente.
Módulos que edificaban sobre cosas del CSS Nivel 2 iniciaron en Nivel 3. Algunas de ellas han alcanzado
el Nivel 4 o incluso están acercándose al Nivel 5. Otros módulos que definen funcionalidad completamente
nueva, como Flexbox, han sido designados como Nivel 1 y algunos de ellos se aproximan al nivel 2.
El CSS Working Group a veces publica "snapshots", que son una colección de módulos enteros y partes de
otros borradores que son considerados suficientemente estables para ser implementados por desarrolladores
de navegadores web. Hasta el momento, cinco de aquellos documentos de "mejores prácticas actuales" han
sido publicados como Notas, en 2007, 2010, 2015, 2017, y 2018.
Dado que estas especificaciones son entendidas para desarrolladores, ha habido una creciente demanda por
documentos de referencia similares pero dirigidos a autores, lo cual presentaría el estado de las
implementaciones interoperables mientras se documenta por sitios web como "Can I Use..." y los MDN
Web Docs. Un grupo llamado el W3C Community Group ha sido establecido a inicios de 2020 a fin de
discutir y definir dichos recursos. El tipo actual de versionado es también sujeto a debate, lo cual significa
que el documento, una vez producido, podría no llamarse "CSS4".
Además de las herramientas de prueba mencionadas, muchos sitios web mantienen listas del soporte de
navegadores para propiedades específicas de CSS, incluyendo recursos como CanIUse (http://caniuse.com/)
y Mozilla Developer Network. Además, CSS3 define muchas consultas, entre las cuales se incluye la
directiva @supports que permite a los desarrolladores especificar directamente en el CSS qué
navegadores admiten una función específica.31 El código CSS que no es compatible con versiones
antiguas de un navegador, generalmente se proporciona mediante polyfills en JavaScript. Estos métodos
añaden complejidad a los proyectos de desarrollo y, en consecuencia, las compañías frecuentemente definen
una lista de las diferentes versiones de navegadores que son compatibles y las que no lo son.
Como los sitios web adoptan nuevas normas del código que son incompatibles con los navegadores más
antiguos, a estos navegadores se les restringe el acceso a muchos de los recursos en la web, a veces de
manera intencional. Muchos de los sitios más populares en Internet no solo tienen un aspecto visual
deficiente en los navegadores antiguos a causa de la mala compatibilidad con CSS, sino que tampoco
funcionan en absoluto, en gran parte debido a la evolución de JavaScript y otras tecnologías web.32
Limitaciones
Algunas de las limitaciones conocidas de las capacidades actuales de CSS son:
Limitaciones resueltas
También hay limitaciones que ya han sido resueltas:
Alineado vertical
Mientras que el alineado horizontal es generalmente fácil de controlar, el alineado vertical
es frecuentemente no intuitivo, o de plano imposible. Simples tareas, como la de centrar
un elemento verticalmente o poniendo un pie de página abajo es muy difícil. El Flexible
Box Module mejora esta situación considerablemente y el alineado vertical es mucho más
simple y soportado en todos los navegadores actuales. Los navegadores más viejos no
tienen estas características (principalmente Internet Explorer 9 y abajo) y no son
soportados actualmente por sus fabricantes.38
Ausencia de expresiones
No hay aun una opción estándar para especificar los valores de propiedades como una
expresión simple (como margin-left: 10% – 3em + 4px;). Esto puede ser útil en
muchos casos, como para calcular el número de columnas de una tabla. Internet Explorer
en sus versiones 5 a 7 soportan una extensión propietaria expression(),39 con una
funcionalidad similar. expression() ya no es soportada por Internet Explorer 8 en
adelante, excepto en los modos de compatibilidad. Esta decisión fue tomada para mejorar
"el cumplimiento de los estándares, el rendimiento del navegador, y por razones de
seguridad".39 Como sea, una recomendación candidata calc() para superar esta
limitación ha sido publicada por el CSS WG y ahora está soportada por la mayoría de los
navegadores modernos.40
Ventajas
Por otro lado, algunas ventajas de utilizar CSS son:
Ancho de banda
Una hoja de estilos interna o externa, especifica el estilo para un conjunto de elementos
HTML seleccionados por clase, tipo, o herencia. Esto es más eficiente que repetir
información para cada ocurrencia del elemento. Una hoja de estilos externa usualmente
es guardada en la caché del navegador, y puede ser usada en múltiples páginas sin ser
cargada de nuevo, reduciendo la transferencia de datos a través de la red.
Formateo de página
Con un cambio simple en una sola línea, puede cambiarse la hoja de estilos para la
misma página. Esto trae ventajas para la accesibilidad, además de que posibilita adaptar
el sitio a diferentes dispositivos.
Accesibilidad
Sin CSS, los diseñadores web típicamente diseñaban sus páginas con elementos como
tablas que dificultaban la accesibilidad para otros usuarios, y que iban en perjuicio de
ciertos usos de los documentos, por parte de navegadores orientados a personas con
algunas limitaciones sensoriales.
Frameworks de CSS
Los frameworks de CSS son bibliotecas preparadas para simplificar y mejorar el cumplimiento de los
estándares en el diseño de páginas web mediante el uso del lenguaje CSS. Algunos de los frameworks de
CSS más comunes son Foundation, Blueprint, Bootstrap, Cascade Framework y Materialize. Como ocurre
en la programación con bibliotecas en los lenguajes de script, los frameworks de CSS se suelen incorporar
como hojas de estilo CSS externas referenciadas a través la etiqueta <link>. Esto ofrece numerosas
opciones listas para el diseño y la maquetación de una página web. Aunque muchos frameworks ya han
sido publicados, algunos diseñadores los emplean principalmente para desarrollar prototipos rápidos, o con
fines de aprendizaje, mientras que prefieren crear su propio código CSS de forma manual.43
Véase también
Acid3
CSS Zen Garden
Em (tipografía)
HTML
Lista de lenguajes de hojas de estilo
Mejora progresiva
Web Accessibility Initiative
XHTML
Help:Cascading Style Sheets (en inglés)
Referencias
www.w3.org. Consultado el 21 de octubre
1. «W3C CSS2.1 specification for rule sets, de 2016.
declaration blocks, and selectors» (http://w
ww.w3.org/TR/CSS21/syndata.html#q10). 5. RFC 2318. IETF. (marzo de 1998)
World Wide Web Consortium. Consultado 6. «The cascade» (https://www.w3.org/TR/201
el 20 de junio de 2009. Especificaciones 6/WD-CSS22-20160412/cascade.html#cas
para el CSS2.1(en inglés) cade) (en inglés). W3C. 12 de abril de
2. «CSS developer guide» (https://developer. 2016.
mozilla.org/en-US/docs/Web/Guide/CSS). 7. «Inheritance» (https://www.w3.org/TR/2016/
Mozilla Developer Network. Consultado el WD-CSS22-20160412/cascade.html#inheri
21 de octubre de 2016. tance) (en inglés). W3C. 12 de abril de
3. «Web-based Mobile Apps of the Future 2016.
Using HTML 5, CSS and JavaScript» (htt 8. «Positioning schemes» (https://www.w3.or
p://www.htmlgoodies.com/beyond/article.ph g/TR/2016/WD-CSS22-20160412/visuren.h
p/3893911/Web-based-Mobile-Apps-of-the- tml#positioning-schemee) (en inglés).
Future-Using-HTML-5-CSS-and-JavaScrip W3C. 12 de abril de 2016.
t.htm). www.htmlgoodies.com. Consultado 9. Lie, Hakon W (10 de octubre de 1994).
el 21 de octubre de 2016. Cascading HTML style sheets - a proposal
4. «HTML & CSS - W3C» (http://www.w3.org/s (http://www.w3.org/People/howcome/p/casc
tandards/webdesign/htmlcss#whatcss).
ade.html). CERN. Consultado el 25 de =Technology+and+Society). World Wide
mayo de 2014. Web Consortium. 18 de julio de 2008.
10. Lie, Håkon Wium; Bos, Bert (1999). Consultado el 22 de enero de 2011.
Cascading Style Sheets, designing for the 20. Lou Montulli; Brendan Eich; Scott Furman;
Web (https://archive.org/details/cascadingst Donna Converse; Troy Chevalier (22 de
yles000lieh). Addison Wesley. ISBN 0-201- agosto de 1996). «JavaScript-Based Style
59625-3. Consultado el 23 de junio de 2010. Sheets» (http://www.w3.org/Submission/19
11. «Cascading Style Sheets, level 1» (http://w 96/1/WD-jsss-960822). World Wide Web
ww.w3.org/TR/1999/REC-CSS1-1999011 Consortium. Consultado el 23 de junio de
1). World Wide Web Consortium. 2010.
12. Bos, Bert (14 de abril de 1995). «Simple 21. W3C: Especificación CSS1 (http://www.w3.
style sheets for SGML & HTML on the web» org/TR/CSS1) (en inglés)
(http://www.w3.org/People/Bos/style.html). 22. «Especificación CSS2» (http://www.w3.org/
World Wide Web Consortium. Consultado TR/2008/REC-CSS2-20080411/) (en
el 20 de junio de 2010. inglés). W3C. 1998.
13. «Cascading Style Sheets» (https://web.arch 23. CSS 2.1 fue lanzada como Candidata a
ive.org/web/20141004215348/http://people. recomendación (http://www.w3.org/TR/200
opera.com/howcome/2006/phd/). University 4/CR-CSS21-20040225/) el 25 de febrero
of Oslo. Archivado desde el original (http://p de 2004 (en inglés)
eople.opera.com/howcome/2006/phd/) el 4 24. W3C:CSS2.1 (http://www.w3.org/TR/2011/
de octubre de 2014. Consultado el 3 de PR-CSS2-20110412/) (recomendación
septiembre de 2014. propuesta por la W3C) (en inglés)
14. Petrie, Charles; Cailliau, Robert (November 25. La W3C publica el estándard CSS2.1 (htt
1997). «Interview Robert Cailliau on the p://www.w3.org/2011/05/css-pr.html.en.) (en
WWW Proposal: "How It Really inglés)
Happened." » (https://web.archive.org/web/ 26. Bos, Bert (18 de febrero de 2011).
20110106041256/http://www.computer.org/
«Descriptions of all CSS specifications» (ht
portal/web/computingnow/ic-cailliau). tp://www.w3.org/Style/CSS/specs). World
Institute of Electrical and Electronics Wide Web Consortium. Consultado el 3 de
Engineers. Archivado desde el original (htt
marzo de 2011. Descripción de todas las
p://www.computer.org/portal/web/computing especificaciones del CSS, por la W3C (en
now/ic-cailliau) el 6 de enero de 2011. inglés)
Consultado el 18 de agosto de 2010.
27. Bos, Bert (26 de febrero de 2011). «CSS
15. Bos, Håkon Wium Lie, Bert (1999). current work» (http://www.w3.org/Style/CS
Cascading style sheets: designing for the S/current-work). World Wide Web
Web (https://archive.org/details/cascadingst
Consortium. Consultado el 3 de marzo de
yles000lieh) (2nd edición). Harlow, Essex, 2011. Trabajos actuales en CSS (en inglés)
England: Addison-Wesley. ISBN 0-201-59625-
3. 28. Etemad, Elika (12 de diciembre de 2010).
«Cascading Style Sheets (CSS) Snapshot
16. Bos, Bert (31 de marzo de 1995). «Stream-
2010» (http://www.w3.org/TR/css-2010/#cs
based Style sheet Proposal» (http://www.w s). World Wide Web Consortium.
3.org/People/Bos/stylesheets.html). Consultado el 3 de marzo de 2011.
Consultado el 3 de septiembre de 2014.
Definiciones del CSS (2010) (en inglés)
17. Nielsen, Henrik Frystyk (7 de junio de
29. Clemente Laboreo, Daniel. «Pop-up para
2002). «Libwww Hackers» (http://www.w3.o usuarios de IE» (http://www.danielclement
rg/Library/Collaborators.html). World Wide e.com/navega/popup.html).
Web Consortium. Consultado el 6 de junio http://www.danielclemente.com.
de 2010. Consultado el 12 de noviembre de 2017.
18. «Yves Lafon» (http://www.w3.org/People/La 30. «CSS3 Solutions for Internet Explorer –
fon/). World Wide Web Consortium.
Smashing Magazine» (https://www.smashin
Consultado el 17 de junio de 2010. gmagazine.com/2010/04/css3-solutions-for-
19. «The W3C Team: Technology and Society» internet-explorer/). Smashing Magazine (en
(http://www.w3.org/People/domain?domain inglés estadounidense). 28 de abril de
2010. Consultado el 12 de octubre de om/eric/css/edge/popups/demo.html).
2016. meyerweb.com. Archivado desde el original
31. «Using Feature Queries in CSS ★ Mozilla (http://meyerweb.com/eric/css/edge/popup
Hacks – the Web developer blog» (https://h s/demo.html) el 9 de diciembre de 2009.
acks.mozilla.org/2016/08/using-feature-que Consultado el 19 de noviembre de 2009.
ries-in-css/). hacks.mozilla.org. Consultado 37. Tab Atkins Jr. «CSS apply rule» (https://we
el 12 de octubre de 2016. b.archive.org/web/20160222160949/http://t
32. «Looking at the Web with Internet Explorer abatkins.github.io/specs/css-apply-rule/).
6, one last time» (https://arstechnica.com/inf GitHub. Archivado desde el original (https://
ormation-technology/2014/04/looking-at-the tabatkins.github.io/specs/css-apply-rule/) el
-web-with-internet-explorer-6-one-last-tim 22 de febrero de 2016. Consultado el 27 de
e/). Ars Technica. Consultado el 12 de febrero de 2016.
octubre de 2016. 38. «Internet Explorer End of Support» (https://
33. Molly Holzschlag (enero de 2012). «Seven www.microsoft.com/en-us/WindowsForBusi
Things Still Missing from CSS» (https://we ness/End-of-IE-support). Microsoft.
b.archive.org/web/20170305034521/http:// Consultado el 27 de febrero de 2016.
www.creativebloq.com/css3/seven-things-st 39. «About Dynamic Properties» (http://msdn.m
ill-missing-css-1126553). .net Magazine. icrosoft.com/en-us/library/ms537634.aspx).
Archivado desde el original (http://www.cre Msdn.microsoft.com. Consultado el 20 de
ativebloq.com/css3/seven-things-still-missi junio de 2009.
ng-css-1126553) el 5 de marzo de 2017. 40. «Can I use... Support tables for HTML5,
Consultado el 12 de noviembre de 2017. CSS3, etc.» (https://web.archive.org/web/20
34. «Selectors Level 4 – Determining the 160304055316/http://caniuse.com/calc).
Subject of a Selector» (https://web.archive. CanIUse.com. Archivado desde el original
org/web/20130817120016/http://www.w3.or (http://caniuse.com/calc) el 4 de marzo de
g/TR/selectors4/#subject). W3.org. 2016. Consultado el 27 de febrero de 2016.
Archivado desde el original (http://www.w3. 41. «CSS Multi-column Layout Module» (http://
org/TR/selectors4/#subject) el 17 de agosto www.w3.org/TR/css3-multicol/). World
de 2013. Consultado el 13 de agosto de Wide Web Consortium. Consultado el 1 de
2013. mayo de 2011.
35. Snook, Jonathan (octubre de 2010). «Why 42. «Can I use... Support tables for HTML5,
we don't have a parent selector» (https://we CSS3, etc.» (http://caniuse.com/columns).
b.archive.org/web/20120118135154/http:// CanIUse.com. Consultado el 27 de febrero
www.snook.ca/archives/html_and_css/css- de 2016.
parent-selectors). snook.ca. Archivado 43. Cederholm, Dan; Ethan Marcotte (2009).
desde el original (http://snook.ca/archives/h Handcrafted CSS: More Bulletproof Web
tml_and_css/css-parent-selectors) el 18 de Design (https://books.google.com/books?id
enero de 2012. Consultado el 12 de =UgrUeIwsS60C&pg=PA114). New Riders.
noviembre de 2017. p. 114. ISBN 978-0-321-64338-4. Consultado el
36. «Pure CSS Popups» (https://web.archive.or 19 de junio de 2010.
g/web/20091209071014/http://meyerweb.c
Enlaces externos
«CSS Snapshot 2015» (https://drafts.csswg.org/css-2015/). W3C (en inglés). Consultado el
10 de diciembre de 2015. – Este documento reúne en un solo documento todas las
especificaciones que conforman el estado actual de CSS en 2015.
«Cascading Style Sheets (CSS) Snapshot 2010» (http://www.w3.org/TR/CSS/). W3C (en
inglés). Consultado el 23 de julio de 2014. – Incluye enlaces a las especificaciones.
Comparación de la presentación CSS en diferentes motores (Wikipedia en inglés)
[1] (https://web.archive.org/web/20160310025511/http://www.w3schools.com/Css/css3_intro.
asp) CSS3 Introduction
Esta obra contiene una traducción parcial derivada de «Css» de Wikipedia en
inglés, concretamente de esta versión (https://en.wikipedia.org/wiki/Css?oldid=469635433),
publicada por sus editores (https://en.wikipedia.org/wiki/Css?action=history) bajo la Licencia
de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual
4.0 Internacional (https://creativecommons.org/licenses/by-sa/4.0/deed.es).
Obtenido de «https://es.wikipedia.org/w/index.php?title=CSS&oldid=161139928»