CSS
CSS
CSS
PRESENTADO POR:
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.
Algunas de las funcionalidades que ofrece son:
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.
Como ampliación de CSS1, se ofrecieron, entre otras:
CSS3.1
A diferencia de CSS2, que fue una única especificación que definía varias
funcionalidades, CSS3.1 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.1, comenzaron a la vez que se publicó la recomendación oficial
de CSS2, y los primeros borradores de CSS3.1 fueron liberados en junio de 1999.
Debido a la modularización del CSS3.1, diferentes módulos pueden encontrarse en
diferentes estados de su desarrollo, de forma que, a fechas de noviembre de 2011, hay
alrededor de cincuenta módulos publicados, 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.
Limitaciones
Algunas de las limitaciones conocidas de las capacidades actuales de CSS son:
Los selectores no pueden ascender
CSS actualmente no ofrece una manera de seleccionar al padre de un elemento que
satisfaga algún criterio. Los selectores CSS Nivel 4, que aún están en calidad de
Working Draft, ha propuesto un selector, pero solo como parte de otro selector. un
esquema de selectors más avanzado (como XPath) podría habilitar hojas de estilo más
sofisticadas. Las mayores razones del CSS Working Group para rechazar propuestas
para los selectores ascendentes son relacionadas al rendimiento del navegador y las
fallas en aumento del renderizado.
Las pseudoclases dinámicas no se pueden controlar
Las pseudoclases dinámicas (como :hover ) no se pueden controlar o deshabilitar
desde el navegador, lo que las hace susceptibles de abuso por parte de los diseñadores
de banners o ventanas emergentes.
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.
Ausencia de expresiones
No hay aún 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() , 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". 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.
Ausencia de la declaración de columnas de texto
Aunque ya es posible implementar esto en la especificación de CSS3 (usando el
módulo column-count ), las capas con muchas columnas son difíciles de implementar
con CSS 2.1. Con CSS 2.1, el proceso se hace usando elementos flotantes, los cuales
son renderizados de diferente manera en los distintos navegadores, tamaños, formas
de pantalla y sistemas operativos. Ahora, todos los navegadores modernos soportan
esta característica de CSS3 de una forma u otra.
Ventajas
Por otro lado, algunas ventajas de utilizar CSS son:
Separación del contenido y la presentación
CSS facilita la publicación de contenido en múltiples formatos de presentación basado
en parámetros nominales. Estos incluyen preferencias explícitas del usuario,
diferentes navegadores web, el tipo de dispositivo usado para ver el contenido (una PC
o un smartphone), la localización geográfica u otras variables.
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.