Foros del Web » Creando para Internet » HTML »

[SOLUCIONADO] Header y nav

Estas en el tema de Header y nav en el foro de HTML en Foros del Web. <header>Aca una imagen con el logo</header> <nav> aquí contacto, principal, etc</nav> como hago para que queden los 2 en una misma linea?, o sea, el ...
  #1 (permalink)  
Antiguo 13/03/2016, 19:53
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Header y nav

<header>Aca una imagen con el logo</header>
<nav> aquí contacto, principal, etc</nav>

como hago para que queden los 2 en una misma linea?, o sea, el logo y al lado las opciones como contacto, etc..
  #2 (permalink)  
Antiguo 14/03/2016, 02:25
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Header y nav

Buenas!!!

Puedes usar CSS, concretamente float

Código CSS:
Ver original
  1. header{
  2.         float:left;
  3. }
  4. nav{
  5.         float:right;
  6. }

Al HTML te recomiendo que pongas después de esto un div con clear:both. De lo contrario, lo que esté después de <nav> también se desplazará a la derecha. Así quedaría todo:

Código HTML:
Ver original
  1. <header>Aca una imagen con el logo</header>
  2. <nav> aquí contacto, principal, etc</nav>
  3. <div class="limpiador"></div>


Código CSS:
Ver original
  1. header{
  2.         float:left;
  3. }
  4. nav{
  5.         float:right;
  6. }
  7. .limpiador{
  8.         clear:both;
  9. }
  #3 (permalink)  
Antiguo 14/03/2016, 08:21
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

Código HTML:
Ver original
  1. <header class="logo">
  2.                
  3.                 <img src="logo.png" class="logoclass"/>
  4.                
  5.         </header>
  6.         <!-- NAV-->
  7.         <nav class="menu">
  8.             <ul>
  9.                 <li><a href="index.html" class="button">Principal</a></li>
  10.                 <li><a href="nosotros.html" class="button">Sobre nosotros</a></li>
  11.             </ul>
  12.         <!-- LIMPIADOR-->
  13.             <div class="limpiador"></div>

Código CSS:
Ver original
  1. header
  2. {
  3.     float: left;
  4. }
  5. nav
  6. {
  7.     float: right;
  8. }
  9.  
  10. .limpiador
  11. {
  12.     clear: both; /* Limpiar */
  13. }



No funciona!, es lo mismo poner esto?

Código CSS:
Ver original
  1. .logo
  2. {
  3.     float: left;
  4. }
  5. .menu
  6. {
  7.     float: right;
  8. }
  #4 (permalink)  
Antiguo 14/03/2016, 08:54
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Header y nav

Código CSS:
Ver original
  1. .logo
  2. {
  3.     float: left;
  4. }
  5. .menu
  6. {
  7.     float: right;
  8. }

Sí es lo mismo.

Así salen en la misma línea la imagen y el menú. La imagen a la izquierda y el menú a la derecha.
¿No era eso lo que pedías?
  #5 (permalink)  
Antiguo 14/03/2016, 09:34
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

si, es lo que quiero pero no funciona.

Me queda el logo arriba y el nav abajo.
  #6 (permalink)  
Antiguo 14/03/2016, 09:45
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Header y nav

OK,

Para "bajar" la imagen, métele en el CSS un margin-top que deberás ajustar a tu gusto, este es de ejemplo:

Código CSS:
Ver original
  1. margin-top: 25px;

Si en cambio quieres "subir" el menú imagen, métele en el CSS un margin-top negativo que deberás ajustar a tu gusto, este es de ejemplo:

Código CSS:
Ver original
  1. margin-top: -13px;
  #7 (permalink)  
Antiguo 14/03/2016, 09:51
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

Me rindo, no anda jaja.
Código CSS:
Ver original
  1. body  
  2.     {
  3.         margin: 0px;
  4.         padding: 0px;
  5.         background: #eee;
  6.         font-family: 'Varela', sans-serif;
  7.         font-size: 12pt;
  8.         font-weight: 500;
  9.         color: #000;
  10.     }
  11. .logo
  12. {
  13.    position: relative;
  14.    float: left;
  15. }
  16. .img_logo
  17. {
  18.     height: 17%;
  19.     width: 17%;
  20. }
  21.  
  22.  
  23.  
  24. .menu
  25.     {
  26.         background: #333333;      
  27.         position: relative;
  28.         padding: 2em 0em;
  29.         width: 100%;
  30.         height: 9%;
  31.         float: right;
  32.         margin-top: -200px;
  33.        
  34.     }
  #8 (permalink)  
Antiguo 14/03/2016, 09:57
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Header y nav



Al menú quítale el width:100%, y el marging-top en vez de -200px pon -20px
  #9 (permalink)  
Antiguo 14/03/2016, 10:06
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

Jajajaja,

Ya casi.. ahora están alineados, pero quiero que toda la linea sea del color del menú. Sin embargo solo el 40% es aprox... del color del menú.
El resto es del color del body o sea gris
  #10 (permalink)  
Antiguo 14/03/2016, 10:26
Avatar de Pantera80  
Fecha de Ingreso: noviembre-2014
Ubicación: España
Mensajes: 35
Antigüedad: 9 años, 5 meses
Puntos: 6
Respuesta: Header y nav



Bueno, primero tienes que encerrar todo lo de arriba en un div y ponerle un nombre de clase, por ejemplo así, llamando a la clase "cabecera":

Código HTML:
Ver original
  1. <div class="cabecera">
  2.             <header class="logo">
  3.                 <img src="logo.png" class="logoclass"/>
  4.             </header>
  5.             <!-- NAV-->
  6.             <nav class="menu">
  7.                 <ul>
  8.                     <li><a href="index.html" class="button">Principal</a></li>
  9.                     <li><a href="nosotros.html" class="button">Sobre nosotros</a></li>
  10.                 </ul>
  11.                 </nav>
  12.             <!-- LIMPIADOR-->
  13.                 <div class="limpiador"></div>
  14.     </div>

Luego tienes que ir al CSS y ponerle color y la altura que a tí te guste. Si es poca, no se verá:

Código CSS:
Ver original
  1. .cabecera{
  2.         background-color: #333333;
  3.           height: 125px;
  4.              }
  #11 (permalink)  
Antiguo 14/03/2016, 11:22
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

Muchas gracias, funciono, aunque no entiendo nada del código jaja
  #12 (permalink)  
Antiguo 14/03/2016, 14:18
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Header y nav

Hola. Llego un poco tarde pero hago unos comentarios.

¿Un div llamado Cabecera, para meter dentro el header?

No tiene mucho sentido, la lógica de estructura no creo que vaya por ahí.

1) Tienes un header. Dentro pueden ir otras cosas. El header es un elemento de bloque y de los principales.

2) Un nav también es un elemento de caja como todo. Está bien usar el float, peeeeero en lo personal yo trato de evitarlo totalmente. Trato de usar mejor inline-block. Con estas dos premisas queda:

Código HTML:
Ver original
  1.       <img src="Logo.png">
  2.          <nav>
  3.  
  4.       </nav>
  5.  </header>

Y el css

Código CSS:
Ver original
  1. header > img, header > nav {
  2.    dislpay: inline-block;
  3.       vertical-align:top;}

Y ya el alineado será con vertical-align, o middle o bottom a escojer. Puedes jugar con márgenes también.

Prueba esto https://jsfiddle.net/ba5b68h3/1/:

Cita:
vertical-align: baseline|length|sub|super|top|text-top|middle|bottom|text-bottom|initial|inherit;

Última edición por Rafael; 14/03/2016 a las 14:54
  #13 (permalink)  
Antiguo 15/03/2016, 12:18
ilu7ionHD
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Header y nav

Muchas gracias, pero no entiendo porque usas ">" arriba después del header

O sea, header> nav{}
que significa?
  #14 (permalink)  
Antiguo 15/03/2016, 12:37
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Respuesta: Header y nav

Aplica el estilo sólo a aquellos navs que estén diréctamente abajo de un header. En el caso del nav probablemente estoy exagerando ya que tal vez sólo tengas un nav en tooodo el documento.

Peeeero en el caso del header > img te previene de aplicarle los estilos digamos a las imágenes que tengas adentro de la barra del menú por ejemplo.

header > img: aplica sólo a los que estén directamente en el header, no a los que anden dentro de algún div, nav, li o nada.

Usar esta sintáxis hace que tu código html esté casi completamente limpio de class sobrantes y de hacks como el div limpiador.
  #15 (permalink)  
Antiguo 16/03/2016, 11:26
 
Fecha de Ingreso: marzo-2016
Mensajes: 5
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Header y nav

Aportando a lo que @Rafael comentó. El carácter mayor que (>) es un combinador de selectores.

Un combinador no es más que un carácter específico que une (o combina, por eso el nombre) dos o más selectores.

Según tengo entendido existen 4 tipos de combinadores:
  1. Descendientes (su carácter es un espacio en blanco " ").
  2. Hijos (su carácter es un mayor que ">", este es el que preguntaste).
  3. Hermanos adyacentes ( su carácter es un símbolo de suma "+").
  4. Hermanos en general ( su carácter es la tilde "~").

Posiblemente los selectores que más uses sean descendientes " " e hijos ">", por eso sería bueno diferenciarlos y saber su uso. Una breve explicación es que los hijos seleccionan al elemento que esta inmediatamente dentro del elemento padre, mientras que los descendientes seleccionan a cualquier elemento que esté dentro del elemento padre (sin importar si está inmediatamente dentro), por ejemplo:

Combinador hijo:

Código:
main>section>p
Aquí se seleccionará el elemento p, que reside dentro de un section, que a su vez está dentro de un main. Solo ese parrafo dentro de todos los que puedan haber en tu sitio web será seleccionado.

Combinador descendiente:
Código:
main p
Aquí se seleccionarán todos los elementos p que esten dentro del main, sin importar si estan dentro de otro elemento o no, todos los p en general serán seleccionados.

Una nota importante es que cuando trabajes con combinadores no dejes espacios, ya que como te expliqué, el espacio en blanco es un combinador.

Es muy bueno saber estos detalles, realmente ayudan a la hora de codificar, espero haber aportado un granito de arena.

Etiquetas: header, nav
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:35.