En este caso de estudio veremos las formas más comunes de personalizar los colores y propiedades de los vínculos.
Requisitos del la clase: Saber lo básico de CSS embebido en documentos.
Caso 1: Aplicar una propiedad CSS a todos los vínculos en una página:
En una página web con CSS embebido las propiedades de los vínculos se declararían de esta forma:
(La letra "a" hace referencia la etiqueta de enlace)
a:link { propiedades }(Color del vinculo normal)
a:visited { propiedades } (Color de los vínculos visitados)
a:hover { propiedades } (Color cuando se pone encima del enlace el mouse)
a:active { propiedades } (Color cuando se da clic sobre el enlace)
Una forma más simplificada aplicada a colores:
a {color:#33FF66}
a:hover {color: #FF0000}
Donde "a" es la etiqueta del enlace y a:hover es el color que adquiere cuando se pone el puntero encima del enlace, esto significa que el color de los enlaces será #33FF66, mientras que el color cuando se pase el puntero será #FF0000.
Esto hará que todos lo vínculos tengan un solo estilo general de colo.
Caso 2 apuntado con Clases o Id a un vínculo:
En CSS podemos asociar un estilo a una etiqueta mediante clases o IDs, recordamos que un ID solo podemos aplicarlo a una sola etiqueta a la vez, esto es, que necesitamos crear diferentes reglas de ID para diferentes etiquetas, su sintaxis es id="nombreid" en CSS a todos los id se les antepone (#).
En cambio una clase la podemos aplicar a todas las etiquetas que necesitemos, su sintaxis class="nombreclase", en CSS a todas las clases se les antepone (.)
tanto las clases como las id se pueden aplicar a una misma etiqueta al mismo tiempo por ejemplo en el caso de la etiqueta de vinculo:
<a class="nombreclase" id="nombreid" href="http://sitio.com/">Vinculo</a>
Sintaxis Usando ID
CSS con ID: (La letra "a" después de #nombreid hace referencia la etiqueta de enlace)
#nombreid a {propiedades}
Etiqueta HTML:
<a id="nombreid" href="http://sitio.com/">Nombre sitio</a>
Sintaxis usando clases
CSS con Clases
.nombreclase a {propiedades}
Etiqueta HTML
<a class="nombreclase" id="nombreid" href="http://sitio.com/">Nombre sitio</a>
Ejemplo práctico
CSS con ID
(Note que para crear diferentes reglas para una misma clase se pone el nombre de la ID + etiqueta):
#nombreid a {color:#ffffff;}
#nombreid a:hoover {color:#fff666;}
Etiqueta HTML
<a id="nombreid" href="http://sitio.com/">O por ejemplo usando una DIV u otra etiqueta contenedora o de linea:
<div id="nombreid"><a href="http://sitio.com/">Vinculo</a></div>
Este es el caso más importante, pues indica que una DIV con un ID asigna y que contenga etiquetas de enlaces como por ejemplo:
<div id="nombreid">
<a href="http://sitio1.com/">Sitio 1</a>
<a href="http://sitio2.com/">Sitio 2</a>
<a href="http://sitio3.com/">Sitio 3</a>
</div>
Tendrá un color heredado de la DIV sin asignar a cada enlace una Clase o ID.
Caso 3 Jerarquias en CSS
El tema de la Jerarquias es lo más importante que veremos en CSS, es una manera que ahorra tiempo y reduce la necesidad de pasos innecesarios, por ejemplo, la creación de reglas CSS innecesarias, entendemos por reglas cualquier ID o Clase nueva para gestionar una etiqueta.
Sintaxis demostrativa:
Imagine que tenemos que definir colores distintos a un grupo de enlaces dentro de una etiqueta DIV distribuidos en párrafos (P) y listas (UL), donde incluso tenemos una lista embebida dentro de otra, ¿como lo harían sin usar clases?:
<div>La respuesta es realmente simple usando la jerarquia de la equiqueta crearemos una regla para cada etiqueta según su orden:
<p><a href="http://misitio.com">Vinculo 1</a> </p>
<p><a href="http://misitio.com">Vinculo 2</a> </p>
<ul>
<li><a href="http://misitio.com">Vinculo 3 </a></li>
<li><a href="http://misitio.com">Vinculo 4</a>
<ul>
<li><a href="http://misitio.com">Vinculo 3 </a></li>
<li><a href="http://misitio.com">Vinculo 4</a> </li>
</ul>
</li>
</ul>
</div>
Para los enlaces dentro de una etiqueta párrafo (p) dentro de la DIV:Si han notado, el truco consiste en definir las etiqueta según van contenidas:
div p a {propiedades}
div p a:hover {propiedades}
Para la lista (UL) de nivel superior dentro de la DIV
div ul a {propiedades}
div ul a:hover {propiedades}
Para la lista embebida dentro de la anterior lista dentro de la DIV:
div ul ul a {propiedades}
div ul ul a:hover {propiedades}
Incluso si queremos ponerla dentro de los componente de la lista (LI) para definir un padding o un margin y otras propiedades:
div ul ul li a {propiedades}
div ul ul li a:hover {propiedades}
<div>Por tanto en un ejemplo práctico:
<ul><li><a></a></li>
<ul><li><a></a></li>
</ul>
</ul>
</div>
CSS (todo el código debe usarse los /* texto */ es la forma en que se comenta en CSS )
/* parrafos dentro de div */
div p a {color: #fff;}
div p a:hover {color: fff666;}
/* lista dentro de div */
div ul a {color:#;}
div ul a:hover {color:#;}
/*lista dentro de otra lista dentro de div */
div ul ul a {color:#;}
div ul ul a:hover {color:#;}
HTML
<div>Por último si usáramos una Clase y un ID asignado a la div sería exactamente los mismo salvo por el nombre de la id o clase anteponiendo (#) y (.) respectivamente:
<p><a href="http://misitio.com">Vinculo 1</a> </p>
<p><a href="http://misitio.com">Vinculo 2</a> </p>
<ul>
<li><a href="http://misitio.com">Vinculo 3 </a></li>
<li><a href="http://misitio.com">Vinculo 4</a>
<ul>
<li><a href="http://misitio.com">Vinculo 3 </a></li>
<li><a href="http://misitio.com">Vinculo 4</a> </li>
</ul>
</li>
</ul>
</div>
CSS:
#nombreid div p a {color: #fff;}
#nombreid div p a:hover {color: fff666;} [... etcétera]
HTML:
<div id="nombreid">
<p><a href="http://misitio.co [... etcétera] </div>
Como ven, hemos usado el mismo id para todas las etiquetas dentro del DIV y no hemos tenido que hacer una regla (asignar una clase o ID) a cada uno indepedinetemente.
Pueden ver un ejemplo aquí:
Ver ejemplo de enlaces jerarquicos.
Dudas y aclaraciones en comentarios, dado que no he tenido tiempo de revisar el articulo, cualquier error no duden en señalarlo.
Comentarios y Consultas
Los mensajes serán revisados a veces. No te olvides que soy una persona, no se trata de faltar al respeto, todos tenemos opiniones, no hay que enojarse.
Puedes marcar Notificarme para recibir la notificación de la respuesta.