CSS3
Hoja de estilo en cascada o CSS (siglas en inglés de cascading style sheets) es un lenguaje usado para definir y crear la presentación de un documento estructurado escrito en HTML o XML2 (y por extensión en XHTML). El World Wide Web Consortium (W3C) es el encargado de formular la especificación de las hojas de estilo que servirán de estándar para los agentes de usuario o navegadores.
La idea que se encuentra detrás del desarrollo de CSS es separar la estructura de un documento de su presentación.
La información de estilo puede ser definida en un documento separado o
en el mismo documento HTML. En este último caso podrían definirse
estilos generales en la cabecera del documento o en cada etiqueta
particular mediante el atributo
Sintaxis
CSS tiene una sintaxis
muy sencilla, que usa unas cuantas palabras clave tomadas del inglés
para especificar los nombres de varias propiedades de estilo.
Una hoja de estilo se compone de una lista de reglas. Cada regla o conjunto de reglas consiste en uno o más selectores y un bloque de declaración
(o «bloque de estilo») con los estilos a aplicar para los elementos del
documento que cumplan con el selector que les precede. Cada bloque de
estilos se define entre llaves, y está formado por una o varias
declaraciones de estilo con el formato
propiedad:valor;.<!R0>
En el CSS, los selectores marcarán qué elementos se verán
afectados por cada bloque de estilo que les siga, y pueden afectar a uno
o varios elementos a la vez, en función de su tipo, nombre (
name), ID, clase (class), posición dentro del Document Object Model, etcétera.<!R1>
Abajo puede verse un ejemplo de una parte de una hoja de estilos CSS:
selector [, selector2, ...] [:pseudo-class][::pseudo-element] {
propiedad: valor;
[propiedad2: valor2;
...]
}
/* comentarios */
Uso
Por ejemplo, el elemento de HTML
<h1> indica que un bloque de texto es un encabezamiento y que es más importante que un bloque etiquetado como <h2>.
Versiones más antiguas de HTML permitían atributos extra dentro de la
etiqueta abierta para darle formato (como el color o el tamaño de fuente). No obstante, cada etiqueta <h1>
debía disponer de la información si se deseaba un diseño consistente
para una página y, además, una persona que leía esa página con un navegador perdía totalmente el control sobre la visualización del texto.
Cuando se utiliza CSS, la etiqueta
<h1> no debería
proporcionar información sobre cómo será visualizado, solamente marca
la estructura del documento. La información de estilo, separada en una
hoja de estilo, especifica cómo se ha de mostrar <h1>: color, fuente, alineación del texto, tamaño y otras características no visuales, como definir el volumen de un sintetizador de voz, por ejemplo.
Por otro lado, antes de que estuviera disponible CSS, la única forma de componer espacialmente una página era el uso de tablas
<table>. Aunque esta era una técnica cómoda y versátil, ello conllevaba el uso de un elemento con una semántica
particular, y en el que la distribución de los datos no se ajustaban al
flujo de la información que se obtenía en la vista desde los
navegadores habituales, lo que redundaba en una merma
en la accesibilidad a la página por parte de otros navegadores
(orientados a personas con alguna deficiencia sensorial, o a ciertos
dispositivos electrónicos).
Mediante el uso de CSS, se ha permitido eliminar el uso de tablas para el diseño, usándolas solamente para la muestra de datos tabulados, si bien es cierto que obtener la versatilidad que ofrecía el diseño con tablas, es algo más complicado si no se usan.
Formas de usar CSS
Para dar formato a un documento HTML, puede emplearse CSS de tres formas distintas:
- Mediante CSS introducido por el autor del HTML
- Un estilo en línea (inline) es un método para insertar el
lenguaje de estilo de página directamente dentro de una etiqueta HTML.
Esta manera de proceder no es totalmente adecuada. El incrustar la
descripción del formateo dentro del documento de la página Web, a nivel
de código, se convierte en una manera larga, tediosa y poco elegante de
resolver el problema de la programación de la página. Este modo de
trabajo se podría usar de manera ocasional si se pretende aplicar un
formateo con prisa, al vuelo. No es todo lo claro o estructurado que
debería ser, pero funciona.
Dado que los clientes de correo electrónico no soportan las hojas de estilos externas, y que no existen estándares que los fabricantes de clientes de correo respeten para utilizar CSS en este contexto, la solución más recomendable para maquetar correos electrónicos, es utilizar CSS dentro de los propios elementos (inline). - Una hoja de estilo interna, que es una hoja de estilo que está incrustada dentro de un documento HTML, dentro del elemento <head>, marcada por la etiqueta <style>. De esta manera se obtiene el beneficio de separar la información del estilo del código HTML propiamente dicho. Se puede optar por copiar la hoja de estilo incrustada de una página a otra (esta posibilidad es difícil de ejecutar si se desea para guardar las copias sincronizadas). En general, la única vez que se usa una hoja de estilo interna, es cuando se quiere proporcionar alguna característica a una página Web en un simple fichero, por ejemplo, si se está enviando algo a la página Web.
- Una hoja de estilo externa, es una hoja de estilo que está almacenada en un archivo diferente al archivo donde se almacena el código HTML de la página Web. Esta es la manera de programar más potente, porque separa completamente las reglas de formateo para la página HTML de la estructura básica de la página.
- Un estilo en línea (inline) es un método para insertar el
lenguaje de estilo de página directamente dentro de una etiqueta HTML.
Esta manera de proceder no es totalmente adecuada. El incrustar la
descripción del formateo dentro del documento de la página Web, a nivel
de código, se convierte en una manera larga, tediosa y poco elegante de
resolver el problema de la programación de la página. Este modo de
trabajo se podría usar de manera ocasional si se pretende aplicar un
formateo con prisa, al vuelo. No es todo lo claro o estructurado que
debería ser, pero funciona.
- Estilos CSS introducidos por el usuario que ve el documento, mediante un archivo CSS especificado mediante las configuraciones del navegador, y que sobreescribe los estilos definidos por el autor en una, o varias páginas web.
- Los estilos marcados "por defecto" por los user agent, para diferentes elementos de un documento HTML, como por ejemplo, los enlaces.
CSS3
A diferencia de CSS2, que fue una gran 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.
Debido a la modularización del CSS3, 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 y ventajas de usar CSS
Limitaciones
Algunas limitaciones que se encuentran en el uso del CSS hasta la versión CSS2.1, vigente, pueden ser:
- Los selectores no pueden usarse en orden ascendente según la
jerarquía del DOM (hacia padres u otros ancestros) como se hace mediante
XPath
La razón que se ha usado para justificar esta carencia por parte de la W3C, es para proteger el rendimiento del navegador, que de otra manera, podría verse comprometido. XSLT soporta en la actualidad un mayor número de sistemas operativos. Así mismo, también es mejor para trabajar con la mayoría de buscadores de Internet. - Dificultad para el alineamiento vertical; así como el centrado horizontal se hace de manera evidente en CSS2.1, el centrado vertical requiere de diferentes reglas en combinaciones no evidentes, o no estándares.
- Ausencia de expresiones de cálculo numérico para especificar valores (por ejemplo
margin-left: 10% – 3em + 4px;).
Un borrador de la W3C para CSS3, proponecalc()para solventar esta limitación. - Las pseudo-clases 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 en banners, o ventana emergentes.
Ventajas
Algunas ventajas de utilizar CSS (u otro lenguaje de estilo) son:
- Control centralizado de la presentación de un sitio web completo con lo que se agiliza de forma considerable la actualización del mismo.
- Optimización del ancho de banda de la conexión, pues pueden definirse los mismos estilos para muchos elementos con un sólo selector; o porque un mismo archivo CSS puede servir para una multitud de documentos.
- Mejora en la accesibilidad del documento, pues con el uso del CSS se evitan antiguas prácticas necesarias para el control del diseño (como las tablas), y que iban en perjuicio de ciertos usos de los documentos, por parte de navegadores orientados a personas con algunas limitaciones sensoriales.
Styling HTML con CSS
CSS Posiciones para Cascading Style Sheets
Styling Puede ser añadido a elementos de HTML en 3 maneras:
- Inline - Utilizando un atributo de estilo en elementos de HTML
- Que utiliza interno <un elemento> de estilo en la sección <de cabeza> del HTML
- Que utiliza externo un o más externo CSS archivos
La manera más común para añadir styling, es para mantener los estilos en
separados CSS archivos. Pero, en este preceptoral, utilizamos internos styling, porque es más fácil de demostrar, y más fácil para
ti para te probarlo.
Puedes aprender
mucho más sobre CSS en nuestro CSS Preceptoral.
|
CSS Sintaxis
CSS styling Tiene la sintaxis siguiente:
Propiedad { de elemento:valor; propiedad:valor }
El elemento es un nombre de elemento del HTML . La
propiedad es un CSS propiedad. El valor
es un CSS valor.
Los estilos múltiples están separados con punto y coma.
Inline Styling (Inline CSS)
Inline styling Es útil para aplicar un estilo único a un
elemento de HTML solo:
Inline styling Utiliza el atributo de estilo.
Este inline styling cambia el color de texto de un solo encabezando:
Ejemplo
<h1 color="de estilo:azul">Esto es un Azul Encabezando</h1>
Te lo prueba »
Interno Styling (Interno CSS)
Una hoja de estilo interna puede soler definir un estilo común para todo
elementos de HTML en una página.
Interno styling está definido en <la sección>
de cabeza de una página de HTML, utilizando <un elemento>
de estilo:
Ejemplo
<!DOCTYPE
html>
<html>
<Fondo>
<de cuerpo>
de estilo {de cabeza-color:lightgrey}
h1 {color:azul}
p {color:cuerpo}
</de cabeza>
</de estilo>
<verde>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
<html>
<Fondo>
<de cuerpo>
de estilo {de cabeza-color:lightgrey}
h1 {color:azul}
p {color:cuerpo}
</de cabeza>
</de estilo>
<verde>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
Te lo prueba »
Externo Styling (Externo CSS)
Hoja de estilo externo es ideal
cuándo el estilo está aplicado a muchas páginas.
Con hojas de estilo externo, puedes
cambiar la mirada de un sitio de web entero por cambiar un archivo.
Los estilos externos están definidos en un externos CSS
archivo, y entonces enlazado a en <la sección> de cabeza
de una página de HTML:
Ejemplo
<!DOCTYPE
html>
<html>
<Enlace>
<de cabeza rel="stylesheet" href="estilos.css">
</Cuerpo>
<de cabeza>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
<html>
<Enlace>
<de cabeza rel="stylesheet" href="estilos.css">
</Cuerpo>
<de cabeza>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
Te lo prueba »
CSS Fuentes
El CSS propiedad de color define el color de texto para ser
utilizado para el elemento de HTML.
El CSS fuente-la propiedad familiar define la fuente para
ser utilizada para el elemento de HTML.
El CSS fuente-propiedad de medida define la medida de texto
para ser utilizado para el elemento de HTML.
Ejemplo
<!DOCTYPE
html>
<html>
<Estilo>
<de cabeza>
h1 {
color:azul;
fuente-familiar:verdana;
fuente-medida:300%;
}
p {
color:rojo;
fuente-familiar:courier;
fuente-medida:160%;
}
</cuerpo>
</de cabeza>
<del estilo>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
<html>
<Estilo>
<de cabeza>
h1 {
color:azul;
fuente-familiar:verdana;
fuente-medida:300%;
}
p {
color:rojo;
fuente-familiar:courier;
fuente-medida:160%;
}
</cuerpo>
</de cabeza>
<del estilo>
<h1>Esto es un encabezando</h1>
<p>Esto es un párrafo .</p>
</Cuerpo>
</html>
Te lo prueba »
El CSS Modelo de Caja
Cada elemento de HTML tiene una caja alrededor lo, incluso si no lo puedes
ver.
El CSS propiedad de frontera define una frontera visible
alrededor de un elemento de HTML:
Ejemplo
p {
Frontera:1px negro sólido;
}
Frontera:1px negro sólido;
}
Te lo prueba »
El CSS acolchando la propiedad define un acolchando
(espacial) dentro de la frontera:
Ejemplo
p {
Frontera:1px negro sólido;
acolchando:10px;
}
Frontera:1px negro sólido;
acolchando:10px;
}
Te lo prueba »
El CSS propiedad de margen define un margen (espacial)
fuera de la frontera:
Ejemplo
p {
Frontera:1px negro sólido;
acolchando:10px;
margen:30px;
}
Frontera:1px negro sólido;
acolchando:10px;
margen:30px;
}
Te lo prueba »
El CSS los ejemplos encima utilizan px para definir
medidas en píxeles.
|
El id Atributo
Todos los ejemplos encima utilizan CSS a elementos de HTML del estilo en una
manera general.
Para definir un estilo especial para uno elemento especial, primero añadir
un id atributo al elemento:
Ejemplo
<p id="p01">soy diferente</p>
Entonces definir un estilo diferente para el (identificado) elemento:
Ejemplo
p#p01 {
color:azul;
}
color:azul;
}
Te lo prueba »
El Atributo de clase
Para definir un estilo para un tipo especial (clase) de elementos, añadir un
atributo de clase al elemento:
Ejemplo
<p Error="de clase">soy diferente</p>
Ahora puedes definir un estilo
diferente para todos los elementos con la
clase especificada:
Ejemplo
p.Color {
de error:rojo;
}
de error:rojo;
}
Te lo prueba »
Uso id para
dirigir elementos solos. Clase de uso para dirigir grupos de elementos.
|

0 comentarios:
Publicar un comentario