Clase 1-I2
Clase 1-I2
Clase 1-I2
1
Tópico
HTML y CSS
Metas de comprensión
✓ Comprender la importancia en la elección de un menú para el diseño del sitio
✓ Los alumnos comprenderán las características de navegabilidad y usabilidad de un sitio web
a través de su menú.
✓ Los alumnos desarrollaran ejercicios para profundizar en los temas de la clase
Desempeño de Exploración
Los alumnos presentan sus dudas e inquietudes, profundizan los temas de la clase y proponen
ejercicios que implica una navegabilidad atractiva a partir de los menús vistos.
1
Un sitio web sin un buen sistema de navegación no puede considerarse, normalmente, como
un sitio completo. Lo bueno es que hoy día no necesitas recurrir a complejos sistemas para
conseguir menús vistosos, sino que unos simples trucos con CSS te permiten crear menús muy
buenos visualmente y, además, repletos de efectos como slides, verticales, horizontales, con
colores, iconos, etc.
¿Todo apunta a que tu página web se vea increíble? Uno de los elementos claves de que esto
suceda es cómo creaste tu menú.
Igual que las luces en una carretera, el menú ayuda a tus usuarios a saber por dónde navegar
y dónde encontrar lo que buscan. No importa en qué dirección se encuentre, si el menú es
horizontal o vertical, si es de desplazamiento o con íconos, lo que de verdad cuenta es que lleve
a tus visitantes a donde quieran llegar.
2
Menues
Menú Horizontal
Los menús horizontales son una elección por defecto de casi todos los diseñadores ¡Y con
justa razón! Si estás buscando informar a tus usuarios sin necesidad de presentar un menú enredado
y complejo, esta es tu opción. Este menú es amigable y se encuentra en páginas web que van desde
blogs hasta navegadores. Este menú también será tu mejor opción si cuentas con muchos submenús
adentro de él, o demasiadas categorías.
Menú Vertical
Los menús verticales son cada vez más populares. Generalmente los encontrarás en el lado
izquierdo de la pantalla, y aportarán a tu página web un diseño más novedoso.
Son una elección muy popular entre los blogs, ya que dejan mucho espacio en el medio.
Si estás pensando en optar por el menú vertical, tienes que asegurarte de mantener los
nombres cortos.
Si tienes una página larga de desplazamiento, con mucha información para tus usuarios,
entonces el menú fijo te vendrá como anillo al dedo. Este estilo fija el encabezado, permitiendo que
tus lectores puedan desplazarse tranquilamente por tu página web, sin perder de vista el menú.
Este estilo de menú ayuda a tus usuarios a encontrar lo que buscan de manera fácil y sin la
necesidad de hacer clic en demasiadas páginas. Ubica tu logo y datos de contacto en el menú.
Menú de Ancla
3
Los menús de ancla son la última moda. Estos menús flotantes son la combinación perfecta
para tu página de desplazamiento largo y para tu versión móvil, ya que les permitirán a tus usuarios
saltar de un lado a otro con un solo clic. Y como flotan, estarán siempre donde están tus usuarios.
Menú de Íconos
Mejor que escribir “Contáctanos” o “Página de Inicio” demuéstralo con imágenes. ¿Quieres
que tus usuarios pasen a visitar tu tienda online? Entonces puedes usar un ícono de un carrito de
compras para que sea más que obvio a dónde tienen que ir. Los menús de íconos son geniales para
hacer tu página web más memorable y demostrar cómo te diferencias del resto.
Este estilo es genial para aquellos que buscan una página web más limpia y que haga foco en
la imagen de tu página principal. Si no quieres que tus usuarios lo pierdan de vista, te recomendamos
añadir un color particular para que pueda ser distinguido fácilmente.
Para comenzar con este tema vamos a ver un ejemplo de un menú desplegable básico. Para
ello declararemos listas y sub listas a las que aplicaremos el estilo utilizando contenedor flex.
<!doctype html>
<style>
4
.menuCSS3 a { display: block; padding: 2em; background-color: #F9B53C;
text-decoration: none; color: #191C26;}
</style>
<body>
<nav class="menuCSS3">
<ul>
<li><a href="#">Inicio</a></li>
<li><a href="#">Empleados</a>
<ul>
<li><a href="#">Juan</a></li>
<li><a href="#">Maria</a></li>
<li><a href="#">Ramón</a></li>
<li><a href="#">Luciana</a></li>
</ul>
</li>
<li><a href="#">FAQ</a></li>
<li><a href="#">Contacto</a>
<ul>
<li><a href="#">Email</a></li>
<li><a href="#">Mapa</a></li>
</ul>
</li>
</ul>
</nav>
<body>
</html>
5
Menú con iconos
Como todo menú comenzaremos con una lista y cada elemento de esta lista será formateado
con un estilo donde se incluirá la imagen del icono.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Botones</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style1.css" />
<link href='http://fonts.googleapis.com/css?family=Terminal+Dosis' rel='stylesheet'
type='text/css' />
</head>
<body>
<div class="contenido">
<ul class="ca-menu">
<li>
<a href="#">
<span class="ca-icon">A</span>
<div class="ca-content">
<h2 class="ca-main">Adjuntar</h2>
<h3 class="ca-sub">Archivos al Correo</h3>
</div>
</a>
</li>
<li>
<a href="#">
<span class="ca-icon">I</span>
<div class="ca-content">
<h2 class="ca-main">Visualizar Imagenes</h2>
<h3 class="ca-sub">Galeria de fotos</h3>
</div>
</a>
</li>
<li>
<a href="#">
<span class="ca-icon">C</span>
<div class="ca-content">
<h2 class="ca-main">Descargas</h2>
<h3 class="ca-sub">Desde el Servidor</h3>
</div>
</a>
</li>
<li>
<a href="#">
<span class="ca-icon">S</span>
6
<div class="ca-content">
<h2 class="ca-main">Configuracion</h2>
<h3 class="ca-sub">Personalizar opciones</h3>
</div>
</a>
</li>
<li>
<a href="#">
<span class="ca-icon">d</span>
<div class="ca-content">
<h2 class="ca-main">Comunicacion</h2>
<h3 class="ca-sub">Chat online</h3>
</div>
</a>
</li>
</ul>
</div>
</body>
</html>
@Font-face: permite definir una tipografía e importarla para su uso en una página web.
Antes de su existencia se podía definir una lista de familias en orden decreciente de
prioridad con la regla font-family y se utilizaría la primera que el usuario tuviera
instalada en su sistema, con font-face la fuente elegida se puede descargar y utilizar sin
necesidad que el usuario disponga de ella con anterioridad.
@font-face {
font-family: <un-nombre-de-fuente-remota>;
src: <origen> [,<origen>]*;
[font-weight: <peso>];
[font-style: <estilo>];
}
Dónde:
Vamos a centrarnos en la hoja de estilo. Como veras se cargan la lista de fuentes. Recuerda
que en la url del font-face debes cargar una ruta donde se encuentren las fuentes con las que vas a
trabajar.
7
src: url('websymbols/websymbols-regular-webfont.eot');
src: url('websymbols/websymbols-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('websymbols/websymbols-regular-webfont.woff') format('woff'),
url('websymbols/websymbols-regular-webfont.ttf') format('truetype'),
url('websymbols/websymbols-regular-webfont.svg#WebSymbolsRegular') format('svg');
font-weight: normal; font-style: normal;}
.contenido{position:relative;}
a{color: #fff; text-decoration: none;}
h1{margin:0px; padding:20px; font-size:32px; color:#000;
text-shadow:1px 1px 1px rgba(255,255,255,0.9); text-align:center; font-weight:400;}
Lo más importante es el formato que se le da a cada elemento del menú, el icono se saca de
la fuente WebSymbolsRegular cada una de las opciones cambia al acercar el mouse ya que se activa
el comportamiento hover.
.ca-menu li a{ text-align: left; display: block; width: 100%; height: 100%; color: #333;
position:relative;}
.ca-content{ position: absolute; left: 120px; width: 370px; height: 60px; top: 20px;}
8
.ca-menu li:hover .ca-icon{ color: #fff004;
text-shadow: 0px 0px 1px #fff004; font-size: 40px;}
La idea de este ejercicio es seleccionar una opción del menú y que cambie la foto. Lo ideal
es buscar una foto que represente un retrato lo bastante fiel a la persona para que quede más llamativo
el menú.
Lo primero que haremos es definir las opciones del menú con sus correspondientes clases
para ser definidas en la hoja de estilo que definiremos a continuación:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style3.css" />
<link href='http://fonts.googleapis.com/css?family=Alegreya+SC:700,400italic' rel='stylesheet'
type='text/css' />
</head>
<body>
<div class="contenedor">
9
<ul class="menu">
<li><a href="#"><span>Director</span>
<span>Carlos Castro</span></a><img src="images/1.jpg"></li>
<li><a href="#"><span>Coordinator</span>
<span>Laura Oliva</span></a><img src="images/2.jpg" ></li>
<li><a href="#"><span>Docente</span>
<span>Mariano Rodriguez</span></a><img src="images/3.jpg" ></li>
<li><a href="#"><span>Secretario Academico</span>
<span>Benjamin Zabala</span></a><img src="images/4.jpg" ></li>
</ul>
</div>
</body>
</html>
Definiremos las propiedades básicas como lo son el cuerpo, elementos de la lista, la imagen,
los vínculos y el contenedor central.
img { border:0;}
a{color: #333;text-decoration: none;}
El contenedor menú será el que controla el cambio de imágenes a medida que se tocan las
opciones, por lo tanto están deben definirse como hipervínculos. Luego con .menu li:nth-
child(1):hover a se cambia el color de las opciones ejecutando un efecto de transición del color y su
opacidad.
Rgba(): es una propiedad que permite obtener cualquier color a partir de la combinación
de esos tres colores (RGB), pero al agregar A=Alpha, nos permitirá especificar la
opacidad del color. El valor de A es un número entre 1 y 0, siendo 1 totalmente opaco y
0 totalmente transparente.
.menu{ height: 385px; width: 600px; margin: 20px auto; position: relative;}
.menu li a{display: block; width: 280px; padding: 0px 10px; text-align: right;
position: relative; z-index: 10; background: #fff; height: 97px; border-right: 1px solid #ddd;
background-color: rgba(255,255,255, 0.8);}
10
.menu li a span{display:block;}
.menu li img{ position: absolute; z-index: 1; left: 0px; top: 0px; opacity: 0;
-webkit-transition: left 0.4s ease-in-out, opacity 0.6s ease-in-out;
-moz-transition: left 0.4s ease-in-out, opacity 0.6s ease-in-out;
-o-transition: left 0.4s ease-in-out, opacity 0.6s ease-in-out;
-ms-transition: left 0.4s ease-in-out, opacity 0.6s ease-in-out;
transition: left 0.4s ease-in-out, opacity 0.6s ease-in-out;}
Menú Blur
Para este ejercicio definiremos la lista con las opciones que deseamos que aparezca en nuestro
menú.
<!DOCTYPE html>
<html lang="en">
<head>
<title> Menu </title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style2.css" />
<link href='http://fonts.googleapis.com/css?family=Josefin+Slab' rel='stylesheet'
type='text/css' />
</head>
<body style="background-image: url(pattern.png), url(f2.jpg);">
<div class="contenido">
<ul class="menu">
<li><a href="#">Nosotros</a></li>
<li><a href="#">Capacitacion</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Novedades</a></li>
11
<li><a href="#">Servicios</a></li>
<li><a href="#">Contacto</a></li>
</ul>
</div>
<body>
</html>
body,div,ul,ol,li { margin:0;padding:0;}
html,body {margin:0; padding:0;}
ol,ul { list-style:none;}
La parte más importante de este ejercicio es la definición del menú y sus ítems. En este caso
utilizamos el efecto de la opción transform que es skew.
skew (sesgar): skewX inclina sólo los lados verticales, mientras que skewY inclina sólo
los lados horizontales. Se puede colocar un solo parámetro en grados que inclinan los
lados.
12
.menu li a:hover{background: transparent; text-shadow: 1px 1px 10px rgba(89,22,20,0.6);
color: #581514;}
Menú en Transparencias
El siguiente ejercicio es muy similar al anterior usando las trasparencias y el blur. Como
estructura definimos la lista de opciones en html para luego aplicarle el estilo.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Menu Blur</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/style7.css" />
<link href='http://fonts.googleapis.com/css?family=Josefin+Slab' rel='stylesheet' type='text/css'>
</head>
<body style="background-image: url(images/pattern.png), url(images/7.jpg);">
<div class="contenido">
<ul class="menu">
<li><a href="#">Nosotros</a></li>
<li><a href="#">Servicios</a></li>
<li><a href="#">Productos</a></li>
<li><a href="#">Eventos</a></li>
<li><a href="#">Noticias</a></li>
<li><a href="#">Contacto</a></li>
</ul>
</div>
</body>
</html>
13
body{ background-color: transparent; background-repeat: repeat, no-repeat;
background-position: center center; background-attachment: fixed;
-webkit-background-size: auto, cover; -moz-background-size: auto, cover;
-o-background-size: auto, cover; background-size: auto, cover;
color: #fff; font-family: 'Josefin Slab', Arial, sans-serif; font-size: 13px;}
Conclusión
En esta clase vimos la importancia de implementar en nuestro sitio un buen menú y las ventajas que
este nos brinda visualmente. Continuamos con los ejercicios paso a paso aplicando todos los tópicos
vistos hasta el momento en la materia. Ya nos queda poco para terminar la materia como siempre te
digo no dejes de realizar los ejercicios como las practicas que te ayudaran con la interpretación de los
tópicos. Nos vemos en la próxima clase!!.
14
Ejercitación
Ejercitación
1. Como ejercicio te propongo un sitio que cuente con el menú que se muestra a continuación en
la imagen. Cuando se toca una de las opciones esta se desplaza hacia abajo.
15
Autoevaluación
En base a los conocimientos adquiridos, con sus propias palabras responde las siguientes
preguntas:
1. Desarrolla un cuadro comparativo definiendo las ventajas de cada uno de los menús
utilizados en un sitio web.
2. ¿En qué consiste el menú hamburgués y en que oportunidades se puede
implementar?
3. ¿Cuál es la finalidad de Font face?
4. ¿Como se define la estructura básica de un menú con html?
5. ¿Como se trabaja la opacidad de un color desde css? Ejemplifica
6. ¿En que consiste el efecto blur?
16