Cómo hacer una barra de navegación en html. Barra de navegación СSS
Menú horizontal es una lista de secciones del sitio, por lo que es más lógico marcarlo dentro del elemento
- y luego aplicar estilos CSS a sus elementos. Esta disposición del menú es la más común debido a las obvias ventajas en su posicionamiento en una página web.
- Opción del menú
- Opción del menú
- Opción del menú ...
- Facilidad de uso;
- Debe crearse la navegación a través de todas las secciones del sitio;
- Cada página del sitio debe tener una salida a la página principal;
- Vaya a cualquier página del sitio con un máximo de 3 clics.
- Creación del menú del sitio web a> - esta es una de las posiciones en las que deberá insertar el enlace necesario en un href = "#";
Cómo hacer un menú horizontal: ejemplos de marcado y diseño
Marcado HTML y estilos básicos para menús horizontales
De forma predeterminada, todos los elementos de la lista se colocan verticalmente, ocupando todo el ancho del elemento contenedor en ancho, que a su vez ocupa todo el ancho de su bloque contenedor.
Marcado HTML para navegación horizontal
Opcionalmente, se puede colocar un menú horizontal dentro de una etiqueta dentro de un elemento. y / o
Hay varias formas de colocarlos. horizontalmente... Primero, debe restablecer los estilos de navegador predeterminados para los elementos de navegación:
Ul (estilo de lista: ninguno; / * eliminar marcadores de lista * / margen: 0; / * eliminar margen superior e inferior igual a 1em * / padding-left: 0; / * eliminar margen izquierdo igual a 40px * /) a ( text-decoration: none; / * eliminar el subrayado del texto del enlace * /)
Método 1.li (pantalla: en línea;)
Ponemos los elementos de la lista en minúsculas. Como resultado, se colocan horizontalmente, en el lado derecho entre ellos se agrega un espacio igual a 0.4em (calculado en relación con el tamaño de la fuente). Para eliminarlo, agregue un margen derecho negativo li (margin-right: -4px;) para li. A continuación, aplicaremos el estilo que queramos a los enlaces.
Método 2.li (flotación: izquierda;)
Flotando los elementos de la lista. Como resultado, se colocan horizontalmente. La altura del bloque de contenedores ul se vuelve cero. Para resolver este problema, agregamos (overflow: hidden;) al ul, expandiéndolo y permitiendo así que contenga elementos flotantes. Para los enlaces, agregue un (display: block;) y modifíquelos como desee.
Método 3.li (pantalla: bloque en línea;)
Hacemos los elementos de la lista inline-block. Están ubicados horizontalmente, se forma un espacio en el lado derecho, como en el primer caso. Para los enlaces, agregue un (display: block;) y modifíquelos como desee.
Método 4.ul (pantalla: flex;)
Haciendo del ul un recipiente flexible usando un modelo. Como resultado, los elementos de la lista se organizan horizontalmente. Agregue un (display: block;) para los enlaces y modifíquelos como desee.
1. Menú adaptable con un efecto de subrayado al pasar el cursor sobre un enlace.
@import url ("https://fonts.googleapis.com/css?family=Ubuntu+Condensed"); .menu-main (list-style: none; margin: 40px 0 5px; padding: 25px 0 5px; text-align: center; background: white;) .menu-main li (display: inline-block;) .menu- main li: after (content: "|"; color: # 606060; display: inline-block; vertical-align: top;) .menu-main li: last-child: after (contenido: ninguno;) .menu-main a (decoración de texto: ninguna; familia de fuentes: "Ubuntu Condensed", sans-serif; espaciado entre letras: 2px; posición: relativa; fondo de relleno: 20px; margen: 0 34px 0 30px; tamaño de fuente: 17px; text-transform: mayúsculas; display: inline-block; transición: color .2s;) .menu-main a, .menu-main a: visitado (color: # 9d999d;) .menu-main a.current, .menu- main a: hover (color: # feb386;) .menu-main a: before, .menu-main a: after (content: ""; position: absolute; height: 4px; top: auto; right: 50%; bottom : -5px; izquierda: 50%; fondo: # feb386; transición: .8s;) .menu-main a: hover: before, .menu-main .current: before (left: 0;) .menu-main a: hover: after, .menu-main .current: after (derecha: 0; ) @media (max-width: 550px) (.menu-main (padding-top: 0;) .menu-main li (display: block;) .menu-main li: after (content: none;) .menu- principal a (relleno: 25px 0 20px; margen: 0 30px; ))2. Menú adaptable para un sitio de bodas
@import url ("https://fonts.googleapis.com/css?family=PT+Sans"); .top-menu (posición: relativa; fondo: #fff; box-shadow: inset 0 0 10px #ccc;) .top-menu: before, .top-menu: after (content: ""; display: block; height : 1px; border-top: 3px solid # 575350; border-bottom: 1px solid # 575350; margin-bottom: 2px;) .top-menu: after (border-bottom: 3px solid # 575350; border-top: 1px solid # 575350; caja-sombra: 0 2px 7px #ccc; margin-top: 2px;) .menu-main (estilo de lista: ninguno; relleno: 0 30px; margen: 0; tamaño de fuente: 18px; alineación de texto: centro; posición: relativa;) .menu-main: before, .menu-main: after (content: "\ 25C8"; line-height: 1; position: absoluta; top: 50%; transform: translateY (-50% );) .menu-main: before (left: 15px;) .menu-main: after (right: 15px;) .menu-main li (display: inline-block; padding: 5px 0;) .menu-main a (decoración de texto: ninguna; pantalla: bloque en línea; margen: 2px 5px; relleno: 6px 15px; familia de fuentes: "PT Sans", sans-serif; tamaño de fuente: 16px; color: # 777777; borde inferior : 1px sólido transparente; transitio n: .3s lineal; ) .menu-main .current, .menu-main a: hover (border-radius: 3px; background: # f3ece1; color: # 313131; text-shadow: 0 1px 0 #fff; border-color: # c6c6c6;) @media (ancho máximo: 500px) (.menu-main li (pantalla: bloque;))3. Menú adaptable con vieiras
@import url ("https://fonts.googleapis.com/css?family=PT+Sans+Caption"); .menu-main (estilo de lista: ninguno; relleno: 0 30px; margen: 0; tamaño de fuente: 18px; alineación de texto: centro; posición: relativa; fondo: blanco;) .menu-principal: después (contenido: ""; posición: absoluta; ancho: 100%; alto: 20px; izquierda: 0; fondo: -20px; fondo: radial-gradient (blanco 0%, blanco 70%, rgba (255,255,255,0) 70%, rgba ( 255,255,255,0) 100%) 0 -10px; tamaño de fondo: 20px 20px; repetición de fondo: repetición-x;) .menu-main li (display: inline-block;) .menu-main a (texto-decoración: none; display: inline-block; margin: 0 15px; padding: 10px 30px; font-family: "PT Sans Caption", sans-serif; color: # 777777; transición: .3s lineal; posición: relativa;) .menu -main a: before, .menu-main a: after (content: ""; position: absolute; top: calc (50% - 3px); width: 6px; height: 6px; border-radius: 50%; background: # F58262; opacidad: 0; transición: .5s entrada-salida fácil;) .menu-main a: before (izquierda: 5px;) .menu-main a: after (derecha: 5px;) .menu-main a. actual: antes, .menu-main a.cur rent: after, .menu-main a: hover: before, .menu-main a: hover: after (opacidad: 1;) .menu-main a.current, .menu-main a: hover (color: # F58262; ) @media (ancho máximo: 680px) (.menu-main li (pantalla: bloque;))4. Menú adaptable en la cinta
@import url ("https://fonts.googleapis.com/css?family=PT+Sans+Caption"); .top-menu (margen: 0 60px; posición: relativa; fondo: # 5A394E; cuadro-sombra: recuadro 1px 0 0 rgba (255,255,255, .1), recuadro -1px 0 0 rgba (255,255,255, .1), recuadro 150px 0 150px -150px rgba (255,255,255, .12), recuadro -150px 0 150px -150px rgba (255,255,255, .12);) .top-menu: before, .top-menu: after (content: ""; position: absolute ; z-index: 2; left: 0; width: 100%; height: 3px;) .top-menu: before (top: 0; border-bottom: 1px dashed rgba (255,255,255, .2);) .top- menu: after (bottom: 0; border-top: 1px rgba discontinuo (255,255,255, .2);) .menu-main (estilo de lista: ninguno; relleno: 0; margen: 0; alineación de texto: centro;). menu-main: before, .menu-main: after (content: ""; posición: absoluta; ancho: 50px; altura: 0; parte superior: 8px; borde superior: 18px sólido # 5A394E; borde inferior: 18px sólido # 5A394E; transform: rotate (360deg); z-index: -1;) .menu-main: before (left: -30px; border-left: 12px solid rgba (255, 255, 255, 0);) .menu- main: after (right: -30px; border-right: 12px solid rgba (2 55, 255, 255, 0); ) .menu-main li (display: inline-block; margin-right: -4px;) .menu-main a (text-decoration: none; display: inline-block; padding: 15px 30px; font-family: "PT Sans Caption ", sans-serif; color: blanco; transición: .3s lineal;) .menu-main a.current, .menu-main a: hover (background: rgba (0,0,0, .2);) @media (max-width: 680px) (.top-menu (margin: 0;) .menu-main li (display: block; margin-right: 0;) .menu-main: before, .menu-main: after (contenido: ninguno;) .menu-main a (pantalla: bloque;))5. Menú adaptable con un logotipo en el medio
@import url ("https://fonts.googleapis.com/css?family=Arimo"); .top-menu (posición: relativa; fondo: rgba (34,34,34, .2);) .menu-main (estilo de lista: ninguno; margen: 0; relleno: 0;) .menu-main: después (contenido: ""; display: table; clear: both;) .left-item (float: left;) .right-item (float: right;) .navbar-logo (position: absoluta; left: 50%; top : 50%; transform: translate (-50%, - 50%);) .menu-main a (text-decoration: none; display: block; line-height: 80px; padding: 0 20px; font-size: 18px ; espaciado entre letras: 2px; familia de fuentes: "Arimo", sans-serif; peso de fuente: negrita; color: blanco; transición: .3s lineal;) .menu-main a: hover (background: rgba (0, 0,0, .3);) @media (ancho máximo: 830px) (.menu-main (padding-top: 90px; text-align: center;) .navbar-logo (posición: absoluta; izquierda: 50% ; top: 10px; transform: translateX (-50%);) .menu-main li (float: none; display: inline-block;) .menu-main a (line-height: normal; padding: 20px 15px; font -tamaño: 16px;)) @media (ancho máximo: 630px) (.menu-main li (display: block;))6. Menú adaptable con logotipo a la izquierda
@import url ("https://fonts.googleapis.com/css?family=Arimo"); .top-menu (fondo: rgba (255,255,255, .5); box-shadow: 3px 0 7px rgba (0,0,0, .3); padding: 20px;) .top-menu: after (content: "" ; display: table; clear: both;) .navbar-logo (display: inline-block;) .menu-main (list-style: none; margin: 0; padding: 0; float: right;) .menu-main li (display: inline-block;) .menu-main a (text-decoration: none; display: block; position: related; line-height: 61px; padding-left: 20px; font-size: 18px; letter-spacing : 2px; font-family: "Arimo", sans-serif; font-weight: bold; color: # F73E24; transición: .3s linear;) .menu-main a: before (content: ""; ancho: 9px; altura: 9px; fondo: # F73E24; posición: absoluta; izquierda: 50%; transformar: rotar (45deg) translateX (6.5px); opacidad: 0; transición: .3s lineal;) .menu-main a: hover: before (opacidad: 1;) @media (max-width: 660px) (.menu-main (float: none; padding-top: 20px;) .top-menu (text-align: center; padding: 20px 0 0 0; ) .menu-main a (relleno: 0 10px;) .menu-main a: be fore (transform: rotate (45deg) translateX (-6px);)) @media (max-width: 600px) (.menu-main li (display: block;))Para navegar cómodamente por el sitio, necesita la navegación, que hice usando scripts HTML y CSS. Como resultado de mi trabajo, puedes ver 2 tipos de menús (vertical y horizontal). Y ahora, intentaré contarte las tareas que, según me parece, debe realizar el menú del sitio:
Aquí intentaré resumir el material sobre la creación de un menú tanto como sea posible, prepárate, muchos pueden tener dificultades, al menos me han surgido. ¡Vamos a empezar!
En primer lugar, te diré cómo hacerlo. Primero, escribimos el script en la hoja de estilo:
# navegación (ancho: 560px; alto: 50px; margen: 0; relleno: 0; imagen de fondo: url (img / gor_menu.jpg); repetición de fondo: no-repetición; posición de fondo: centro;) # navegación ul (estilo de lista: ninguno; margen: 0; relleno: 0;) # navegación ul li (display: inline; margin: 0px;) #navigation ul li a (height: 28px; display: block; float: left; color: # 333333; decoración de texto: ninguna; familia de fuentes: Arial; tamaño de fuente: 12px; peso de fuente: negrita; imagen de fondo: url (img / menu_separatorline.jpg); repetición de fondo: no repetición; fondo- position: right center; padding-top: 17px; padding-right: 15px; padding-bottom: 0; padding-left: 15px;) # navegación ul li a: hover (color: #FFF; background-image: url (img /button_hover.jpg); background-repeat: repeat-x; background-position: left top;) #navigation ul li # active a (background-image: url (img / button_hover.jpg); background-repeat: repeat-x ; posición de fondo: arriba a la izquierda;)
No se alarme, no hay nada de malo en este código. Para que le quede más claro, escribiré inmediatamente el código HTML para este menú:
Como puede ver, estamos tratando con una lista, que no es nada bueno sin una hoja de estilo. El operador div llama a las variables de una hoja de estilo CSS externa, luego nuestra lista se transforma y se convierte en un bonito menú horizontal, en mi opinión.
Ahora necesita aclarar un poco qué se refiere a qué, luego creo que usted mismo lo resolverá:
- contiene toda la estructura del menú. La imagen superior, que preparé de antemano en Photoshop, se insertará en ella; - el cuerpo del menú, contiene una lista desordenada. Se insertará una imagen en él, que se repetirá verticalmente y creará un fondo. Quizás elegí colores demasiado brillantes, pero en mi opinión, no lastiman los ojos;- contiene el esqueleto del menú en sí;