Sobre CSS 3
Como ya sabemos los desarrolladores web, CSS es un lenguaje estándar para presentaciones web que combinada con lenguaje estructural como HTML, XHTML o XML proporciona a los navegadores la información necesaria para presentar contenidos.
CSS se compone de selectores que se aplican a elementos estructurales para darles estilo visual como bordes, espacios entre letras, imágenes de fondo, colores, etc...
Para los que habitualmente desarrollamos websites y estamos acostumbrados al uso de CSS lo que verdaderamente nos interesa saber es cuáles son las novedades en el nuevo CSS 3 y por supuesto, si el nuevo CSS 3 es compatible con todos los navegadores o no.
Así pues, antes de comenzar a desglosar selectores será mejor tener bien claro la compatibilidad de CSS 3 con los navegadores.
Compatibilidad de CSS 3 con los navegadores
Aunque CSS 3 está todavía en fase de desarrollo, los selectores que se mencionarán a continuación pueden ser utilizados ya en algunos navegadores.
Safari en particular da un extenso soporte a estas nuevas funciones de CSS 3. Lamentablemente, el porcentaje de usuarios de este navegador no es muy alto aunque está en constante crecimiento.
Al contrario que en el caso de Safari, Firefox tiene un número elevadísimo de usuarios y desde su versión 3.1 ya da soporte a una amplia gama de funcionalidades en CSS 3.
Google Chrome da a CSS 3 más o menos el mismo soporte, en cuanto a funcionalidad se refiere, que Safari. Y además cabe tener en cuenta que desde su lanzamiento muchos usuarios de Windows lo han reeemplazado por Internet Explorer.
La cara negativa de la moneda una vez más, es Internet Explorer, cuyos usuarios no podrán disfrutar de esta nueva funcionalidad. Al respecto se rumorea que Internet Explorer 9 ya dará soporte a CSS 3, pero como siempre habrá que esperar. Aquellos que sean verdaderamente valientes podrán utilizar algunos de los parches existentes para simular algunos de los efectos. Para el resto, los no tan valientes pero a los que nos gusta implementar esas pequeñas mejoras intentaremos hacerlo siempre creando código alternativo para Internet Explorer.
Aspectos negativos del uso de CSS 3
A parte de que, según las estadísticas, el 50% de los usuarios utilizan Internet Explorer existen otros 3 aspectos negativos a tener en cuenta:
- CSS 3 está aún en desarrollo, el código es experimental (del tipo -moz-border-color para Firefox y -webkit-border-color para Chrome) y por lo tanto no será válido según los estándares.
- Del punto anterior se deriva que obtendremos un exceso de código CSS al intentar compatibilizarlo con todos los navegadores que lo soporten.
- Debido a lo novedoso del lenguaje, es probable que en muchos websites nos encontremos un exceso de estilismo CSS 3 como ya ocurrió en otras ocasiones con versiones nuevas.
Consejo: No bases tus diseños web al 100% en CSS 3, utiliza los selectores que se adapten al estilo de tu web creando siempre las debidas opciones para todos los navegadores pero no dejes de experimentar.
Selectores nuevos con CSS 3
Muchas son las novedades que CSS 3 incorpora, no obstante a continuación se van a detallar algunas de las más interesantes y que ya están implementadas en algunos navegadores como Firefox, Konqueror, Opera y Safari.
Etiqueta |
Código y Demo |
| border | |
| border-color Permite crear desgradados en los bordes de un elemento |
-webkit-border-bottom-colors: #555 #666 #777 #888 #999 #aaa #bbb #ccc; |
DemoBordes degradados. Sólo en Firefox. |
|
| border-image Permite usar una imagen como borde |
-webkit-border-image: url(images/border.png) 27 repeat; |
DemoFunciona en Safari y Firefox |
|
-webkit-border-image: url(/themes/theproces/images/border.png) 27 stretch; DemoFunciona en Safari y Firefox |
|
| border-radius Permite redondear los bordes de los bloques |
-webkit-border-radius:5px; DemoFunciona en Safari y Firefox |
-webkit-border-radius:0px 5px 0px 5px; DemoFunciona en Safari y Firefox |
|
| box-shadow Permite dar sombra a elementos de bloque. Tiene 3 propiedades: la distancia horizontal de la sombra, la distancia vertical de la sombra y el desenfoque. |
-moz-box-shadow:3px 3px 6px #888888; DemoFunciona en Safari y Firefox |
| backgrounds | |
| background-origin Sitúa un fondo dentro de un bloque a partir de las especificaciones dadas. Tiene 3 propiedades: border-box, padding-box y content-box. |
-moz-background-clip:border; DemoEl fondo se extiende hasta el borde |
| background-clip Determina si el fondo se extiende hasta el borde o no. La propiedad por defcto es border-box que indica que sí que se extiende hasta el borde |
-moz-background-clip:border; DemoEl fondo empieza en el borde |
-moz-background-clip:padding; DemoEl fondo empieza en el contenido |
|
| background-size Permite especificar en pixels o en %, el tamaño del fondo de un elemento de bloque. Si se especifica como %, el % especificado será relativo al ancho o alto del área señalada con el parámetro background-origin |
-moz-background-clip:border; DemoSólo para Ópera, Safari, Konqueror y Chrome.La imagen de fondo debería verse estirada. |
| múltiples backgrounds Permite utilizar varias imágenes de fondo, la etiqueta es la de background con las referencias a los fondos separadas por comas. |
background: url(/themes/theproces/images/border.png) top left no-repeat, DemoSólo para Konqueror y Chrome.Deberían verse varias imágenes como fondo. |
| color | |
| opacity Permite ajustar la transparencia de un elemento. |
filter:alpha(opacity=50);/*para Internet Explorer*/ DemoOpacidad de negro al 50%. Funciona en Firefox, Safari y Chrome.Existe opción filter:alpha(opacity=x) para IE 7 e IE 8. |
| efectos de texto | |
| text-shadow Permite dar sombra a un texto. Sus propiedades son distancia horizontal, distancia vertical, desenfoque y color de la sombra. |
text-shadow: 1px 1px 1px #000000; DemoFunciona en Firefox, Safari, Opera y Chrome. |
| word-wrap Permite separar palabras muy largas dentro de un elemento de bloque |
word-wrap:break-word; DemoFunciona en Firefox, Safari e IE. Alserunacedandetextomuylarga, deberíaverseseparadaenalgúnmomento. |
| layout | |
| column-width, column-count y column-gap Permite crear columnas de texto y definir el ancho, el número y el ancho |
-moz-column-width: 50px; DemoFunciona en Firefox y Safari. |
| font-face Permite utilizar tipografías diferentes a las estándar |
<style type="text/css" media="all"> font-family:Delicious,Verdana,sans-serif; DemoFunciona en Internet Explorer, Firefox y Safari. |
