Trucos avanzados con CSS

Valoración del artículo:
Vamos a ver una serie de técnicas con hojas de estilo, imprescindibles para utilizar esta tecnología con toda su potencia.
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Las hojas de estilos son un tema largo del que se han escrito libros enteros. Nosotros nos centramos en los temas prácticos y por ello vamos a acabar ya con este capítulo, en unos cuantos puntos

Definir estilos utilizando clases

Las clases nos sirven para crear definiciones de estilos que se pueden utilizar repetidas veces.

Una clase se puede definir entre las etiquetas <STYLE> (en la cabecera del documento), o en un archivo externo a la página. Para definirlas utilizamos la siguiente sintaxis, un punto seguido del nombre de la clase y entre llaves los atributos de estilos deseados. De esta manera:

.nombredelaclase {atributo: valor;atributo2:valor2; ...}

Una vez tenemos una clase, podemos utilizarla en cualquier etiqueta HTML. Para ello utilizaremos el atributo class, poniéndole como valor el nombre de la clase, de esta forma:

<ETIQUETA class="nombredelaclase">

Ejemplo de la utilización de clases

<html>
<head>
 <title>Ejemplo de la utilizaci&oacute;n de clases</title>
 <STYLE type="text/css">
  .fondonegroletrasblancas {background-color:black;color:white;font-size:12;font-family:arial}
  .letrasverdes {color:#009900}
 </STYLE>
</head>

<body>
<h1 class=letrasverdes>Titulo 1</h1>
<h1 class=fondonegroletrasblancas>Titulo 2</h1>

<p class=letrasverdes>
Esto es un p&aacute;rrafo con estilo de letras verdes</p>
<p class=fondonegroletrasblancas>
Esto es un p&aacute;rrafo con estilo de fondo negro y las letras blancas. Es todo!</p>
</body>
</html>


Ver el ejemplo anterior

Estilo en los enlaces

Una técnica muy habitual, que se puede realizar utilizando las hojas de estilo en cascada y no se podía en HTML, es la definición de estilos en los enlaces, quitandoles el subrayado o hacer enlaces en la misma página con distintos colores.

Para aplicar estilo a los enlaces debemos definirlos para los distintos tipos de enlaces que existen (visitados, activos...). Utilizaremos la siguiente sintaxis, en la declaración de estilos global de la página (<STYLE>) o del sitio (Definición en un archivo externo):

Enlaces normales
A:link {atributos}

Enlaces visitados
A:visited {atributos}

Enlaces activos (Los enlaces están activos en el presiso momento en que se pincha sobre ellos)
A:active {atributos}

Enlaces hover (Cuando el ratón está encima de ellos, solo funciona en ieplorer)
A:hover {atributos}

El atributo para definir enlaces sin subrayado es text-decoration:none, y para darles color es color:tu_color.

También podemos definir el estilo de cada enlace en la propia etiqueta <A>, con el atributo style. De esta manera podemos hacer que determinados enlaces de la página se vean de manera distinta

Ejemplo de estilos en enlaces

<html>
<head>
 <title>Ejemplos de estilo en enlaces</title>
 <STYLE type="text/css">
  A:link {text-decoration:none;color:#0000cc;}
  A:visited {text-decoration:none;color:#ffcc33;}
  A:active {text-decoration:none;color:#ff0000;}
  A:hover {text-decoration:underline;color:#999999;font-weight:bold}
 </STYLE>
</head>

<body>

<a href="http://dominioinexistente.nofunciona.com">Enlace normal</a>
<br>
<br>
<a href="enlaces.html">Enlace visitado</a>
Pulsar este enlace para verlo activo,
poner el rat&oacute;n por encima para que cambie.

</body>
</html>


Ver el ejemplo anterior

URL como valor de un atributo:

Determinados atributos de estilos, como background-image necesitan una URL como valor, para indicarlas podemos definir tanto caminos relativos como absolutos. Así pues, podemos indicar la URL de la imagen de fondo de estas dos maneras:

background-image: url(fondo.gif) En caso de que la imagen esté en el mismo directorio que la página. background-image: url(http://www.desarrolloweb.com/images/fondo.gif)

Ocultar estilos en navegadores antiguos

En caso de definir dentro de la etiqueta <STYLE> unas declaraciones de estilos debemos asegurarnos que estas no se imprimirán en la página web con navegadores antiguos. Pensar en un navegador que no reconozca la etiqueta <STYLE>, pensará que corresponde con algo que no entiende y se olvidará de la etiqueta. Lo siguiente que encuentra es texto normal y hará que este se vea en la página, como con cualquier otro texto.

Para evitarlo debemos ocultar con comentarios HTML (<!-- esto es un comentario -->) todo lo que hay dentro de la etiqueta <STYLE>. Se puede ver un ejemplo de esto a continuación:

De este modo hemos terminado la primera parte del manual de CSS, que espero pueda ayudar a hacer páginas mejores y más rápidamente. Ahora el manual continua explicando conceptos sobre capas y maquetación CSS, entre otros asuntos.

Quiero recordaros que siempre es útil ver como han hecho sus páginas otros progradores de Internet. Para ver una página definida enteramente con hojas de estilos podemos visitar Web Site Album, que está incluso maquetada con CSS. También podemos visitar la dirección www.guiarte.com, que está maquetada con tablas, pero todos los estilos se aplican con css.

Para ver otros manuales, artículos y enlaces a páginas que enseñan a utilizar las hojas de estilos visitar la sección correspondiente a CSS de nuestro directorio.

Comentarios
Fueron enviados 12 comentarios al artículo
1 comentario no revisado
11 comentarios revisados:
Por: Domingo Peña
02/4/04
Les envio este efecto rollover muy configurable realizado con css.

<!--Realizado por Domingo Peña-->
<head>
<style type="text/css">
.imagen{background-image:url('04cwwhr.jpg');
width:477px;height:650px;
background-repeat:no-repeat
;border-color:red;
border-width:5px}

.imagen2{background-image:url('2004_03_17.jpg');
width:500px;height:800px;
background-repeat:no-repeat;border-color:red;
border-width:5px}
</style>
</head>
<body>
<form>
<input type="button" class="imagen" onmouseOver="this.className='imagen2'" style="cursor:hand" onmouseOut="this.className='imagen'">
</body>
</form>
<!--final-->

muy bueno.
Por: Domingo Peña
03/4/04
Menu desplegable con CSS
es muy configurable.

!Que lo disfruten¡



<head>
<style type="text/css">
.1a{visibility:display}
.2a{visibility:hidden}
</style>
</head>
<div align="left">
<table border="1" style="border-style:dotted;border-width:5px" bgColor="orange" cellpadding="0" onmouseOver="a.className='1a'" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="127" height="28" id="AutoNumber1">
<tr>
<td width="127" height="28"><div align="center">
Menu</td>
</tr>
</table>
</div>
<head>
<style type="text/css">
#ca{position:absolute;top:11%;left:15%}
</style>
</head>
<div id="ca">
<span>
<table border="1" style="border-style:dotted;border-width:5px" bgColor="#00FFFF" ID="a" class="2a" onmouseOut="this.className='2a'" onmouseMove="this.className='1a'" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="127" id="AutoNumber2" height="116">
<tr>
<td width="125" height="116">&nbsp;&nbsp;&nbsp;&nbsp;<p>&nbsp; <b>
<font color="#FF0000"><div align="center"><a href="http://ww.google.com/">
<font size="4">&nbsp;Campo</font></a></p>
</font></b></p>
<p><b><font color="#FF0000"><div align="center">
<a href="http://ww.google.com/"><font size="4">Mesas</font></a></font></b><p></p>
<p><b><font color="#FF0000"><div align="center"><a href="http://ww.google.com/">&nbsp;<font size="4">Teatro</font></a></font></b></td>
</tr>
</table>
</div>
</span>

</div>

</div>

</div>

</div>

</div>



Por: Ignacio
27/9/04
En el artículo se comenta que el atributo CSS A:hover solo funciona para IE. No he probado con más, pero s%E?ä‡0e también funciona con Mozilla.
Espero ayudar en algo.
Por: Salaaadef
24/12/04
Me gustaria saber como podria hacer para que cuando alguin pase por encima de lso enlaces de mi web eston cmabien d ecolor, peor o de tamaño.
Por: Manuel Santana
16/2/06
Alguien me ayudes por favor. He entendido un poco pero no entiendo como aplicar el texto que deceo alos resultado obtenido con css. alguien me puede ayudar por favor gracias.
Por: carlos
16/7/06
excelente artículo, muy práctico ya que tiene varios ejemplos que hacen más fácil la experiencia de conocer lo que son las CSS.......gracias.
Por: alex
18/8/06
el efecto hover solo funciona en IE para etiquetas a, en mozilla firefox, el efecto hover funciona para todas las etiquetas
Por: coca
10/11/06
hola, quiero saber si se pueden agregar 2 hojas de estilos con difentes colores de vinculos para dos tablas diferentes pero en la misma pagina
Por: Fix
21/12/06
Es posible CSS realizar varios enlaces con atributos diferentes en la misma pagina, como?

Por: Arturo
12/7/07
Corrijan el codigo ya que podrian confundirse los que estan aprendiendo, el primero es con minusculas (link normal) y el segundo con mayusculas

<a href="http://dominioinexistente.nofunciona.com">Enlace normal</a>
<br>

<br>
<A href="enlaces.html">Enlace visitado</a>


saludos
Navegadores
Por: José Hernández Lugo
16/5/09
Me gustaria que hablaran de otros navegadores, tengo Firefox y quiero saber si tiene limitaciones con las hojas de estilo CSS.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Alojados en el grupo