1. Introducción al HTML:
HTML (HyperText Markup Language) es el primer lenguaje que una persona debe conocer si desea comenzar a realizar páginas web. HTML no es un lenguaje de programación, sino una lenguaje descriptivo, una serie de etiquetas que el navegador interpretará de una u otra forma para mostrar distintos contenidos por pantalla.
Por tanto, aprender HTML consiste en conocer y saber utilizar dichas etiquetas. Para realizar este curso no necesitas ningún software específico, sino que tan sólo necesitas un editor de texto, como puede ser el bloc de notas de Windows, aunque se recomienda usar algún otro editor más especializado que te ayude en la escritura del código, como puede ser el Macromedia Dreamweaver.
2. Estructura basica de una pagina web:
Una estructura HTML se empieza con la etiqueta <html> y acaba con </html>. Todo lo que esté en medio será la página web. Dentro de <html></html> se encuentran 2 partes diferenciadas.La primera <head></head> es la cabecera de la página. Aquí irán cierta información que no es directamente el contenido de la página. Aquí se pone el título de la página, los metadatos, estilos, código javascript (todo esto se estudiará en capítulos venideros). La primera que se suele estudiar es <title></title>, que indica el título de la página (lo que el navegador pone en la parte superior izquierda). La segunda parte es <body></body>. Aquí va propiamente el contenido de la página: fotos, párrafos, formularios, etc.
<html>
<head>
<title>Esto es el título de la página.</title>
</head>
<body>
Hola mundo!<br>
<b>Esto es negrita.</b><br>
<i>Y esto itálica.</i><br>
</body>
</html>
Observad el título en la parte superior izquierda de la página. Además, dentro de <body></body> distinguimos varias etiquetas:
<br> => Indica salto de línea. En HTML un salto de línea normal (púlsando la tecla Enter) no produce un salto de línea en el resultado. Es necesario escribir <br> (u otra etiqueta similar).
<b></b> => Indica comienzo y fin de negrita.
<i></b> => Itálica.
También observamos el código &iaacute; => Esto indica que queremos poner una “i” con acento, es decir, “í”. Esto se explicará en un capítulo posterior.
3. Meta tag básicos:
No podemos hablar de la estructura básica de un página web sin hablaros de los meta tags. Los meta tags se insertan en la cabecera de la página, entre las etiquetas <head></head>. La función de estos tags varía. Los meta tags no se pueden ver a no ser que sea a través del código fuente. Es decir, un meta tag no hace variar la apariencia de una página web, pero son imprescindibles e importantísimos para los buscadores webs. El esquema de un meta tag es el siguiente: <meta name=” ” content=” “/>. El “name” muestra el nombre de la etiqueta y el “content” el contenido de esa etiqueta. Los meta tags pueden cerrarse de dos formas: > o /> . La segunda es más correcta aunque los navegadores no muestran diferencia con una u otra.
Este meta es también destinado para los buscadores. En la “description” escribiremos la descripción de la página, de sus contenidos. Esto lo haremos a través de frases cortas y separadas entre ellas por puntos. En nuestra página este meta quedaría de la siguiente manera:
<meta name=”Description” content=”Tutorial html. Meta tags” />
Este meta tag le indica al buscador el idioma en el que está escrita la página. En el caso de español en content se pone “es”, en inglés “en”, en francés “fr”… Nuestra página es española así que su meta será el siguiente:
<meta http-equiv=”Content-Language” content=”es”/>
Este meta es importante. Marca la distribución que queremos que se haga de nuestra web en Internet. Si queremos que se distribuya por todo el mundo en “content” indicaremos “global”. Escribir este meta en global es lo más recomendable. Así pues nuestra página incluirá…
<meta name=”distribution” content=”global”/>
Puede que no queramos que nuestra página sea indexada por los robots de los buscadores Web. En ese caso debemos indicárselo con el meta “Robots”. En content variará la respuesta dependiendo del valor que escribamos.
Los valores “all” e “index” indicarán que queremos que se indexe toda la página. Los valores “none” y “noindex” indicarán que no queremos que se indexe nada. El valor “follow” indica que queremos que el robot siga los vínculos externos de nuestra web y “nofollow” indicará lo contrario.
4. Etiqueta html body:
Anteriormente os hemos explicado que todo lo que queramos que se vea en nuestra página web deberemos escribirlo dentro de la etiqueta body. Eso es lo que llamamos el “cuerpo” del documento. Es la parte visible. Pero debes saber que ese cuerpo, o sea, que la etiqueta body también podemos personalizarla para darle el aspecto que nosotros deseemos.
El primer parámetro que debes conocer es el del color de fondo, el “bgcolor”. A través de este parámetro podremos definir el color de fondo que queramos que tenga nuestra página. Un ejemplo muy simple es el siguiente: Si queremos que nuestra página quede con un fondo rojo deberemos escribir:
<body bgcolor=”#FF0000″></body>
Puede que no quieres que tu página tenga un color sólo de fondo, sino que quieras que tu página tenga una imagen. En ese caso deberás indicarlo con la etiqueta “background”. La etiqueta quedaría de la siguiente manera:
<body background=”URL”> </body>
Dónde leemos “URL” deberemos escribir la dirección de la imagen que queramos que sea nuestro fondo. Una cosa muy importante que debes saber es que si la imagen no es suficientemente grande para rellenar toda la página, la imagen se repetirá tanto a lo ancho como a lo largo hasta rellenar todo el espacio.
Una vez tenemos el fondo definido, tendremos que predefinir ahora el color del texto de nuestra web. Es decir, tendremos que decirle al navegador de qué color queremos que sea nuestro texto. Esto lo definiremos con el parámetro “text”.
Como ejemplo vamos a poner que queremos que nuestro texto sea en negro, con lo que escribiremos lo siguiente:
<body text= “#000000”></body>
Ya sabemos de qué color será nuestro fondo y nuestro texto, pero también podemos predefinir los márgenes de nuestra página web para que queda mucho mejor. Porque no queremos que nuestro texto se quede muy pegada a los márgenes, ¿verdad?
Para especificar los márgenes utilizaremos el parámetro margin, con su correspondiente indicación delante. Así encontraremos “leftmargin” para el margen izquierdo, “topmargin” para el margen de arriba, “rightmargin” para el margen de la derecha y “bottommargin” para el margen de abajo.
Si queremos que nuestros márgenes sean de 10 píxeles por todas partes escribiremos lo siguiente:
<body leftmargin=”10px” topmargin=”10px” rightmargin=”10px” bottommargin=”10px”></body>
En body también podemos ( y de hecho debemos hacerlo) definir el color de los vínculos de nuestra páginas, definir el color con el que se mostraran los links. Aquí debemos diferenciar tres tipos de instrucciones: Debemos definir el color del link (con la etiqueta “link”), el color del link activo (con la etiqueta “alink”) y el color del link ya visitado (con la etiqueta “vlink”).
Así pues, si queremos que nuestra página tenga un color de enlaces (de links) de color rojo y que esos enlaces sean rojos cuando estén activos y se queden en azul cuando estén inactivos deberemos escribir lo siguiente:
<body link= “#FF0000” alink= “#FF0000” vlink= “# 0000FF”></body>
5. Formateo de texto:
Las etiquetas deben rodear al texto. Es decir, la etiqueta debe abrirse y cerrarse, conteniendo el texto o la palabra que queramos transformar, entre medias. En el ejemplo de la negrita se abriría <b> y se cerraría </b>. Se pueden combinar diferentes formatos, o sea, diferentes etiquetas. Por ejemplo, si queremos que un texto esté en negrita y en cursiva escribiríamos esto: <b><i>Este texto está escrito en negrita y en cursiva</i></b>.Cuando combines, ten cuidado a la hora de cerrar las etiquetas. Debes cerrar las etiquetas por orden, de la más interior a la más exterior. Por último, recordad que podéis escribir las etiqutes en minúsculas o en mayúsculas.
Existen dos etiquetas que harán que nuestro texto se convierta en negrita. La utilización de cualquiera de ellas es indiferente. Puedes usar la que prefieras.
La primera es la etiqueta <b> y la otra es la etiqueta <strong>. Aquí va un ejemplo:
Este palabra la vamos a poner en <b>negrita</b> y esta otra <strong>también</strong>
Este palabra la vamos a poner en negrita y esta otra también
Para escribir un texto en cursiva debemos utilizar la etiqueta <i> (y por supuesto cerrarla con la etiqueta </i>).
También podemos utilizar la etiqueta <em>. Como en el caso de la negrita, es indiferente el uso de una u otra. Aquí os dejo un ejemplo:
Esta palabra la vamos a poner en <i>cursiva</i> y esta otra <em>también</em>
Esta palabra la vamos a poner en cursiva y esta otra también
Si queremos que la palabra o el texto quede subrayado, deberemos rodearlo con la etiqueta <u> y cerrarlo con su correspondiente etiqueta. O sea, </u>. Así subrayaríamos una frase importante:
<u>Así subrayaríamos una frase importante</u>
Así subrayaríamos una frase importante
TT son las iniciales de “teletype”. Utilizando esta etiqueta conseguiremos un espaciado simple entre las diferentes letras del texto. Abriremos la etiqueta con <tt> y la cerraremos con </tt>.
<tt>Esta frase la vamos a escribir de forma espaciada </tt>
Esta frase la vamos a escribir de forma espaciada
Puede que en una frase queramos destacar un palabra por medio de una variación de tamaño sin necesidad de utilizar los encabezados(los explicaremos más adelante). Pues esta variación de tamaño la conseguiremos gracias a las etiquetas <big> y <small>.
Sus propios nombres en inglés nos indican cuáles serán sus funciones: <big> agrandará el texto y <small> lo disminuirá.
Cada vez que escribamos una etiqueta, haremos el texto un punto más grande. Pero estas etiquetas también la podemos combinar, por lo que si escribimos dos veces la etiqueta <big>, haremos crecer la palabra dos puntos.
Un ejemplo sería el siguiente:
Esta palabra se va a escribir <small>pequeñita</small>, esta se va a escribir <big>más grande</big> y ésta <big><big>más grande aún</big></big>.
Esta palabra se va a escribir pequeñita, esta se va a escribir más grande y ésta más grande aún.
Mediante el Html también podemos escribir fórmulas matemáticas. Gracias a las etiquetas siguientes podrás escribir subíndices y superíndices fácilmente. La etiqueta <sub> te servirá para escribir un subíndice y <sup> será tu etiqueta para un superíndice.
Así nos queda un ejemplo como el siguiente:
Gracias a estas etiquetas podemos escribir cualquier formula matemática como esta: H <sub>2</sub> O o números elevados a potencias 7<sup>3</sup>.
Gracias a estas etiquetas podemos escribir cualquier formula matemática como esta: H 2 O o números elevados a potencias 73.
Existen tres etiquetas diferentes que nos servirán para conseguir que nuestro texto se quede tacahado. Hablamos de las etiquetas <strike>, <s> y <del>. Hablamos de las etiquetas <strike>, <s> y <del>. Ambas nos ofrecen el mismo resultado. Aquí tienes la muestra:
Si la palabra no me gusta la puedo tachar <strike>así</strike>, <s>así</s> o <del>así</del>. ¡Lo mismo me da!
Si la palabra no me gusta la puedo tachar así, así o así. ¡Lo mismo me da!
6. Parrafos y saltos de linea:
En html para dejar un salto de línea debemos utilizar una serie de etiquetas, de código, que el navegador interpretará cómo tal. Esas etiquetas son <br/> </p> o </pre>. A continuación te explicaremos cada una de ellas.
Ya os hemos comentado anteriormente que en html los saltos de línea escritos en código no son tal una vez el navegador interpreta el código. Vamos a explicaros esto con un claro ejemplo:
Puedes escribir un texto como este
y el navegador no lo interpretará así
Y se verá así:
Puedes escribir un texto como este
y el navegador no lo interpretará así
Existen dos etiquetas para indicar que queremos hacer un salto de línea normal. Son las etiquetas <br> y <br/> ambas son interpretadas igual por el navegador. Esta etiqueta no hace falta abrirla y cerrarla, sólo con escribirla el navegador ya la interpreta.
Así pues el texto anterior deberíamos escribirlo de la siguiente forma:
Puedes escribir un texto como este <br/>
y el navegador no lo interpretará así
Para indicarle al navegador que queremos poner ese texto en un párrafo, debemos escribirlo entre las etiquetas <p> y su cierre </p>.
Así el texto quedará dentro de un párrafo, separado por un espacio en blanco por encima y uno por abajo.
El texto del párrafo lo puedes alinear utilizando la etiqueta align utilizando los parámetros “center” (para alinearlo al centro), “right” (para alinearlo a la derecha), “left” (para alinearlo a la izquierda) y “justify” (para justificar el texto).
Un ejemplo de esta etiqueta con sus respectivos parámetros es el siguiente:
<p align="center">Este texto se alineará al centro</p>
<p align="right">Este texto se alineará a la derecha</p>
<p align="left">Este texto se alineará a la izquierda</p>
Que se verá así:
Este texto se alineará al centro
Este texto se alineará a la derecha
Este texto se alineará a la izquierda
La etiqueta <pre> la puedes utilizar para que el navegador interprete el texto escrito tal y como está.
Como ejemplo os mostraremos este texto:
Escribo esta línea así
Dejo dos líneas de separación
y escribo tres más.
Sin poner ninguna etiqueta, el navegador respondería así:
Escribo esta línea así
Dejo dos líneas de separación
y escribo tres más.
En cambio utilizando la etiqueta <pre> y cerrándola con su correspondiente etiqueta, este código:
<pre>Escribo esta línea así
Dejo dos líneas de separación
y escribo tres más.</pre>
7. Comentarios en HTML:
La forma correcta de escribir un comentario html es la siguiente:
<!--Esto es un comentario-->
Podemos apreciar que para los comentarios no se usan las etiquetas vistas en casi todo el html, aunque la estructura es prácticamente la misma. Hay una apertura y un cierre, y todo lo que va dentro de estos dos elementos es el comentario.
El código de apertura es el siguiente: <!– y el cierre del comentario se escribe así: –>. Mira el código del siguiente ejemplo:
A continuación vamos a escribir un comentario, pero aquí no lo podremos ver porque...<br>
<!--este es el primer comentario que hemos escrito-->
...los comentarios no son visibles para el usuario... <br>
<!--otro comentario para editores-->
...sólo para los editores de la página
Y comprueba a continuación como no vamos a poder ver los comentarios escritos. Sólo podremos hacerlo a través del código fuente de la página.
8. Separadores en HTML:
Para separar un texto de otro o un párrafo de otro podemos utilizar una línea horizontal de un tamaño o un grosor determinado por nosotros. Esa franja la escribimos con la etiqueta <hr>. La contrario que muchas etiquetas html, ésta no necesita ser cerrada. Sólo con escribir la etiqueta anterior ya la escribimos.
La etiqueta <hr>, como muchas otras etiquetas, puede variar de aspecto dependiendo de las reglas CSS que definamos.
A continuación te vamos a ofrecer dos ejemplos de franjas con diferentes grosores, siendo la primera 15px y la segunda 2px. La diferencia es abismal.
<hr style="border:15px;"><hr style="border:2px;">
Y el resultado sería el siguiente:
En el caso de no escribir nada (como en los ejemplos anteriores), la franja será predeterminada del 100%. Si queremos que ocupe más o menos tendremos que escribirlo con el atributo CSS width.
A continuación vamos a escribir una franja de 75% de ancho:
<hr style="width:75%;">
Que quedaría de la siguiente manera:
También podemos predefinir el color que le queremos dar a la franja con el atributo CSS “border-color”. Es muy sencillo. Por ejemplo, si queremos que nuestra franja sea de color rojo sólo debemos ponerle la etiqueta:
<hr style="border-color:red;">
9. Encabezados:
Puede que queramos empezar nuestra web o nuestro texto con un encabezado indicando el título del artículo, categoría, etc. Pues bien, para escribir encabezados tenemos que utilizar las etiquetas <h>.Esta etiqueta viene acompañada de un número, desde el 1 hasta el 6, predefiniendo éstos el tamaño del encabezado. Así, <h1> sería el encabezado más grande mientras que <h6> sería el más pequeño.
A continuación vamos a mostraros el código de los seis diferentes encabezados:
<h1>Texto muy grande</h1>
<h2>Texto grande</h2>
<h3>Texto algo más grande de lo normal</h3>
<h4>Texto normal</h4>
<h5>Texto pequeño</h5>
<h6>Texto muy pequeño</h6>
Podéis ver el resultado ahora:
Texto normal
Texto pequeño
TEXTO MUY PEQUEÑO
Si ya habéis visto el ejemplo os daréis cuenta que cada encabezado está separado del anterior y del siguiente por un salto de línea y que nosotros en el código no hemos escrito nada. Podéis deducir pues, que los encabezados generan por sí solos uno salto de línea.
10. Caracteres especiales:
Estos caracteres son esenciales. No por que no sean interpretados correctamente por el navegador, sino porque estos símbolos mal escritos pueden causar que nuestra web no funcione correctamente.
11. Tablas HTML:
Una tabla en html viene marcada por las etiquetas <table> </table>. Entre esas dos etiquetas definiremos la tabla, las celdas que queremos, las columnas y las características de cada uno de estos parámetros. Pero vamos a empezar explicándote la etiqueta <table>.
Como ya ocurre con la etiqueta body, a una tabla también lo podemos definir el fondo de la misma. Esto lo podemos conseguir con el parámetro “bgcolor”, que nos pondrá un color de fondo, o “background” para poner una imagen de fondo. Recuerda que si la imagen es más pequeña que la tabla, ésta se repetirá tanto a lo ancho como a lo largo.
Otro aspecto que podemos definir de la tabla es el borde. Esto lo haremos con el parámetro “border”. Como en todas los parámetros que ya hemos visto escribiremos: border= “x” siendo la x un número. Ese número indicará el grosor del borde. Si no ponemos borde o lo escribimos “0”, la tabla no mostrará borde ninguno. Por supuesto, también podemos darle color al borde, escribiendo la etiqueta “bordercolor” e indicando el color que queramos para nuestro borde.
El parámetro “width” indircará la anchura de la tabla. Esta anchura la podemos poner en píxeles (width= “300”) o con porcentaje (width= “100%”).
Dos parámetros más son cellspacing (que define el espacio entre las celdas de la tabla) y cellpadding (que le marca a la tabla el espacio que debe dejar alrededor del texto dentro de una celda).
Como ejemplo, escribiremos el hipotético supuesto de querer una tabla que sea ancha al 100%, con un borde azul de un píxel de grosor y con un cellpadding de 10 y con un cellspacing de 10. El código quedaría de la siguiente forma.
<table width="100%" border="1" bordercolor="#0000FF" cellspacing="10" cellpadding="10"></table>
Una vez explicadas las tablas, vamos a pasar a explicarte las partes fundamentales de las mismas.
Como hemos visto en el encabezado las filas se escriben gracias a las etiquetas <tr> con su correspondiente cierre </tr>. El contenido de las columnas que están dentro de la fila lo podemos alínear tanto horizontal como verticalmente.
Para alinearlo verticalmente utilizaremos el atributo “valign” para poder alinearlo arriba de la celda (“top”), en el centro (“middle”) o debajo (“bottom”).
Para alinearlo horizontalmente utilizaremos el atributo “align”. Con este atributo podremos alinear el contenido de las celdas en el centro (“center”), a la izquierda (“left”), a la derecha (“right”) o justificado (“justify”).
Por supuesto a las filas también les podemos definir el color de fondo (“bgcolor”) y el color del borde (“bordercolor”).
Las celdas que van dentro de cada fila las tenemos que escribirlas con la etiqueta <td> y su correspondiente cierre </td>.
Al igual que en las filas, en las celdas podemos definir el la alineación del contenido que está dentro con los atributos “valign” y “align”.
Las celdas poseen unos atributos que nos ayudan a poder agrupar tantas celdas o tantas columnas como indiquemos en él. Para agrupar celdas utilizaríamos el atributo “colspan” y para agrupar celdas el atributo “rowspan”.
Por ejemplo, para agrupar en una celda 2 columnas tenemos que escribir: <td colspan=”2″></td>. Y para agrupar dos filas, la indicación sería la siguiente: <td rowspan= “2”></td>.
Las celdas escritas con la etiqueta <th> y su correspondiente cierre, admiten los mismos atributos que las etiquetas <td> y funcionan de la misma forma, salvo que el contenido que esté dentro de una etiqueta <th> está considerado como el encabezado de la tabla, por lo que se creará en negrita y centrado sin que nosotros se lo indiquemos.
A continuación vamos a ponerte un pequeño ejemplo de una tabla que combina todas las cosas que hemos ido viendo en el artículo. Estúdiate primero el código, visualiza cómo quedaría la tabla y luego mírala:
<table width="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<th>Encabezado 1</th>
<th>Encabezado 2</th>
<th>Encabezado 3</th>
</tr>
<tr>
<td rowspan="2" valign="middle" align="left">Este texto está alineado al centro
verticalmente y a la izquierda horizontalmente</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
nowrap es un atributo que le podemos colocar a la etiqueta de la celda y que obligará al navegador a no romper esa línea, o sea, a no hacer ningún salto de línea. Con este atributo en la celda, el navegador no respeta el ancho predefinido de la tabla, si es que lo hubiera, y respeta el ancho de la frase, ya que no puede partirla.
Por tanto, si la frase es más larga que el ancho definido de la tabla, ésta se estirará todo lo necesario para albergar la frase sin saltos de línea. El siguiente código nos mostrará como escribir este atributo en la etiqueta de la celda:
<table width="400" border="1" cellpadding="10" cellspacing="0" bordercolor="#000000">
<tr>
<td nowrap>Aunque este texto sea más ancho que los 400 píxeles
de la tabla, ésta no puede dividir mediante saltos de línea
el contenido de la misma, por lo que se estira para albergar toda la frase.</td>
</tr>
</table>
Y a continuación podemos ver el efecto del atributo:
Aunque este texto sea más ancho que los 400 píxeles
de la tabla, ésta no puede dividir mediante saltos de línea
el contenido de la misma, por lo que se estira para albergar toda la frase.
Esta etiqueta sirve para poder ponerle un título o encabezado a la tabla. Puedes poder el encabezado arriba o abajo, dónde tu prefieras, mediante la etiqueta “align”: “align=top” para ponerlo arriba y “align=bottom” para ponerlo abajo. En el siguiente ejemplo nosotros lo hemos puesto abajo.
<table width="50%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
<caption align="bottom">Encabezado de la tabla.</caption>
<tr>
<td align="center">Tablita de ejmplo para la etiqueta "caption"</td>
</tr>
</table>
Tablita de ejmplo para la etiqueta "caption"
Encabezado de la tabla.
12. Listas HTML:
Las listas no ordenadas van dentro de la etiqueta <ul> HTML y de su cierre </ul>. Cada punto que queramos añadir a la lista, lo haremos dentro de la etiqueta <li> y su cierre.
Si no le indicamos nada a la etiqueta <li> HTML, ésta se generará de forma automática. Pero si queremos definir nosotros mismo el símbolo del punto, podemos gracias al atributo “type”.
Así podemos hacer que la lista esté definida por puntos negros (li type=”disc”), por puntos con el fondo blanco (li type=”circle”) o por cuadrados (li type=”square”). Aunque esta apariencia dependerá del navegador. Hay algunos navegadores que dan otras apariencias a estos mismos atributos.
Vamos con un pequeño ejemplo en código:
<ul>
<li type="circle">Esto es un tipo de punto.</li>
<li type="square">Este es otro.</li>
<li type="disc">Y este es otro diferente.</li>
</ul>
Cuyo resultado visual será el que veremos a continuación:
Esto es un tipo de punto.
Este es otro.
Y este es otro diferente.
Las listas ordenadas van enmarcadas dentro de las etiquetas <ol> </ol>. Cada punto de la lista se escribe con la misma etiqueta que en las no numeradas: <li>. Pero al ser listas ordenadas los símbolos serán números y éstos se irán generando automáticamente por orden, conforme escribamos nuevos puntos.
En las listas ordenadas podemos hacer que el primer punto comience con el número que nosotros queramos. Lo conseguiremos gracias al atributo “value”. Los siguientes puntos que escribamos se generarán automáticamente por orden, partiendo de ese número.
Por ejemplo, si queremos que nuestra lista empiece por el número 20, sólo deberemos escribir lo siguiente:
<ol>
<li value="20">Este será el número 20. </li>
<li>Este será el 21. </li>
<li> Este será el 22. Y así sucesivamente. </li>
</ol>
Y el resultado será el siguiente:
Este será el número 20.
Este será el 21.
Este será el 22. Y así sucesivamente.
Si lo que vamos a hacer es un listado de definiciones, podemos usar las etiquetas <dl>, <dt> y <dd>. Vamos a explicarlas por partes:
La etiqueta <dl> viene de los términos ingleses “Definiton list” y nos indica que dentro de ella, entre ella y su cierre, va a ir una definición.
La etiqueta <dt> viene de los términos “Definition term” y dentro de ella irá el término que vamos a definir. Para entendernos mejor, dentro de <dt> iría el título de la definición.
La etiqueta <dd> viene de los términos “Definition description” y nos dice que dentro de ésta irá la definición.
Si escribimos varios listados de definición, éstas se separarán automáticamente entre ellas para facilitar su diferenciación.
Aquí podemos ver un ejemplo de código de dos listado de definición:
<dl>
<dt>Aquí va el término que definiremos</dt>
<dd>Y aquí dentro irá la definición propiamente dicha.</dd>
</dl>
<dl>
<dt>Aquí va la segunda definición</dt>
<dd>Y aquí dentro irá la segunda definición, separada automáticamente de la anterior.</dd>
</dl>
Cuyo resultado será el siguiente:
Aquí va el término que definiremos
Y aquí dentro irá la definición propiamente dicha.
Aquí va la segunda definición
Y aquí dentro irá la segunda definición, separada automáticamente de la anterior.
13. Imagenes HTML:
El tag básico para colocar una imagen es “img“. Este tag, a diferencia de la gran mayoría de los tags de html, no necesita un cierre. Va acompañado de diferentes atributos que te vamos a explicar a continuación.
El atributo “src” es imprescindible para poder colocar una imagen. Este atributo es el que indica dónde se encuentra alojada la imagen que queremos mostrar. Se escribe así: <img src=”x”>, siendo “x” la dirección o la url dónde se encuentra situada la foto.
La foto podemos alinearla en la página como queramos mediante “align“, utilizando los atributos “left” para alinearla a la izquierda, “right” para alinearla a la derecha, “top” para alinearla arriba, “bottom” para alinearla abajo y “middle” para alinearla al centro.
También podemos poner una descripción de la imagen dentro de la misma para que la gente puede leerla al mantener el ratón encima de ella. Esta descripción podemos escribirla mediante el atributo “alt” y lo escribiríamos de la siguiente manera: alt= “x”, siendo “x” la descripción que le gente leerá al pasar el ratón por encima.
Debemos aclarar que no con todos los navegadores podemos ver el “alt” de manera visual. Hay algunos que no lo representan.
Atributos opcionales pero muy recomendables, son el height y el width. El height marca la altura de la imagen, mientras que el width marca la anchura. Son recomendables porque así ayudaremos al navegador a representar la imagen.
Y por último, también queremos mostrarte que le puedes adjudicar un borde a la fotografía. El atributo ya te lo sabes: “border“. Después solo tendrás que definir cuál quieres que sea el grosor del borde.
Así las cosas, deberemos escribir este código…
<img src="html/imagenes/prueba.jpg" border="1" alt="Este es el ejemplo de un texto alternativo" width="400" height="300">
En la creciente tendencia a la maquetación mobile first, debemos considerar la anchura máxima que una imagen debe tener para poder ser visualizada de forma correcta en diferentes tamaños de pantalla y diferentes dispositivos. Para ello podremos hacer uso de distintas reglas CSS, aplicadas tanto en las hojas de estilo como en el propio documento HTML.
Para hacer una imagen responsive adaptada al tamaño de su contenedor, tan solo tienes que añadir el siguiente atributo a la etiqueta img: style=”max-width:100%;width:auto;height:auto;”. Con esto conseguirás que la imagen se adapte a los diferentes cambios en el tamaño de pantalla.
Un caso típico es, como dicen en este artículo sobre cómo hacer un logo profesional gratis, la inserción de un logotipo que responda, usando una misma imagen, a diferentes tamaños de pantalla.
Ejemplo:
Escribiendo este código:
<img src="html/imagenes/prueba.jpg" style="max-width:100%;width:auto;height:auto;">
14. Mapas de imagenes:
Las fotos en las que queramos introducir un mapa de imágenes deberán ser de uno de estos tres formatos: .jpg, .gif o .png, que son los tres formatos recomendables para todos los navegadores.
A continuación vamos a explicarte como podemos crear este tag html y los diferentes atributos que posee este tag. Como veremos a lo largo del artículo, lo difícil de crear un mapa de imágenes no es el mapa en sí, sino encontrar las coordenadas en la imagen. Aunque existen programas de edición de imágenes que nos ayudarían en esa tarea.
Cómo ya podemos suponer, <map> es el tag necesario para poder crear un mapa de imágenes en html. Por supuesto, posee un cierre: </map>.
Este tag debe ir acompañado del atributo name= “x”, para indicar el nombre del mapa. Por tanto si queremos hacer un mapa que se llame ejemplo 1, escribiremos: <map name= “ejemplo1”>
El mapa de imágenes lleva un área dentro de la cual podremos pinchar para dirigirnos al destino que hayamos preestablecido. Pero, por supuesto, esa área se la tenemos que indicar al navegador para que la interprete.
La zona del enlace se indica dentro de la etiqueta, estableciendo las coordenadas de dicha área. También podemos escribirle un texto alternativo, un “alt”, al área.
Existen tres tipos de áreas. Vamos a explicártelas a continuación.
Este atributo nos indicará el tipo de área que es. Como hemos dicho existen tres tipos: rectangular (rect), poligonal (poly) o circular (circle) y cada una de ellas tiene unas características diferentes. Vamos a profundizar un poco más en ellas.
shape=“rect” : Este tipo de área crea un mapa de imagen rectangular. Para definir la zona que incluirá ese mapa deberemos definir la esquina superior izquierda del área y la esquina inferior derecha.
shape=“circle” : Este tipo de área crea un mapa de imagen circular. Nosotros sólo debemos indicarle el centro de la circunferencia y el radio del mismo.
shape=“poly” : Este tipo de área es la más versátil de todas, la que más posibilidades nos ofrece, ya que nos permite crear una zona personalizada. Para crearla debemos indicarle los diferentes puntos del polígono que hagamos y de una forma ordenada, siguiendo el camino que nosotros hemos trazado para hacerlo.
Bien, pero…¿y cómo indicamos las coordenadas? Gracias al siguiente atributo.
El atributo coords se escribe de la siguiente forma: coords= “x,x,x,x”, entendiendo que cada “x” representa un punto en la imagen. Cada coordenada debe ir separada por comas.
Y el dónde nos dirigirá esa área nos lo indicará el atributo “href”
Aquí deberemos indicar el destino del área.
Hasta ahora te habíamos indicado cómo podías escribir un mapa de imágenes y cómo definir su área, pero no te habíamos dicho cómo indicar qué imagen es la que llevará el mapa. Esta acción se hace gracias al atributo usemap.
Este atributo se escribe de la siguiente forma: usemap=“#x”, siendo x el nombre del mapa de imágenes que queramos utilizar.
Nosotros hemos querido hacerte un ejemplo con la imagen que puedes ver más abajo. Dentro de estas bolas de billar, nosotros hemos hecho un mapa de imágenes con un área circular que coincide con la bola amarilla. Nuestra “href” es la página de inicio de este tutorial. También hemos hecho un área poligonal en la bola negra del fondo que te llevará al inicio del tutorial de css y otro área rectangular en el centro de la imagen, que te redirigirá al inicio del tutorial de php.
El código nos ha quedado de la siguiente manera:
<img src="/imagenes/prueba-mapa.jpg" alt="Prueba de mapa de imágenes" width="300" height="214" border="0" usemap="#billar">
<map name="billar">
<area alt="Si clícas aquí irás a la página de inicio del tutorial de html" shape="circle" coords="148,154,44" href="/curso-de-html/">
<area alt="Si clías aquí irás a la página de inicio del tutorial de css" shape="poly" coords="148,59,142,49,135,41,128,38,121,34,125,25,135,16,155,11,177,19,188,27,187,36,177,39,168,46,162,52,160,61" href="/curso-de-css/">
<area alt="Si clías aquí irás a la portada" shape="rect" coords="11,77,288,105" href="/">
</map>
15. Enlaces HTML:
Es dentro de esta etiqueta y de su cierre (</a>) dónde encontraremos el enlace. Todo lo que esté dentro de ella, ya sea texto o una imagen, estará considerado como un enlace y el navegador lo interpretará así.
Para que un enlace esté activo debemos indicar dentro de él el destino del mismo. Para establecer este destino le colocamos a la etiqueta <a> este atributo. La etiqueta completa nos quedaría así:
<a href=“enlace”>Pincha aquí para ir al destino del enlace</a>
Las urls pueden tener dos tipos de rutas o direcciones: Las urls con dirección relativa y las urls con dirección absoluta. Vamos a explicarlas a continuación:
Las direcciones absolutas son aquellas que contienen la url completa. En estas direcciones podemos ver todos los elementos de la dirección. Un ejemplo muy claro es el siguiente:
<a href="https://hazunaweb.com/curso-de-html/mapas-de-imagenes/">Artículo de mapas de imágenes</a>
Si pincháramos en el enlace iríamos directamente al artículo de mapas de imágenes del tutorial. Fijaros en lo que hablábamos: podemos apreciar todas las partes de la url.
En las direcciones relativas vemos que no está la url completa. En este tipo de direcciones, las partes que faltan de la dirección el navegador las genera de la propia página en la que está el enlace. Por ejemplo, si dentro de la página encontráramos la siguiente url…
<a href=”/curso-de-html/mapas-de-imagenes/”>Artículo de mapas de imágenes</a>
…el navegador entiende que dentro de la página y de la carpeta en la que se encuentra, debe dirigirse al fichero “mapas-de-imagenes”.
Los enlaces nos pueden llevar a url con diferentes protocolos. Nosotros os vamos a presentar los dos más importantes:
http: Este es el protocolo básico de los servidores webs.
https: Este protocolo se diferencia del anterior en que es un protocolo cifrado. Es decir, la información que se envía y se recibe con esa url esta siendo encriptada para que nadie más pueda interceptar y usar esa información. Las páginas con este protocolo son las conocidas como “páginas seguras”. Esta encriptación de los datos produce una pequeña ralentización de la página debido a que los datos se envían cifrados.
La url mailto es aquella que te lleva directamente a una dirección de correo y, más concretamente, a redactar un mensaje. Una dirección mailto sería la siguiente:
<a href=“mailto:correodeejemplo@correodeejemplo.com>correodeejemplo@correodeejemplo.com</a>
Fíjate en el ejemplo que acabamos de poner. Nosotros, como texto para albergar el enlace, hemos puesto la misma dirección que la que va a abrir la url. ¿Por qué?
El programa de correo que abre el navegador es aquel que el usuario tenga como predefinido. Nosotros te aconsejamos que como texto para albergar el enlace pongas la dirección de correo electrónico. Windows por defecto tiene predeterminado el Outlook y al pinchar en el enlace lo abre directamente. Muchos usuarios prefieren copiar la dirección y pegarla en su programa de correo.
La etiqueta sirve para definir la forma en la que se accederá a la nueva url. Esta etiqueta la escribimos dentro del enlace para predefinirla. Puede ser de diferentes tipos:
_self: Es el valor por defecto del parámetro target. El enlace se abrirá en el mismo marco en el que está alojado.
_blank: Para hacer que ese enlace se abra en una ventana a parte.
_top: Elimina todos los marcos existente y muestra la nueva página en la ventana original sin marcos.
_parent : Muestra la nueva página en el <frameset> que contiene al marco donde se encuentra alojado el enlace. La etiqueta <frameset> la explicamos en otro artículo.
Un ancla nos sirve para dirigir al usuario a otra parte distinta pero dentro del mismo fichero en el que estamos. Para crear un ancla debemos crear primero el lugar al que queremos acceder. Debemos escribir lo siguiente:
<a name=“ancla”>
Y después debemos escribir un enlace con el código siguiente:
<a href= “#ancla”>Enlace para acceder al ancla</a>
Yo he situado un ancla justo al principio de este artículo. Si pinchas en el siguiente enlace acudirás a ella y verás el efecto.
Ir al principio del artículo gracias al ancla
Y para terminar te mostraremos como podemos hacer que un enlace nos diriga directamente a una imagen. Le hemos indicado al enlace que nos abra la imagen en una ventana diferente gracias al target:blank. El código es el siguiente:
<a href="/imagenes/prueba.jpg" target="_blank">Ir
a ver el ejemplo de prueba </a>
Y el resultado le verás pinchando en aquí: Ir a ver el ejemplo de prueba
Y terminamos con otro tipo de enlace. Esta vez el enlace está en la imagen. Si pinchas en ella, irás al artículo dónde vimos por primera vez esa fotografía. Primero te mostramos el código:
<a href="/curso-de-html/mapas-de-imagenes/" target="_blank"><img src="/imagenes/prueba-mapa.jpg" alt="Pincha para ir al enlace" width="300" height="214" border="0"></a>
Aunque esto no es un curso sobre SEO (optimización para buscadores), es importante comentar en este artículo que los enlaces “normales” orientan a Google a la hora de saber qué páginas son importantes y cuáles no. Una páginas con muchos enlaces suele indicar que es más importante que otra que no tiene enlaces. En ocasiones podemos querer poner un enlace pero no transmitir peso, es decir, no indicar a Google que esa página es importante.
Podemos querer hacerlo por muchos motivos, por ejemplo, si los usuarios de nuestra página pueden poner enlaces, tal vez no queramos que éstos nos llenen la web de spam poniendo enlaces solo para ganar fuerza. También podemos querer hacerlo internamente dentro de nuestra web porque no queramos que ciertas secciones sean leídas e indexadas por Google, o simplemente porque no las consideremos importantes para el buscador, añadiendo el atributo
rel=”nofollow”
dentro de la etiqueta <a> indicamos a Google, y otros buscadores, que no transmitan fuerza a dicho enlace.
En esta misma página también podéis ejemplos dicho atributo. Por ejemplo, con <a href=”/contactar/” rel=”nofollow”>Contacto</a> indicamos que no transmita peso a la sección de contacto.
16. Frames:
Un Frame HTML (en castellano “marco”), es una ventana independiente dentro de la propia ventana del navegador. Cada frame tiene sus propios bordes y también sus barras de desplazamiento. Mediante un frame conseguimos dividir la ventana del navegador en varias subventanas independientes entre ellas. Cada una de estas subventanas posee un documento html propio.
Vamos a ver cómo es el cuerpo de un frame y su estructura para posteriormente explicar cada parte del marco. Podemos ver como es diferente al tipo de estructura que habíamos visto hasta ahora:
<html>
<head>
<title>Ejemplo de frame.</title>
</head>
<frameset cols="150,100%">
<frame name="indice" src="frame-ejemplo-2.html">
<frame name="principal" src="frame-ejemplo.html">
<noframes>
<p>Si tu navegador no acepta frames, estarás viendo este mensaje. ¡Lo sentimos!</p>
</noframes>
</frameset>
</html>
Lo primero que salta a la vista es que no encontramos la habitual etiqueta html <body>. Ésta es sustituida por <frameset> que indica que esa ventana va a dividirse en diferentes marcos.
Dentro de la etiqueta frameset debemos indicar el número de marcos que van a haber (ya sea en columnas “cols” o en filas “rows”) y el tamaño de cada uno de ellos.
Este tamaño puede asignarse por porcentaje, por números absolutos o sobre el espacio sobrante. Esta forma de tamaño se indica mediante un asterisco y le estamos indicando al marco que coja el espacio sobrante que dejan los demás marcos.
Podemos también colocar un frameset dentro de otro. Es decir, podemos dividir un marco de frameset en otros submarcos. Esto se hace colocando la etiqueta dentro de otra de ellas.
Otra parte destacable de la estructura es <frame>. Como vemos, debemos escribir tantos <frame> como números de éstos hayamos creado en <frameset>. En nuestro caso eran dos, así que hemos escrito dos <frame>.
<frame> tiene dos atributos básicos y obligatorios. El primero es el atributo name, en el que debemos indicar el nombre de cada uno de los marcos. El segundo es la fuente o la dirección del documento html que ocupará dicho <frame>.
Vemos que también hemos escrito la etiqueta <noframes>. Esto es para el supuesto de que el navegador no acepte frames. Es muy poco probable, pues hoy en día casi todos los navegadores los aceptan, pero por si acaso debemos ponerlo. En caso de no aceptarlos, saldrá el texto que hayamos puesto para esos supuestos.
17. Marquee:
La etiqueta marquee HTML nos sirve para dar un efecto diferente a los texto de nuestra página Web. Gracias a ella podemos conseguir texto en movimiento. Para aplicar este efecto a los textos, éstos deben estar dentro de la etiqueta marquee, entre su inicio “<marquee>” y su cierre “</marquee>”.
El movimiento, la dirección de desplazamiento, la velocidad del mismo,…todo es configurable gracias a los siguientes atributos:
align: Este atributo nos indicará si el texto dentro de la etiqueta se alineará en la zona alta del marquee (“top”), en el medio (“middle”) o en la parte baja (“bottom”).
bgcolor: Con este atributo definiremos el color de fondo que le queremos dar a la marquesina donde está el texto en movimiento.
height y width: El primero marca la altura que tendrá la marquesina y el segundo la anchura de la misma.
scrollamount: Este atributo define la cantidad de píxeles que queremos que se desplace el texto en cada movimiento. Por ejemplo: <marquee scrollamount=”3″> </marquee> significará que el texto que vaya dentro de esa etiqueta se moverá a razón de tres píxeles por movimiento.
scrolldelay: Éste nos define la velocidad del texto que está dentro de la marquesina. A menor numeración, mayor velocidad. Es decir, un texto irá más rápido si el scrolldelay es 5, que si el scrolldelay es 20.
loop: Este atributo nos determina si el movimiento se repetirá o no. Si queremos que el movimiento sólo se repita unas veces determinadas debemos indicárselo con un número, que será el número de veces que se repita. Si queremos que se repita sólo 10 veces, su loop será el siguiente: <marquee loop=”10″> </marquee>
Si queremos que se repita debemos usar “infinite” o “-1”. Si no especificamos nada, se repetirá constantemente.
direction: Sirve para definir la dirección del movimiento: “left” para la izquierda, “right” para la derecha, “top” para arriba y “down” para abajo.
behavior: Gracias a este atributo podemos dar nuevos efectos a la marquesina. Si no especificamos este atributo, el texto se moverá de forma circular en el sentido que le hayamos marcado. Con behavior=”scroll” conseguiremos el mismo efecto: el texto se moverá circularmente.
Con behavior=”slide” haremos que el texto se detenga al llegar al final de la marquesina. Y con el behavior=”alternate” el texto irá y volverá de un lado a otro de la marquesina.
Nosotros hemos querido mostrarte un ejemplo de marquee en HTML. Aquí lo puedes ver:
Estás viendo el ejemplo que hemos hecho nosotros.
Y el código de nuestro marquee de HTML es el siguiente:
<marquee bgcolor="#FFFFFF" width="50%" scrolldelay="100" scrollamount="5" direction="left" loop="infinite">Estás viendo el ejemplo que hemos hecho nosotros.
</marquee>
18. Iframe:
En otro artículo de la Web te presentamos lo que eran los frames y vimos su estructura y sus utilidades. Ahora te vamos a presentar los iframes HTML. Éstos también nos permiten mostrar otras urls dentro de nuestra ventana principal, pero con un mayor control y con unas ventajas mayores que te mostraremos a lo largo del artículo.
Los frames requerían de una página vacía para insertar allí los marcos. Esto provocaba una ralentización para el usuario, ya que primero debía cargarse la página principal y luego ya se cargaban los marcos.
Con los iframes no pasa eso ya que la página principal, donde va albergado nuestro iframe, está lleno de contenido, por lo que el usuario recibe información desde el principio.
El uso habitual de los iframes es para mostrar publicidad o Webs de colaboración. Vamos a mostrarte el código de la estructura básica de un iframe HTML para poder explicarte sus partes.
<html>
<head>
<title>Iframes</title>
</head>
<body>
<iframe src="https://html.hazunaweb.com/"
width="600" height="400" scrolling="auto">
Texto alternativo para navegadores que no aceptan iframes
</iframe>
</body>
</html>
Como vemos, la estructura es similar a cualquier documento html que hemos visto anteriormente, con su cabecera (<head>), su título (<title>) y su contenido visual dentro de <body>.
Como vemos en el código anterior, debemos definir el tamaño del marco del iframe y definir si queremos que haya barra desplazadora o no. Ésta opción la especificamos gracias al atributo “scrolling”. Su valor por defecto es “auto”, aunque podemos definir si queremos barras desplazadoras (“yes”) o si no las queremos (“no”).
El iframe debe tener una fuente, que será la url que muestre en el marco que hemos creado. En nuestro caso hemos puesto la página de inicio de este tutorial html. ¿Quieres ver un ejemplo más claro del uso de iframes? Te recomiendo que visites el portal TerraChat.es, donde con el uso de iframes se incrustan chats en los que la gente de todo el mundo puede chatear entre ellos. Echando un vistazo a este portal, además de ver cómo incrustan los chats, vemos una aplicación práctica de los iframes dentro de una página web.
19. HTML 5:
El lenguaje básico con el que se construyen las páginas webs, el HTML (HyperText Markup Language), recibe una completa reconversión con esta quinta versión, un nuevo estándar del lenguaje HTML que nos permite englobar las nuevas tecnologías web de desarrollo de aplicaciones web (HTML5, CSS3 y Javascript) en un solo estándar.
La última versión de HTML4 que conocíamos databa de 1999. El nuevo HTML5 ofrece características mejoradas (y necesarias) para la creación de aplicaciones modernas que se basan en un navegador, gracias principalmente al uso de frameworks como por ejemplo jQuery.
Con esta variante del lenguaje podemos crear páginas web mucho más dinámicas, con un estilo más parecido a las aplicaciones web.
Lo mejor de las novedades de este nuevo lenguaje es que HTML5 es 100% compatible con la última versión de HTML4. O lo que es lo mismo, que cualquier código que tengamos creado funcionará sin ningún tipo de problema en HTML5, como nos explican los responsables de Yeeply, directorio de empresas de desarrollo de webs para móviles.
Entre las principales novedades que encontramos en esta nueva versión de HTML vemos que:
Se ha reducido considerablemente la necesidad de plugins externos. Por ejemplo podemos reproducir o controlar audios y vídeos sin necesidad de plugins como el de Flash.
Se nos permite crear una mejor estructura de la página web.
El doctype de la web es más corto y simple.
Se puede conseguir que cualquier elemento que contenga textos pueda ser editado en el mismo navegador. Esto nos permite un mejor manejo de los formularios.
Se han mejorado los formularios, con el elemento input ampliado con nuevos datos aplicables.
Mejora de la localización geográfica del usuario, perfecto para ofrecer nuevos y mejorados servicios de ubicación.
Nuevas funcionalidades mediante una interfaz estandarizada.
Se pueden guardar aplicaciones web para utilizarlas sin conexión a internet con una caché para aplicaciones.
Una de las novedades más celebradas es la posibilidad de poder incorporar elementos de vídeo dentro de una página web sin necesidad de usar un plugin externo. Esto mejora con creces el rendimiento y la estabilidad de la web, ya que podemos introducirlo de una forma estándar soportada por casi todos los navegadores.
No todos los formatos son soportados por todos los navegadores, pero para asegurarnos que funcionan los vídeos en todos podemos codificar el vídeo en varios formatos.
20. Formularios:
Los formularios en HTML sirven al propósito de recolectar información proporcionada por los visitantes del sitio, la cual es luego enviada nuevamente al servidor. Para su correcto funcionamiento es importante que el formulario provisto en HTML sea acompañado de un código del lado servidor, al que denominaremos "agente procesador", que se encargará de recibir y procesar la información como el autor vea conveniente. Este procesamiento puede consistir en, por ejemplo, el almacenamiento de la información o su envío mediante correo electrónico.
Un formulario (form) es básicamente un contenedor para controles. Cada control en un formulario está pensado para recolectar información ingresada por los usuarios, en formas que pueden ir desde líneas de texto a subida de archvios, pasando por opciones, fechas, contraseñas y mucho más. Una vez que los usuarios han rellenado el formulario con los datos, pueden enviarlo de regreso al servidor para que el agente procesador administre la información recolectada.
El siguiente código muestra la estructura de un formulario, con sus etiquetas de apertura y cierre encerrando un conjunto de controles.<form> [Conjunto de controles] </form>
Pero este modelo no dice nada acerca de cómo y dónde será procesado el formulario. Tal información puede ser especificada con atributos tales como: action, que indica la ubicación del agente procesador; method que determina el método utilizado para empaquetar el formulario antes de ser enviado al agente procesador; y target, que indica dónde serán mostrados los resultados del proceso. Aquí hablaremos únicamente del atributo action, dejando los otros dos para ser analizados en la referencia del elemento form.
http://www.htmlquick.com/es/tutorials/forms.html (Guia completa).