jueves, 28 de enero de 2016

Menú desplegable con HTML5 y CSS3

Menu desplegable

En primer lugar tendremos que crear la estructura HTML de nuestro menú. Vamos a utilizar HTML5 para albergar el menú de navegación en una etiqueta
  • Vamos a crear los submenús en las seccines “Tutoriales” y “Artículos”, cada uno de ellos una lista desordenada completa insertada dentro de la etiqueta
  • de su opción de menú principal.
      • href="#">Home
      • href="#">Tutoriales
        • href="#">Photoshop
        • href="#">Illustrator
        • href="#">Diseño web
          • href="#">HTML
          • href="#">CSS
        • href="#">Artículos
          • href="#">Diseño web
          • href="#">Experiencia de usuario
          • href="#">Inspiración
          • Vamos a comenzar a construir el CSS para conseguirla funcionalidad desplegable. Primero ocultaremos los submenús con el display: none; Con el fin de hacer que estos menús reaparezcan que necesitan ser convertidos de nuevo en un elemento “block”. Veamos como nos queda la estructura CSS.
            1. nav ul ul {
            2. display: none;
            3. }
            4.  
            5. nav ul li:hover > ul {
            6. display: block;
            7. }
            A continuación daremos algo de estilo al menú y lo situaremos en una sola lína horizontal.
            1.  
            2. nav ul {
            3. background: #efefef;
            4. background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);
            5. background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
            6. background: -webkit-linear-gradient(top, #efefef 0%,#bbbbbb 100%);
            7. box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
            8. padding: 0 20px;
            9. border-radius: 10px;
            10. list-style: none;
            11. position: relative;
            12. display: inline-table;
            13. }
            14. nav ul:after {
            15. content: ""; clear: both; display: block;
            16. }
            Seguidamente daremos estilo a los submenús y al hover, para que cuando estemos encima de la opción cambie a otro color más visotoso.
            1. nav ul li {
            2. float: left;
            3. }
            4. nav ul li:hover {
            5. background: #4b545f;
            6. background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
            7. background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
            8. background: -webkit-linear-gradient(top, #4f5964 0%,#5f6975 40%);
            9. }
            10. nav ul li:hover a {
            11. color: #fff;
            12. }
            13. nav ul li a {
            14. display: block; padding: 25px 40px;
            15. color: #757575; text-decoration: none;
            16. }
            17.  
            18. nav ul ul {
            19. background: #5f6975; border-radius: 0px; padding: 0;
            20. position: absolute; top: 100%;
            21. }
            22. nav ul ul li {
            23. float: none;
            24. border-top: 1px solid #6b727c;
            25. border-bottom: 1px solid #575f6a;
            26. position: relative;
            27. }
            28. nav ul ul li a {
            29. padding: 15px 40px;
            30. color: #fff;
            31. }
            32. nav ul ul li a:hover {
            33. background: #4b545f;
            34. }
            El paso final es posicionar a la sub-sub-menús. Estos menús se heredan todo el estilo del submenú, así que todo lo que necesitan es ser posicionado absolutamente a la derecha (a la izquierda: 100%) de la posición relativa de los padres
          • .
            1. nav ul ul ul {
            2. position: absolute; left: 100%; top:0;
            3. }
          • Ahora solo queda probarlo y que funcione...
          • No hay comentarios:

            Publicar un comentario

            Nota: solo los miembros de este blog pueden publicar comentarios.