jueves, 17 de mayo de 2018

Diseño de página maquetación

La maquetación es la distribución de los elementos en nuestra página. Piensa en una página web cualquiera. Seguro que distingues algunos elementos claramente diferenciados, como un encabezado, columnas, y un pie de página.
Hace unos años, la maquetación de las páginas web se realizaba utilizando tablas (<table>). Una vez entendido este proceso podía resultar sencillo, aunque si no se dominaban las tablas, podía convertirse en algo tedioso. El problema de las tablas es que generaban un página muy encorsetada, y el código se volvía complejo de entender. Además, algunos buscadores encontraban problemas al analizar la estructura de la página.
Actualmente, la maquetación con tablas ha caído en desuso, y se realiza utilizando capas (<div>), también llamadas divisiones o contenedores. La colocación de las capas en la página se realiza a través de CSS. Esto permite, por ejemplo, que podamos pasar de un diseño con un menú lateral a otro con el menú en la parte superior, sólo cambiando la hoja de estilos.
En esta unidad veremos las técnicas de maquetación más comunes, aunque hay que decir que existen diversas formas de conseguir una misma maquetación.
Como hemos dicho, emplearemos sobre todo etiquetas del tipo (<div>). Para crear un div alrededor de contenido ya existente desde Dreamweaver, seleccionamos la parte de la página y en el menú Insertar, opción Div. Esta misma opción también se encuentra en el menú Insertar, opción Estructura y ahí, otra vez, opción Div.
También veremos que Dreamweaver nos ofrece una serie de plantillas de maquetación, de las que podremos partir, adaptándolas a nuestras necesidades.Por lo general, la maquetación se realiza sobre elementos en bloque. Normalmente divisiones, pero también lo podemos hacer con párrafos, listas, o con el propio body. Por defecto los elementos de bloque ocupan todo el ancho del elemento que lo contiene, y su alto se ajusta al contenido.
Lados y tamaño
Cualquier elemento HTML de bloque, tiene dos atributos que pueden definir su tamaño: ancho (width) y alto (height).
Los valores para estas medidas, pueden ser expresados en las medidas habituales:
  • Tamaños absolutos, utilizando pxcm, etc...
  • Tamaños relativos al elemento que lo contiene, utilizando porcentajes (%).
  • Tamaños relativos a la fuente, utilizando em.
  • El valor auto es el valor por defecto. Por ejemplo, un párrafo, por defecto, tienen un ancho del 100% y un alto ajustado al contenido.
En algunos elementos, como los Divs PA, nos permiten cambiar su tamaño desde el Inspector de propiedades. Pero en la mayoría, tendremos que hacerlo desde el código o desde las propiedades CSS de Cuadro y Posicionamiento.
Por ejemplo, hemos definido el tamaño para el siguiente párrafo:
<p style="width:200px; height:100px; border: red 2px solid">
Por defecto, al no ocupar todo el ancho, el elemento queda alineado a la izquierda, como en el ejemplo anterior. Una forma sencilla de centrarlo es dándole al margen (margin) derecho e izquierdo el valor auto. Recuerda que las propiedades de margen se encuentran también con las propiedades de Cuadro.
<p style="width:200px; height:100px; border: red 2px solid; margin: auto;">
Nota: En la vista de Diseño de Dreamweaver, esta propiedad no se muestra correctamente.
Con sólo esto, podríamos maquetar una página web que contenga una columna central, con un ancho fijo o relativo, centrada en la ventana del navegador.
Para hacerlo, encerramos todo el contenido del body en una capa, a la que le asignamos, como mínimo, estas reglas CSS:
#container {
 width: 960px;
 margin: 0 auto; 
}

Estilos Cc avanzados

asta ahora, si has entrado un poco en el código de las páginas, habrás visto etiquetas que introducían estilos CSS en ellas.
Por defecto, cuando creamos una regla de estilo indicando <style> en la sección Fuentes del Diseñador de CSS, la regla se define únicamente para la página actual. Esto genera un código similar al siguiente en el <head> de la página (por supuesto, cambiando las propiedades según el caso).
<style type="text/css"> 
<!--
  body {
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 12px;
      text-align: center;
      background: url('imagenes/fondo.gif') repeat-x bottom;
  }

//->
</style>
Este método se emplea para incrustar el código directamente en la página. Los estilos son declarados en la cabecera (<head>...</head>), entre las etiquetas <style type="text/css"> y </style>.

La base del CSS es lograr un estilo homogéneo y fácil de modificar para todo nuestro sitio. Por lo tanto, no tiene sentido incrustar el mismo estilo en cada página. En nuestros sitios de ejemplo, hemos optado por exportar los estilo a una hojas de estilos (un archivo de extensión .css). Esta opción nos resultaba mucho mejor, ya que nos permite centralizar el estilo en un sólo archivo que aplicaremos a todas las páginas.
Si acabamos de comenzar con nuestro sitio, podemos crear nuestra hoja directamente. En este caso deberemos crear un archivo CSS (Archivo → Nuevo y seleccionando CSS). En él escribiremos las reglas de estilo con la misma sintaxis que hemos visto más arriba pero eliminado el componente HTML. Este sería el contenido de nuestra hoja definiendo el mismo estilo que arriba:
@charset "iso-8859-1";
/* CSS Document */
  body {
      font-family: Verdana, Arial, Helvetica, sans-serif;
      font-size: 12px;
      text-align: center;
      background: url('imagenes/fondo.gif') repeat-x bottom;
  }
Las dos primeras líneas generadas por Dreamweaver no son imprescindibles.
Este código está guardado en un archivo con extensión .css (por ejemplo, miestilo.css). Luego deberíamos vincularlo en la página HTML utilizando la etiqueta <link /> dentro del <head> de la página:
<link href="ruta/miestilo.css" rel="stylesheet" type="text/css" />

Otra opción que nos permite el Inspector de propiedades CSS es crear un Estilo en línea. Este estilo sólo afecta al elemento en cuestión, ya que lo que realmente estamos haciendo es definir las propiedades CSS empleando el atributo style del elemento:
<p style="color: red; font-size: 30px;">Este texto está en rojo y con un tamaño de 30 píxeles</p>
El estilo en línea es el más desaconsejado porque es más difícil de modificar al tener que buscarlo por el texto y modificándolo uno a uno.

Una página puede contener todos estos tipos de estilos CSS, o incluso tener varias hojas de estilo asociadas. Entonces ¿cuándo empleamos cada uno?
  • Emplearemos hojas de estilos para todos los estilos comunes a las páginas del sitio.
  • Emplearemos estilos incrustados en la página para los estilos que se emplean en únicamente en esa página, y que ya no serían útiles si borrásemos la página. Por ejemplo, para definir el la apariencia de una tabla en concreto.
  • Emplearemos estilos en línea cuando el estilo solo tenga sentido por estar en esa posición en concreto, y no se suela repetir en el sitio. Por ejemplo, si queremos dar más margen a un párrafo por tener una imagen en concreto, pero que no tendría sentido si cambiásemos la imagen.
La organización de los estilos debes decidirla tú. Pero recuerda que cuanto menos código repitas en tus páginas, más fácil será luego de modificar o exportar.

Comportamientos avanzados

Este comportamiento te permitirá crear avisos emergentes como en el siguiente ejemplo.
Este comportamiento es útil para poder enviar mensajes al usuario. Ten en cuenta que no deberás abusar de ellos, pues a la larga pueden resultar un poco incómodos, utilízalos con un objetivo concreto y no porque quieras atraer la atención del usuario. Mientras se muestre el mensaje, la ventana del navegador quedará bloqueada.

Para crear un mensaje emergente deberás seleccionar el elemento al cual irá asociado el mensaje, en el ejemplo es un enlace de texto.
Una vez seleccionado ves al panel Comportamientos (Mayus + F4) pulsa el botón añadir comportamiento y selecciona la opción Mensaje emergente.
Se abrirá el siguiente cuadro de diálogo:
Cuadro de diálogo de Mensaje emergente
Aquí deberás introducir el Mensaje que quieras que se muestre. Pulsa Aceptar cuando hayas acabado y estará listo.
El mensaje se mostrará con un aspecto similar al siguiente (dependiendo del navegador utilizado):

Es aconsejable que asocies este comportamiento al evento onClick (cuando el usuario hace clic). Es más intuitivo para el usuario que si, por ejemplo, asocias el mensaje a un evento onMouseOver(cuando se pase el ratón por encima) el usuario no sabrá muy bien porque se ha generado el mensaje de aviso. Y resultaría muy molesto tener que ir "esquivando" los enlaces por si aparecen mensajes emergentes.
En realidad no habrá hecho ningún movimiento voluntario para recibir ese tipo de respuesta. Debido a esto (el estimulo-respuesta que espera el usuario), el evento onClick es el más indicado para este caso.

Comportamientos

Los comportamientos son acciones que suceden cuando los usuarios realizan algún evento sobre un objeto, como puede ser mover el ratón sobre una imagen, pulsar sobre un texto, hacer doble clic sobre un mapa de imagen, etc.
Los comportamientos no existen como código HTML, se programan en JavaScript. Dreamweaver permite insertarlos a través del panel Comportamientos, por lo que no es necesario escribir ninguna línea de código JavaScript para programarlos.
La imagen que aparece a continuación tiene asociado un comportamiento. Sitúa el puntero sobre ella para ver qué es lo que ocurre.
La imagen tiene asociados dos comportamientos para mostrar y ocultar la capa. Este tipo de comportamiento lo veremos más adelante.
Otros comportamientos que ya has visto son los que se aplican sobre las imágenes de sustitución y las barras de navegación, que ya están predefinidos, por lo que no es necesario introducir este conjunto de comportamientos a través del panel Comportamientos.
Para validar formularios ya viste algunas características del panel Comportamientos. Vamos a recordar las que necesitamos para poder insertar comportamientos más tarde.
El panel Comportamientos se puede abrir a través del menú Ventana, opción Comportamientos. También pulsando Mayús+F4.

Diseño de página maquetación

La maquetación es la distribución de los elementos en nuestra página. Piensa en una página web cualquiera. Seguro que distingues algunos el...