Programacion y Diseño Web

Hemos migrado nuestro sitio web espera y en seguida te llevaremos al Nuevo Sitio!

SCRIPT BC

Si no te direcciona en 5 seg da clic aquí

martes, 9 de julio de 2013

Nuevos Selectores en CSS3 - Lección 3.1

Nuevos Selectores en CSS3

Ahora nosotros podemos aplicar estilos específicamente a cualquier elemento que nosotros deseemos.
Anteriormente ya vimos los selectores con la etiqueta, con class y con id.
Ahora veremos unos mas específicos, que nos permiten seleccionar cualquier elemento.

Selectores por Atributo

Imaginemos una etiqueta "input" puede asumir diferentes formas de acuerdo al atributo "type" el cual puede recibir diferentes valores como: (text, checkbox, radio, etc.) entonces mediante los selectores de atributos podemos especificar un determinado tipo de valor.
Por ejemplo:
  • Si nosotros aplicáramos estilos a la etiqueta "input", todas aquellas etiquetas input de diferentes tipos serán afectadas
  • Con el selector de atributos podemos especificar que tipo de etiquetas input seran modificadas
La sintaxis sería la siguiente: 
input[type="text"]{
       background-color: #CCCCFF;
}
Este selector se puede hacer sin el uso de la etiqueta, aunque pueden existir errores si usted ocupa un atributo muy general


not

Pueden existir ocasiones donde usted desee realizar una selección inversa.
Imagine que usted quiere aplicar un estilo a todos los párrafos, excepto a aquellos que no pertenecen a una clase específica (para este ejemplo la clase se llamará "normal").
p:not(.normal) {
       border: 1px solid red;
}
El estilo anterior va a darle un borde rojo a todos los párrafos, excepto a los que esten dentro de la clase "normal"


nth-child

El selector "nth-child" permite seleccionar uno o mas elementos en un grupo.
<!DOCTYPE html>
<html lang="es">
      <head>
           <style>
                 p:nth-child(3){
                 background:#ff0000;
                 }
           </style>
      </head>
      <body>
           <h1>T&iacute;tulo</h1>
           <p>Primer p&aacute;rrafo</p>
           <p>Segundo p&aacute;rrafo</p>
           <p>Tercer p&aacute;rrafo</p>
           <p>Cuarto p&aacute;rrafo</p>
      </body>
</html>
Este selector puede recibir formulas algebraicas para referir su valor como an+b.

<!DOCTYPE html>
<html lang="es">
      <head>
           <style>
                 p:nth-child(2n){
                 background:#ff0000;
                 }
           </style>
      </head>
      <body>
           <h1>T&iacute;tulo</h1>
           <p>Primer p&aacute;rrafo</p>
           <p>Segundo p&aacute;rrafo</p>
           <p>Tercer p&aacute;rrafo</p>
           <p>Cuarto p&aacute;rrafo</p>
      </body>
</html>
En el ejemplo anterior cada dos elementos será afectado por el estilo
Otra fórmula similar puede ser:
<!DOCTYPE html>
<html lang="es">
      <head>
           <style>
                 p:nth-child(2n+1){
                 background:#ff0000;
                 }
           </style>
      </head>
      <body>
           <h1>T&iacute;tulo</h1>
           <p>Primer p&aacute;rrafo</p>
           <p>Segundo p&aacute;rrafo</p>
           <p>Tercer p&aacute;rrafo</p>
           <p>Cuarto p&aacute;rrafo</p>
      </body>
</html>
También exsten una serie de palabras reservadas que pueden hacer referencias específicas, en estos casos CSS emplea las palabras even y odd, los cuales se emplean juntos para colocar colores alternos a una tabla grande por ejemplo.
p:nth-child(even){
background-color: red;
p:nth-child(odd){
background-color: red;
También existen variaciones en la forma de escribir este selector:

  • :nth-last-child(N): Trabaja igual que el ":nth-child:", excepto que la cuanta comienza del ultimo al primero
  • :nth-of-type(N) Trabaja igual que el ":nth-child:", excepto que discrimina un tipo específico.
  • last-child: Este selector, afecta al último elemento
  • last-nth-of-type(N): Trabaja igual que el ":nth-of-type(N):" solo que la cuenta comienza del último al primero
  • first-child: Este selector, afecta al primer elemento 

No hay comentarios:

Publicar un comentario

Con la tecnología de Blogger.