SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
IDENTIFICACION DEL ELNGUAJE CSS, DEFINICION DE CSS Y ESPECIFICACION OFICIAL
Entramos en materia con los antecedentes de CSS, las razones por las que se
han desarrollado las hojas de estilo en cascada, y los objetivos que trata de
cumplir.
El lenguaje HTML está limitado a la hora de aplicarle forma a un documento. Esto
es así porque fué concebido para otros usos (científicos sobretodo), distinto a los
actuales, mucho más amplios.
Para solucionar estos problemas los diseñadores han utilizado técnicas tales como
la utilización de tablas imagenes transparentes para ajustarlas, utilización de
etiquetas que no son estádares del HTML y otras. Estas "trampas" han causado a
menudo problemas en las páginas a la hora de su visualizaciónen distintas
plataformas.
En estas páginas de CSS pretendemos dar a conocer la tecnología con un
enfoque práctico para que en pocos capítulos podáis usar las CSS de una manera
depurada, reflejando toda nuestra experiencia en su uso. No pretendendemos
explorar todos los aspectos de la tecnología ya que para realizar esto
necesitariamos un la extensión de un libro entero.
FUNCIONAMIENTO BASICO Y FORMAS DE INCLUCION DE CADA PROPIEDAD
Funcionamiento básico de CSS
Antes de que se generalizara el uso de CSS, los diseñadores de páginas web
utilizaban etiquetas HTML especiales para modificar el aspecto de los elementos
de la página. El siguiente ejemplo muestra una página HTML con estilos definidos
sin utilizar CSS:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-
8859-1" />
<title>Ejemplo de estilos sin CSS</title>
</head>
<body>
<h1><font color="red" face="Arial" size="5">Titular de la
página</font></h1>
<p><font color="gray" face="Verdana" size="2">Un párrafo de
texto no muy largo.</font></p>
</body>
</html>
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.
La solución que propone CSS es mucho mejor, como se puede ver en el siguiente
ejemplo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-
8859-1" />
<title>Ejemplo de estilos con CSS</title>
<style type="text/css">
h1 { color: red; font-family: Arial; font-size: large; }
p { color: gray; font-family: Verdana; font-size: medium; }
</style>
</head>
<body>
<h1>Titular de la página</h1>
<p>Un párrafo de texto no muy largo.</p>
</body>
</html>
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.
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.
Definir los estilos de esta forma ahorra miles de etiquetas y millones de atributos
respecto a la solución anterior, pero sigue sin ser una solución ideal. Como los
estilos CSS sólo se aplican en la página que los incluye, si queremos que las
10.000 páginas diferentes del sitio tengan el mismo aspecto, se deberían copiar
10.000 veces esas mismas reglas CSS. Más adelante se explica la solución que
propone CSS para evitar este problema.
USO DE COMENTARIOS Y SINTAXIS DE LA DEFICION DE CADA PROPIEDAD
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;.1
En el CSS, los selectors marcarán qué elementos se verán afectados por cada
bloque de estilo que les siga, pudiendo 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.2
Abajo puede verse un ejemplo de una parte de una hoja de XXXXXXXXXXX
estilos CSS:
Veamos un ejemplo donde el selector p indica que todos los
elementos p del documento HTML serán afectados por la declaración
cuya propiedad es color y su valor es blue.
p{color:blue}
Si el valor está compuesto por varias palabras, debemos definirlo entre
comillas.
p{font-family:"Times New Roman"}
Si deseas especificar más de una propiedad, deberás separarlas con un
punto y coma(;).
h1{color:red; text-align:center}
Para definir los estilos de forma más clara y fácil de leer, puedes
describir cada propiedad en diferentes líneas.
p
{
color:red;
text-align:center;
}
Si deseas definir una misma propiedad para varios selectores, solo debe
agruparlos separándolos con una coma(,)
p, h1, h2, h3
{
color:blue;
font-family:Arial;
}
El selector class
Con el selector class se pueden definir diferentes estilos para un mismo
elemento HTML.
Por ejemplo el elemento p puede ser de color azul o de color rojo. El
valor del selector class debe ir antepuesto por un punto (.)
Sintaxis
p.azul {color:blue}
p.rojo {color:red}
Ejemplo
Y así se vería en el documento HTML.
Código
<head>
<style type="text/css">
p.azul {color:blue}
p.rojo {color:red}
</style>
</head>
<body>
<p class="azul">Este texto es de color
azul</p>
<p class="rojo">Este texto es de color
rojo</p>
</body>
Resultado
Este texto es de color azul
Este texto es de color rojo
Con el selector class también podemos definir diferentes estilos para
cualquier elemento HTML.
Por ejemplo definimos un class rojo y uno azul.
Sintaxis
.azul {color:blue}
.rojo {color:red}
Ejemplo
Por ejemplo definimos un class rojo y lo utilizamos en dos ocasiones.
Código
<head>
<style type="text/css">
.azul {color:blue}
.rojo {color:red}
</style>
</head>
Resultado
Este título es de color rojo
Este texto es de color azul
Y este texto es de color rojo
<body>
<h3 class="rojo">Este título es de color
rojo</h3>
<p class="azul">Este texto es de color
azul</p>
<p class="rojo">Y este texto es de color
rojo</p>
</body>
El selector ID
El selector id se utiliza para definir un atributo el cual tiene un valor
único en todo el documento. Hacemos referencia a él anteponiendo el
símbolo "#".
Sintaxis
#centrado {text-align:center} /* afecta a cualquier elemento que lo
use */
h3#subrayado {text-decoration:underline} /* afecta solo al
elemento h3 */
Ejemplo
Definimos un id general y uno para un selector en particular.
Código
<head>
<style type="text/css">
#centrado {text-align:center}
h3#subrayado {text-decoration:underline}
</style>
</head>
<body>
<h3 id="centrado">Título centrado</h3>
<h3 id="subrayado">Título
subrayado</h3>
<p id="centrado">Texto centrado</p>
Resultado
Título centrado
Título subrayado
Texto centrado
El selector id no afecta al elemento p
ya que el mismo no ha sido definido
como texto subrayado
<p id="subrayado">El selector id no afecta
al elemento p ya que el mismo no ha sido
definido como texto subrayado</p>
</body>
SELECTORES, AGRUPACION DE REGLAS Y HERRAMIENTAS
Agrupación de reglas
Cuando se crean archivos CSS complejos con decenas o cientos de reglas, es
habitual que los estilos que se aplican a un mismo selector se definan en
diferentes reglas:
h1 { color: red; }
...
h1 { font-size: 2em; }
...
h1 { font-family: Verdana; }
Las tres reglas anteriores establecen el valor de tres propiedades diferentes de los
elementos <h1>. Antes de que el navegador muestre la página, procesa todas las
reglas CSS de la página para tener en cuenta todos los estilos definidos para cada
elemento.
Cuando el selector de dos o más reglas CSS es idéntico, se pueden agrupar las
declaraciones de las reglas para hacer las hojas de estilos más eficientes:
h1 {
color: red;
font-size: 2em;
font-family: Verdana;
}
El ejemplo anterior tiene el mismo efecto que las tres reglas anteriores, pero es
más eficiente y es más fácil de modificar y mantener por parte de los diseñadores.
Como CSS ignora los espacios en blanco y las nuevas líneas, también se pueden
agrupar las reglas de la siguiente forma:
h1 { color: red; font-size: 2em; font-family: Verdana; }
Si se quiere reducir al máximo el tamaño del archivo CSS para mejorar
ligeramente el tiempo de carga de la página web, también es posible indicar la
regla anterior de la siguiente forma:
h1 {color:red;font-size:2em;font-family:Verdana;}
COLICIONES DE ESTILOS, UNIDADES DE MEDIDAS Y COLORES
Colisiones de estilos
En las hojas de estilos complejas, es habitual que varias reglas CSS se apliquen a
un mismo elemento HTML. El problema de estas reglas múltiples es que se
pueden dar colisiones como la del siguiente ejemplo:
p { color: red; }
p { color: blue; }
<p>...</p>
¿De qué color se muestra el párrafo anterior? CSS tiene un mecanismo de
resolución de colisiones muy complejo y que tiene en cuenta el tipo de hoja de
estilo que se trate (de navegador, de usuario o de diseñador), la importancia de
cada regla y lo específico que sea el selector.
El método seguido por CSS para resolver las colisiones de estilos se muestra a
continuación:
1. Determinar todas las declaraciones que se aplican al elemento para el medio
CSS seleccionado.
2. Ordenar las declaraciones según su origen (CSS de navegador, de usuario o
de diseñador) y su prioridad (palabra clave !important).
3. Ordenar las declaraciones según lo específico que sea el selector. Cuanto
más genérico es un selector, menos importancia tienen sus declaraciones.
4. Si después de aplicar las normas anteriores existen dos o más reglas con la
misma prioridad, se aplica la que se indicó en último lugar.
Hasta que no se expliquen más adelante los conceptos de tipo de hoja de estilo y
la prioridad, el mecanismo simplificado que se puede aplicar es el siguiente:
1. Cuanto más específico sea un selector, más importancia tiene su regla
asociada.
2. A igual especificidad, se considera la última regla indicada.
Como en el ejemplo anterior los dos selectores son idénticos, las dos reglas tienen
la misma prioridad y prevalece la que se indicó en último lugar, por lo que el
párrafo se muestra de color azul.
En el siguiente ejemplo, la regla CSS que prevalece se decide por lo específico
que es cada selector:
p { color: red; }
p#especial { color: green; }
* { color: blue; }
<p id="especial">...</p>
Al elemento <p> se le aplican las tres declaraciones. Como su origen y su
importancia es la misma, decide la especificidad del selector. El selector * es el
menos específico, ya que se refiere a "todos los elementos de la página". El
selector p es poco específico porque se refiere a "todos los párrafos de la página".
Por último, el selector p#especial sólo hace referencia a "el párrafo de la página
cuyo atributo id sea igual a especial". Como el selector p#especial es el más
específico, su declaración es la que se tiene en cuenta y por tanto el párrafo se
muestra de color verde.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Capítulo 2 css
Capítulo 2 cssCapítulo 2 css
Capítulo 2 css
 
Guia de css para principiantes
Guia de css para principiantesGuia de css para principiantes
Guia de css para principiantes
 
Hojas de estilo CSS
Hojas de estilo CSSHojas de estilo CSS
Hojas de estilo CSS
 
Qué es CSS y con qué se come?
Qué es CSS y con qué se come?Qué es CSS y con qué se come?
Qué es CSS y con qué se come?
 
CSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en CascadaCSS - Hojas de Estilo en Cascada
CSS - Hojas de Estilo en Cascada
 
Las hojas de estilo (css)
Las hojas de estilo (css)Las hojas de estilo (css)
Las hojas de estilo (css)
 
Manual de Introducción a CSS3
Manual de Introducción a CSS3Manual de Introducción a CSS3
Manual de Introducción a CSS3
 
1. Introducción a las Hojas de estilo (CSS)
1. Introducción a las Hojas de estilo (CSS)1. Introducción a las Hojas de estilo (CSS)
1. Introducción a las Hojas de estilo (CSS)
 
Css1
Css1Css1
Css1
 
Hojas de estilos css
Hojas de estilos cssHojas de estilos css
Hojas de estilos css
 
Que es CSS? Presentacion Basica para CSS
Que es CSS? Presentacion Basica para CSSQue es CSS? Presentacion Basica para CSS
Que es CSS? Presentacion Basica para CSS
 
Conceptos Básicos CSS
Conceptos Básicos CSSConceptos Básicos CSS
Conceptos Básicos CSS
 
2. Introducción a las Hojas de estilo (CSS)
2. Introducción a las Hojas de estilo (CSS)2. Introducción a las Hojas de estilo (CSS)
2. Introducción a las Hojas de estilo (CSS)
 
Manual de css......jpg
Manual de css......jpgManual de css......jpg
Manual de css......jpg
 
Css básico
Css básicoCss básico
Css básico
 
Manual de css hojas de estilo
Manual de css hojas de estiloManual de css hojas de estilo
Manual de css hojas de estilo
 
TAREA DEL CSS
TAREA DEL CSSTAREA DEL CSS
TAREA DEL CSS
 
Guia6
Guia6Guia6
Guia6
 

Destacado

Destacado (20)

skydrive_word_doc
skydrive_word_docskydrive_word_doc
skydrive_word_doc
 
T.p. 11 cuatrinomio cubo perfecto
T.p. 11  cuatrinomio cubo perfectoT.p. 11  cuatrinomio cubo perfecto
T.p. 11 cuatrinomio cubo perfecto
 
Tarea nanis abril 16
Tarea nanis abril 16Tarea nanis abril 16
Tarea nanis abril 16
 
Guia n° 12
Guia n° 12Guia n° 12
Guia n° 12
 
gatwick hotel parking
gatwick hotel parking gatwick hotel parking
gatwick hotel parking
 
cheap gatwick airport parking
cheap gatwick airport parking cheap gatwick airport parking
cheap gatwick airport parking
 
Vocabulario 1
Vocabulario 1Vocabulario 1
Vocabulario 1
 
Acesso Total
Acesso TotalAcesso Total
Acesso Total
 
Relatorio posto 1 johnson's baby
Relatorio posto 1 johnson's babyRelatorio posto 1 johnson's baby
Relatorio posto 1 johnson's baby
 
Test presentation till slideshare dot net
Test presentation till slideshare dot netTest presentation till slideshare dot net
Test presentation till slideshare dot net
 
skydrive_word_doc
skydrive_word_docskydrive_word_doc
skydrive_word_doc
 
Local masculina Volta a Peu Antella
Local masculina Volta a Peu AntellaLocal masculina Volta a Peu Antella
Local masculina Volta a Peu Antella
 
Trabajo de com
Trabajo de comTrabajo de com
Trabajo de com
 
Clean me moorgate 50 offer final
Clean me moorgate 50 offer finalClean me moorgate 50 offer final
Clean me moorgate 50 offer final
 
DELGADO JAIRO PROJECT
DELGADO JAIRO PROJECTDELGADO JAIRO PROJECT
DELGADO JAIRO PROJECT
 
Pevmicros1
Pevmicros1Pevmicros1
Pevmicros1
 
3 manipulacion de_la_hoja_decalculos_semana_5
3 manipulacion de_la_hoja_decalculos_semana_53 manipulacion de_la_hoja_decalculos_semana_5
3 manipulacion de_la_hoja_decalculos_semana_5
 
APAS - painel de_mercado_e_consumo_2007
APAS - painel de_mercado_e_consumo_2007APAS - painel de_mercado_e_consumo_2007
APAS - painel de_mercado_e_consumo_2007
 
skydrive_word_doc
skydrive_word_docskydrive_word_doc
skydrive_word_doc
 
Microempresa
MicroempresaMicroempresa
Microempresa
 

Similar a Investigacion 1.3 samanta (20)

Hojas de estilo css
Hojas de estilo cssHojas de estilo css
Hojas de estilo css
 
Manual de css
Manual de cssManual de css
Manual de css
 
Css1
Css1Css1
Css1
 
Organigramas John Jayro
Organigramas John JayroOrganigramas John Jayro
Organigramas John Jayro
 
Gordo
GordoGordo
Gordo
 
Css hojas de-estilo
Css hojas de-estiloCss hojas de-estilo
Css hojas de-estilo
 
programacion
programacionprogramacion
programacion
 
Paginas web css
Paginas web cssPaginas web css
Paginas web css
 
Hojas de estilo css
Hojas de estilo cssHojas de estilo css
Hojas de estilo css
 
Manual css
Manual cssManual css
Manual css
 
Manual css 01
Manual css 01Manual css 01
Manual css 01
 
Esilo css
Esilo cssEsilo css
Esilo css
 
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspotDEBER HOJA DE ESTILO (CSS) blog blogger blogspot
DEBER HOJA DE ESTILO (CSS) blog blogger blogspot
 
Pp css
Pp cssPp css
Pp css
 
Tutorial css
Tutorial cssTutorial css
Tutorial css
 
TUTORIAL CSS
TUTORIAL  CSSTUTORIAL  CSS
TUTORIAL CSS
 
Manual de introducción a CSS3
Manual de introducción a CSS3Manual de introducción a CSS3
Manual de introducción a CSS3
 
¿Qué es CSS?
¿Qué es CSS?¿Qué es CSS?
¿Qué es CSS?
 
css
csscss
css
 
C3 lenguaje de presentación.
C3 lenguaje de presentación.C3 lenguaje de presentación.
C3 lenguaje de presentación.
 

Investigacion 1.3 samanta

  • 1. IDENTIFICACION DEL ELNGUAJE CSS, DEFINICION DE CSS Y ESPECIFICACION OFICIAL Entramos en materia con los antecedentes de CSS, las razones por las que se han desarrollado las hojas de estilo en cascada, y los objetivos que trata de cumplir. El lenguaje HTML está limitado a la hora de aplicarle forma a un documento. Esto es así porque fué concebido para otros usos (científicos sobretodo), distinto a los actuales, mucho más amplios. Para solucionar estos problemas los diseñadores han utilizado técnicas tales como la utilización de tablas imagenes transparentes para ajustarlas, utilización de etiquetas que no son estádares del HTML y otras. Estas "trampas" han causado a menudo problemas en las páginas a la hora de su visualizaciónen distintas plataformas. En estas páginas de CSS pretendemos dar a conocer la tecnología con un enfoque práctico para que en pocos capítulos podáis usar las CSS de una manera depurada, reflejando toda nuestra experiencia en su uso. No pretendendemos explorar todos los aspectos de la tecnología ya que para realizar esto necesitariamos un la extensión de un libro entero. FUNCIONAMIENTO BASICO Y FORMAS DE INCLUCION DE CADA PROPIEDAD Funcionamiento básico de CSS Antes de que se generalizara el uso de CSS, los diseñadores de páginas web utilizaban etiquetas HTML especiales para modificar el aspecto de los elementos de la página. El siguiente ejemplo muestra una página HTML con estilos definidos sin utilizar CSS: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso- 8859-1" /> <title>Ejemplo de estilos sin CSS</title>
  • 2. </head> <body> <h1><font color="red" face="Arial" size="5">Titular de la página</font></h1> <p><font color="gray" face="Verdana" size="2">Un párrafo de texto no muy largo.</font></p> </body> </html> 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. La solución que propone CSS es mucho mejor, como se puede ver en el siguiente ejemplo: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>
  • 3. <meta http-equiv="Content-Type" content="text/html; charset=iso- 8859-1" /> <title>Ejemplo de estilos con CSS</title> <style type="text/css"> h1 { color: red; font-family: Arial; font-size: large; } p { color: gray; font-family: Verdana; font-size: medium; } </style> </head> <body> <h1>Titular de la página</h1> <p>Un párrafo de texto no muy largo.</p> </body> </html> 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. 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. Definir los estilos de esta forma ahorra miles de etiquetas y millones de atributos respecto a la solución anterior, pero sigue sin ser una solución ideal. Como los
  • 4. estilos CSS sólo se aplican en la página que los incluye, si queremos que las 10.000 páginas diferentes del sitio tengan el mismo aspecto, se deberían copiar 10.000 veces esas mismas reglas CSS. Más adelante se explica la solución que propone CSS para evitar este problema. USO DE COMENTARIOS Y SINTAXIS DE LA DEFICION DE CADA PROPIEDAD 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;.1 En el CSS, los selectors marcarán qué elementos se verán afectados por cada bloque de estilo que les siga, pudiendo 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.2 Abajo puede verse un ejemplo de una parte de una hoja de XXXXXXXXXXX estilos CSS: Veamos un ejemplo donde el selector p indica que todos los elementos p del documento HTML serán afectados por la declaración cuya propiedad es color y su valor es blue. p{color:blue} Si el valor está compuesto por varias palabras, debemos definirlo entre comillas. p{font-family:"Times New Roman"}
  • 5. Si deseas especificar más de una propiedad, deberás separarlas con un punto y coma(;). h1{color:red; text-align:center} Para definir los estilos de forma más clara y fácil de leer, puedes describir cada propiedad en diferentes líneas. p { color:red; text-align:center; } Si deseas definir una misma propiedad para varios selectores, solo debe agruparlos separándolos con una coma(,) p, h1, h2, h3 { color:blue; font-family:Arial; } El selector class Con el selector class se pueden definir diferentes estilos para un mismo elemento HTML. Por ejemplo el elemento p puede ser de color azul o de color rojo. El valor del selector class debe ir antepuesto por un punto (.) Sintaxis p.azul {color:blue} p.rojo {color:red}
  • 6. Ejemplo Y así se vería en el documento HTML. Código <head> <style type="text/css"> p.azul {color:blue} p.rojo {color:red} </style> </head> <body> <p class="azul">Este texto es de color azul</p> <p class="rojo">Este texto es de color rojo</p> </body> Resultado Este texto es de color azul Este texto es de color rojo Con el selector class también podemos definir diferentes estilos para cualquier elemento HTML. Por ejemplo definimos un class rojo y uno azul. Sintaxis .azul {color:blue} .rojo {color:red} Ejemplo Por ejemplo definimos un class rojo y lo utilizamos en dos ocasiones. Código <head> <style type="text/css"> .azul {color:blue} .rojo {color:red} </style> </head> Resultado Este título es de color rojo Este texto es de color azul Y este texto es de color rojo
  • 7. <body> <h3 class="rojo">Este título es de color rojo</h3> <p class="azul">Este texto es de color azul</p> <p class="rojo">Y este texto es de color rojo</p> </body> El selector ID El selector id se utiliza para definir un atributo el cual tiene un valor único en todo el documento. Hacemos referencia a él anteponiendo el símbolo "#". Sintaxis #centrado {text-align:center} /* afecta a cualquier elemento que lo use */ h3#subrayado {text-decoration:underline} /* afecta solo al elemento h3 */ Ejemplo Definimos un id general y uno para un selector en particular. Código <head> <style type="text/css"> #centrado {text-align:center} h3#subrayado {text-decoration:underline} </style> </head> <body> <h3 id="centrado">Título centrado</h3> <h3 id="subrayado">Título subrayado</h3> <p id="centrado">Texto centrado</p> Resultado Título centrado Título subrayado Texto centrado El selector id no afecta al elemento p ya que el mismo no ha sido definido como texto subrayado
  • 8. <p id="subrayado">El selector id no afecta al elemento p ya que el mismo no ha sido definido como texto subrayado</p> </body> SELECTORES, AGRUPACION DE REGLAS Y HERRAMIENTAS Agrupación de reglas Cuando se crean archivos CSS complejos con decenas o cientos de reglas, es habitual que los estilos que se aplican a un mismo selector se definan en diferentes reglas: h1 { color: red; } ... h1 { font-size: 2em; } ... h1 { font-family: Verdana; } Las tres reglas anteriores establecen el valor de tres propiedades diferentes de los elementos <h1>. Antes de que el navegador muestre la página, procesa todas las reglas CSS de la página para tener en cuenta todos los estilos definidos para cada elemento. Cuando el selector de dos o más reglas CSS es idéntico, se pueden agrupar las declaraciones de las reglas para hacer las hojas de estilos más eficientes: h1 { color: red; font-size: 2em; font-family: Verdana; } El ejemplo anterior tiene el mismo efecto que las tres reglas anteriores, pero es más eficiente y es más fácil de modificar y mantener por parte de los diseñadores.
  • 9. Como CSS ignora los espacios en blanco y las nuevas líneas, también se pueden agrupar las reglas de la siguiente forma: h1 { color: red; font-size: 2em; font-family: Verdana; } Si se quiere reducir al máximo el tamaño del archivo CSS para mejorar ligeramente el tiempo de carga de la página web, también es posible indicar la regla anterior de la siguiente forma: h1 {color:red;font-size:2em;font-family:Verdana;} COLICIONES DE ESTILOS, UNIDADES DE MEDIDAS Y COLORES Colisiones de estilos En las hojas de estilos complejas, es habitual que varias reglas CSS se apliquen a un mismo elemento HTML. El problema de estas reglas múltiples es que se pueden dar colisiones como la del siguiente ejemplo: p { color: red; } p { color: blue; } <p>...</p> ¿De qué color se muestra el párrafo anterior? CSS tiene un mecanismo de resolución de colisiones muy complejo y que tiene en cuenta el tipo de hoja de estilo que se trate (de navegador, de usuario o de diseñador), la importancia de cada regla y lo específico que sea el selector. El método seguido por CSS para resolver las colisiones de estilos se muestra a continuación: 1. Determinar todas las declaraciones que se aplican al elemento para el medio CSS seleccionado. 2. Ordenar las declaraciones según su origen (CSS de navegador, de usuario o de diseñador) y su prioridad (palabra clave !important). 3. Ordenar las declaraciones según lo específico que sea el selector. Cuanto más genérico es un selector, menos importancia tienen sus declaraciones.
  • 10. 4. Si después de aplicar las normas anteriores existen dos o más reglas con la misma prioridad, se aplica la que se indicó en último lugar. Hasta que no se expliquen más adelante los conceptos de tipo de hoja de estilo y la prioridad, el mecanismo simplificado que se puede aplicar es el siguiente: 1. Cuanto más específico sea un selector, más importancia tiene su regla asociada. 2. A igual especificidad, se considera la última regla indicada. Como en el ejemplo anterior los dos selectores son idénticos, las dos reglas tienen la misma prioridad y prevalece la que se indicó en último lugar, por lo que el párrafo se muestra de color azul. En el siguiente ejemplo, la regla CSS que prevalece se decide por lo específico que es cada selector: p { color: red; } p#especial { color: green; } * { color: blue; } <p id="especial">...</p> Al elemento <p> se le aplican las tres declaraciones. Como su origen y su importancia es la misma, decide la especificidad del selector. El selector * es el menos específico, ya que se refiere a "todos los elementos de la página". El selector p es poco específico porque se refiere a "todos los párrafos de la página". Por último, el selector p#especial sólo hace referencia a "el párrafo de la página cuyo atributo id sea igual a especial". Como el selector p#especial es el más específico, su declaración es la que se tiene en cuenta y por tanto el párrafo se muestra de color verde.