CSS / html

html desde cero CSS padding & margin Viewport Color Git & github Practicar Listas & Tablas DOM Navbar Responsividad Dropdowns Float Layout Flex Layout Fuentes Inspector Grid Layout Fixed Items Iconos Animaciones Box shadow y Text shadow

CSS / html

  1. HTML desde cero
  2. CSS
  3. Padding & margin
  4. Viewport
  5. Color
  6. Git & github
  7. Practicar
  8. Listas & Tablas
  9. DOM
  10. Navbar
  11. Responsividad
  12. Dropdowns
  13. Float Layout
  14. Flex Layout
  15. Fuentes
  16. Inspector
  17. Grid Layout
  18. Fixed Items
  19. Iconos
  20. Animaciones
  21. Box & Text Shadow

Dropdowns

clear_all

Como hacer dropdown menus clear_all

La idea basica para hacer menus desplegables(drodowns) consiste en crear el menu en un contenedor de html y establecer su propiedad de display:none para que se mantenga oculto hasta que ocurra cierto evento. Esto se puede hacer con JavaScript, pero aqui te enseƱo a hacerlo solo con css.

Vamos a modificar la nav bar que hicimos cambiando las etiquetas <a> por <span>, ya que no seran enlaces o si gustas puedes mantener uno o varios como enlace y te aseguras de agregar , .navbar > ul>li > span (con la coma) en donde defines el estilo para .navbar > ul>li >a o defines un estilo diferente para ambos. En html cada li quedara como este codigo.


<li>
  <span href="#footer">footer</span>
  <div class="dropdown-content">
    <a href="">Hello</a>
    <a href="">Bonjour</a>
    <a href="">Merhaba</a>
  </div>
</li>

En css primero establecemos display:none para la clase .dropdown-content y definimos cual sera min-width para mantener consistencia en el ancho de los menus. En .dropdown-content>a{} establecemos display:block para poder personalizar los enlaces y hacer que se comporten como botones y agregamos text-decoration:none para eliminar el estilo predeterminado de enlaces.

En este ejemplo le agregamos mas dinamismo al menu desplegable al agregar .dropdown-content>a:hover{} y con esto podemos definir alguna reaccion de los menus al pasar el cursor sobre ellos. En este caso le cambiamos el color de fondo a <a>.

En la ultima parte de este codigo es donde se establece que el menu desplegable sera visible cuando se realize un hover sobre los <li>. Recuerda dejar solo un espacio entre la primera parte y .dropdown-content sin colocar comas.

Y eso es todo ! ( ^__^)/ ojala que te haya gustado el tema y que sigas practicando. Tambien explora con mas posibilidades y consulta las referencias de W3C, MDN docs y W3Schools.

/* ------ dropdown ------ */
.dropdown-content{
/* para el despliegue correcto */
position: absolute;
display: none; /* oculto */
min-width: 160px;
background-color: var ( --color-dark-light );
border-radius: 15px;
}
.dropdown-content>a{
color: var(--color-main);
display: block;/* ahora es bloque */
padding: 4px;
border-radius: 15px;
text-decoration: none;
}
.dropdown-content>a:hover{
background-color: var(--color-dark);
}
/* se habilita el despliegue */
.navbar > ul >li:hover .dropdown-content{
display: block;
}

Para agendar una entrevista puedes contactarme por estos medios

Boston, Massachusetts
sinoplecarballo@gmail.com
Martin Carballo
@shur_d_firsiel