Cree un menú para compartir en las redes sociales usando CSS y jQuery

Menú para compartir en redes sociales usando CSS y jQuery

En este tutorial, le mostraremos cómo crear un menú para compartir en las redes sociales usando CSS y jQuery. Vamos a crear el menú usando CSS básicos como CSS background-position propiedad y un poco de jQuery para animar los enlaces.

Resultado final

Haga clic en la imagen de abajo para ver la demostración en vivo.

Resultado final

Crea el HTML

1 Primero creemos el HTML. Aquí está nuestro marcado.

<div id="social_nav_horizontal">
  <h3> Bookmark or Share This Post </h3>
  <ul>
    <li><a class="delicious" href="http://del.icio.us/post?url=Your website title" title="Bookmark on del.icio.us">Delicious</a>
    <li><a class="facebook" href="http://www.facebook.com/sharer.php?u=http://yourwebsite.com"  title="Share this on Facebook" >Facebook</a></li>
    <li><a class="stumbleupon" href="http://www.stumbleupon.com/submit? url=http://www.yoursite.com/" title="Stumble This Page" > Stumble</a></li>
    <li><a class="twitter" href="http://twitter.com/home?status=Your Website Title- http://yourwebsite.com@TwitterUserName" title="Tweet This Page" >Twitter</a></li>
  </ul>
</div>

Diseñe el HTML con CSS

Así es como se ve nuestro menú sin CSS.

Observe que hay una clase CSS agregada a cada enlace en nuestro HTML. Por ejemplo: delicious, facebook, y así. Usamos diferentes clases para que podamos dar a los enlaces sus propios íconos a la izquierda (más sobre esto más adelante).

2 Haremos que los elementos de la lista se muestren uno al lado del otro usando el float propiedad. Además, hemos agregado algo de relleno a los elementos del enlace (#social_nav_horizontal ul li a), incluido un relleno de 28px a la izquierda para que cuando agreguemos el fondo, haya suficiente espacio para los íconos de las redes sociales.

#social_nav_horizontal {
  margin-left: 100px;
  font-family: Futura, Verdana, Sans-Serif;
  font-size: 18px;
  color: #8e9090;
}
#social_nav_horizontal h3 {
  display:inline;
  padding: 0px 10px;
  border-bottom:dashed 1px #ccc;
}
#social_nav_horizontal ul {
  margin: 0;
  padding: 0;
  margin-top:20px;
}
#social_nav_horizontal ul li {
  float: left;
  padding: 5px 0 0 5px;
  margin-left: 5px;
  list-style-type: none;
}
#social_nav_horizontal ul li a {
  padding: 4px 0 0 28px;
  height: 32px;
  color: #999;
  text-decoration: none;
  line-height: 1.45em;
}

Así es como se ve nuestro menú con las declaraciones de estilo CSS anteriores.

3 Después de eso, agregamos el fondo CSS a cada clase. Puede utilizar sus propios conjuntos de iconos de redes sociales o consultar la sección de obsequios aquí en Six Revisions para encontrar iconos de redes sociales gratuitos. Tenga en cuenta que tendrá que ajustar el background-position y el relleno izquierdo de #social_nav_horizontal ul li a dependiendo de los tamaños de los íconos de redes sociales que utilice.

Aquí está el CSS para el primer enlace de redes sociales (Delicious).

.delicious {
  background:url(images/delicious.png) no-repeat;
  background-position:0px-1px;
}

Aquí está la representación visual de este código:

Así es como debería mostrarse el icono de Delicious:

4 Agregamos una declaración CSS para cada uno de los enlaces de redes sociales.

.delicious {
  background:url(images/delicious.png) no-repeat;
  background-position:0px -1px;
}
.facebook {
  background:url(images/facebook.png) no-repeat;
  background-position:0px -1px;
}
.stumbleupon {
  background:url(images/stumbleupon.png) no-repeat;
  background-position:0px -1px;
}
.twitter {
  background:url(images/twitter.png) no-repeat;
  background-position:0px -1px;
}

Si todo está bien, así es como debería verse.

Otra versión: menú vertical

Entonces, si desea crear un menú solo CSS, ya está.

Pero ahora, vamos a agregar un poco de jQuery y cambiar la orientación del menú para darle un poco de sabor. Este será un menú vertical.

5 Acabo de quitar el CSS float propiedad de la declaración del elemento de lista (#social_nav_horizontal ul li) para convertirlo en un menú vertical.

Agrega efectos de animación con jQuery

Es hora de agregar algo de jQuery. Primero, no olvide agregar la biblioteca jQuery a su página HTML (aquí hay una guía para eso, si no está familiarizado con jQuery).

Agregaremos un efecto que empuja el enlace hacia la derecha cuando el usuario pasa el mouse sobre él.

6 En la primera línea de nuestro script jQuery, seleccionamos los elementos a los que queremos aplicar el efecto: #social_nav_horizontal ul li a.

Aplicamos un método de escucha de eventos, .hover, que escuchará el evento en el que el usuario se desplaza sobre (y fuera) de un elemento de enlace. Alimentamos el .hover método las funciones que queremos ejecutar cuando el usuario se desplaza sobre un elemento de enlace (primera función), y también cuando se desplaza fuera del enlace (segunda función).

Usamos el .animate método en el elemento flotante para moverlos a la derecha modificando su margin-left Propiedad CSS.

También usamos el .stop método antes del .animate método para evitar que la animación lo ponga en cola. Básicamente, el .stop El método detendrá cualquier otro evento de animación en curso en $(this) elemento.

$(document).ready(function() {
  $('#social_nav_vertical li a').hover(
  // on mouse over move to left
  function() {
    $(this).stop().animate({ marginLeft: '20px' },300);
  },
  // on mouse out, move back to original position
  function() {
    $(this).stop().animate({ marginLeft: '0px' }, 300);
  });
});

Así es como se ve cuando alguien pasa el mouse sobre un enlace.

Puede consultar la demostración para ver cómo funciona.

Envolver

¡Eso es! No dude en agregar sugerencias para mejorar esto en los comentarios.

Descargar archivos de origen

contenido relacionado

Deja un comentario