<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es_ES"><generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator><link href="https://www.manualweb.net/feed/html.xml" rel="self" type="application/atom+xml" /><link href="https://www.manualweb.net/" rel="alternate" type="text/html" hreflang="es_ES" /><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/feed/html.xml</id><title type="html">Manual Web | Html</title><subtitle>Tutoriales de programación en español.
</subtitle><author><name>manual_web</name></author><entry><title type="html">Tablas Avanzadas HTML</title><link href="https://www.manualweb.net/html/tablas-avanzadas-html/" rel="alternate" type="text/html" title="Tablas Avanzadas HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/tablas-avanzadas</id><content type="html" xml:base="https://www.manualweb.net/html/tablas-avanzadas-html/"><![CDATA[<h2 id="grupos-de-filas">Grupos de Filas</h2>

<p>Ya hemos visto que las tablas se van definiendo por filas mediante el <a href="http://www.w3api.com/wiki/HTML:TR">elemento tr</a>. Pues dentro de <a href="http://www.manualweb.net/tutorial-html/">HTML</a>podemos agrupar estas filas por funcionalidad.</p>

<p>Para ello podemos agrupar las filas en tres partes:</p>

<ul>
  <li><strong>Cabecera</strong>, representada por el <a href="http://www.w3api.com/wiki/HTML:THEAD">elemento thead</a>.</li>
  <li><strong>Cuerpo</strong>, representada por el <a href="http://www.w3api.com/wiki/HTML:TBODY">elemento tbody</a>.</li>
  <li><strong>Pie</strong>, representada por el <a href="http://www.w3api.com/wiki/HTML:TFOOT">elemento tfoot</a>.</li>
</ul>

<p>Cada uno de estos elementos tendrá una o n filas, dependiendo de las que queramos agrupar. La estructura es la misma para los tres casos:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;thead&gt;</span>
  <span class="nt">&lt;tr&gt;</span> <span class="c">&lt;!-- fila(s) --&gt;</span><span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/thead&gt;</span>

<span class="nt">&lt;tbody&gt;</span>
  <span class="nt">&lt;tr&gt;</span> <span class="c">&lt;!-- fila(s) --&gt;</span><span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/tbody&gt;</span>

<span class="nt">&lt;tfoot&gt;</span>
  <span class="nt">&lt;tr&gt;</span> <span class="c">&lt;!-- fila(s) --&gt;</span><span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/tfoot&gt;</span>
</code></pre></div></div>

<p>Es importante saber que no es necesario que aparezcan en ese orden dentro de la tabla, este podría ser alterados. Si bien el navegador si que las representará en dicho orden.</p>

<p>De esta forma podríamos tener la siguiente tabla con agrupaciones:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table&gt;</span>
  <span class="nt">&lt;thead&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
	<span class="nt">&lt;td</span> <span class="na">scope=</span><span class="s">"row"</span><span class="nt">&gt;</span>Mes<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>Enero<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>Febrero<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;/thead&gt;</span>
  <span class="nt">&lt;tfoot&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
	<span class="nt">&lt;td&gt;</span>Total<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>15<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>25<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;/tfoot&gt;</span>
  <span class="nt">&lt;tbody&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
	<span class="nt">&lt;td&gt;</span>Agua<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>10<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>15<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
    <span class="nt">&lt;tr&gt;</span>
	<span class="nt">&lt;td&gt;</span>Gas<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>5<span class="nt">&lt;/td&gt;</span>
      <span class="nt">&lt;td&gt;</span>10<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;/tbody&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<p>Que representaría lo siguiente:</p>

<table class="table-bordered">
<thead>
<tr style="background-color:#000;color:#fff">
<td scope="row">
Mes
</td>
<td>
Enero
</td>
<td>
Febrero
</td>
</tr>
</thead>
<tfoot style="background-color:#ccc">
<tr>
<td>
Total
</td>
<td>
15
</td>
<td>
25
</td>
</tr>
</tfoot>
<tbody>
<tr>
<td>
Agua
</td>
<td>
10
</td>
<td>
15
</td>
</tr>
<tr>
<td>
Gas
</td>
<td>
5
</td>
<td>
10
</td>
</tr>
</tbody>
</table>

<h2 id="grupos-de-columnas">Grupos de columnas</h2>
<p>Ya hemos visto que las tablas se definen por filas. Pero una de las cosas que nos ofrece <a href="http://www.manualweb.net/tutorial-html/">HTML</a>es la posibilidad de definir, sobre dichas filas, grupos de columnas que tengan una relación semántica entre ellas.</p>

<p>Por ejemplo en la siguiente tabla vemos que hay una relación semántica de las columnas relativa a los meses.</p>

<table class="table-bordered">
<colgroup span="2" width="25%" style="background-color:#e6b8af"></colgroup> <colgroup span="2" width="25%" style="background-color:#dd7e6b"></colgroup> <tr>
<td colspan="2">
Enero
</td>
<td colspan="2">
Febrero
</td>
</tr>
<tr>
<td>
Ingresos
</td>
<td>
Gastos
</td>
<td>
Ingresos
</td>
<td>
Gastos
</td>
</tr>
<tr>
<td>
1.000€
</td>
<td>
700€
</td>
<td>
1.100€
</td>
<td>
580€
</td>
</tr>
<tr>
<td>
1.800€
</td>
<td>
920€
</td>
<td>
1.750€
</td>
<td>
920€
</td>
</tr>
</table>

<p>Para poder definir estas relaciones semánticas entre las columnas <a href="http://www.manualweb.net/tutorial-html/">HTML</a>nos ofrece el <a href="http://www.w3api.com/wiki/HTML:COLGROUP">elemento colgroup</a>.</p>

<p>El <a href="http://www.w3api.com/wiki/HTML:COLGROUP">elemento colgroup</a> se define al principio de la tabla y tiene la siguiente estructura.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;colgroup</span> <span class="na">span=</span><span class="s">"numero-columnas"</span> <span class="na">width=</span><span class="s">"ancho"</span><span class="nt">&gt;&lt;/colgroup&gt;</span>
</code></pre></div></div>

<p>Dónde el <strong>atributo span</strong> indica el número de columnas que representa la agrupación. Empezando de izquierda a derecha.</p>

<p>Además contamos con el <a href="http://www.w3api.com/wiki/HTML:Width">atributo width</a> el cual nos permite especificar un ancho para la columna.</p>

<p>En la tabla que hemos visto el código <a href="http://www.manualweb.net/tutorial-html/">HTML</a>quedaría de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table&gt;</span>
  <span class="nt">&lt;colgroup</span> <span class="na">span=</span><span class="s">"2"</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;&lt;/colgroup&gt;</span>
  <span class="nt">&lt;colgroup</span> <span class="na">span=</span><span class="s">"2"</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;&lt;/colgroup&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"2"</span><span class="nt">&gt;</span>Enero<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"2"</span><span class="nt">&gt;</span>Febrero<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>Ingresos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Gastos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Ingresos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Gastos<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.000€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>700€/td&gt;
    <span class="nt">&lt;td&gt;</span>1.100€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>580€<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.800€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>920€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.750€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>920€<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<p>Si no queremos utilizar el atributo span o si bien queremos manipular los estilos gráficos de las columnas, tenemos otro elemento, este es el <a href="http://www.w3api.com/wiki/HTML:COL">elemento col</a>.</p>

<p>El <a href="http://www.w3api.com/wiki/HTML:COL">elemento col</a> aparecerá dentro del <a href="http://www.w3api.com/wiki/HTML:COLGROUP">elemento colgroup</a> tantas veces como columnas queramos agrupar.</p>

<p>La estructura del <a href="http://www.w3api.com/wiki/HTML:COL">elemento col</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;col</span> <span class="na">span=</span><span class="s">"numero-columnas"</span> <span class="na">width=</span><span class="s">"ancho-columna"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Es decir que también permite agrupar columnas mediante su atributo width y darles un ancho mediante el <a href="http://www.w3api.com/wiki/HTML:Width">atributo width</a>.</p>

<p>El anterior ejemplo utilizando el <a href="http://www.w3api.com/wiki/HTML:COL">elemento col</a> quedaría de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table&gt;</span>
  <span class="nt">&lt;colgroup&gt;</span>
    <span class="nt">&lt;col</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;col</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/colgroup&gt;</span>
  <span class="nt">&lt;colgroup&gt;</span>
    <span class="nt">&lt;col</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;col</span> <span class="na">width=</span><span class="s">"100"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;/colgroup&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"2"</span><span class="nt">&gt;</span>Enero<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">colspan=</span><span class="s">"2"</span><span class="nt">&gt;</span>Febrero<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>Ingresos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Gastos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Ingresos<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>Gastos<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.000€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>700€/td&gt;
    <span class="nt">&lt;td&gt;</span>1.100€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>580€<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.800€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>920€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>1.750€<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>920€<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<h2 id="tablas-para-agentes-de-usuario-no-visuales">Tablas para agentes de usuario no visuales</h2>

<p>Las tablas no siempre serán representadas por un navegador web o agente de usuario visual. Hay otro tipo de agentes de usuario que son no visuales y que suelen estar adaptados para discapacitados.</p>

<h3 id="asociar-celdas-a-cabeceras">Asociar celdas a cabeceras</h3>

<p>En este sentido tenemos que saber cómo dar formato a las tablas para que estos agentes de usuario no visuales puedan interpretar la información de forma correcta.</p>

<p>El elemento sobre el que nos podemos apoyar es el atributo header. El atributo header relaciona una celda con una celda de la cabecera, para poder establecer esta relación semántica.</p>

<p>Partamos de la siguiente tabla…</p>

<table class="table-bordered">
<tr>
<td>
Nombre
</td>
<td>
Edad
</td>
<td>
Localidad
</td>
</tr>
<tr>
<td>
Víctor
</td>
<td>
38
</td>
<td>
Madrid
</td>
</tr>
<tr>
<td>
Esther
</td>
<td>
25
</td>
<td>
Salamanca
</td>
</tr>
</table>

<p>Para ello lo primero que hay que hacer es darle un <a href="http://www.w3api.com/wiki/HTML:Id">atributo id</a> a las celdas de cabecera.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;tr&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">id=</span><span class="s">"edad"</span><span class="nt">&gt;</span>Edad<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">id=</span><span class="s">"localidad"</span><span class="nt">&gt;</span>Localidad<span class="nt">&lt;/th&gt;</span>
<span class="nt">&lt;/tr&gt;</span>
</code></pre></div></div>

<p>Ahora, para cada celda deberemos de asociar el identificador, <a href="http://www.w3api.com/wiki/HTML:Id">atributo id</a>, de la cabecera que les aplique en el atributo headers.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;tr&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Víctor<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"edad"</span><span class="nt">&gt;</span>38<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"localidad"</span><span class="nt">&gt;</span>Madrid<span class="nt">&lt;/th&gt;</span>
<span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;tr&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Esther<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"edad"</span><span class="nt">&gt;</span>25<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;th</span> <span class="na">headers=</span><span class="s">"localidad"</span><span class="nt">&gt;</span>Salamanca<span class="nt">&lt;/th&gt;</span>
<span class="nt">&lt;/tr&gt;</span>
</code></pre></div></div>

<p>Así, el agente de usuario no visual, cuando vaya leyendo la fila hará lo siguiente:</p>

<pre>
“Nombre, Víctor. Edad, 38. Localidad, Madrid.
Nombre, Esther. Edad, 25. Localidad, Salamanca."
</pre>

<h3 id="categorizar-celdas">Categorizar Celdas</h3>

<p>Otra de las cosas que podemos hacer para los agentes de usuario no visuales es categorizar las celdas. En <a href="http://www.manualweb.net/tutorial-html/">HTML</a>tenemos un atributo que es axis, de esta manera podemos establecer ejes de agrupación.</p>

<p>El <strong>atributo axis</strong> aplica a las <a href="http://www.w3api.com/wiki/HTML:TD">celdas td</a> y celdas de <a href="http://www.w3api.com/wiki/HTML:TH">cabecera th</a>. Y permite darle una categoría textual.</p>

<p>La estructura sería:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"categoria"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/td&gt;</span>
</code></pre></div></div>

<table class="table-bordered">
<tr style="background-color:#ccc;">
<td>
</td>
<td>
Comida
</td>
<td>
Hotel
</td>
<td>
Transporte
</td>
</tr>
<tr style="background-color:#b1b1b1;">
<td>
Madrid
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td style="background-color:#ccc;">
1 de marzo
</td>
<td>
15
</td>
<td>
120
</td>
<td>
-
</td>
</tr>
<tr>
<td style="background-color:#ccc;">
2 de marzo
</td>
<td>
18
</td>
<td>
120
</td>
<td>
34
</td>
</tr>
<tr>
<td style="background-color:#ccc;">
3 de marzo
</td>
<td>
25
</td>
<td>
120
</td>
<td>
-
</td>
</tr>
<tr style="background-color:#b1b1b1;">
<td>
Ávila
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td style="background-color:#ccc;">
4 de marzo
</td>
<td>
10
</td>
<td>
75
</td>
<td>
12
</td>
</tr>
<tr>
<td style="background-color:#ccc;">
5 de marzo
</td>
<td>
12
</td>
<td>
75
</td>
<td>
14
</td>
</tr>
</table>

<p>En esta tabla podemos establecer que haya 3 tipos de categorías. Los gastos (comida, hotel y transporte), las ciudades (Madrid y Ávila) y las fechas.</p>

<p>Así que deberemos de marcar esas celdas con la categoría correspondiente, mediante el atributo axis. El código en <a href="http://www.manualweb.net/tutorial-html/">HTML</a>nos quedará de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;th&gt;&lt;/th&gt;</span>
    <span class="nt">&lt;th</span> <span class="na">axis=</span><span class="s">"gasto"</span><span class="nt">&gt;</span>Comida<span class="nt">&lt;/th&gt;</span>
    <span class="nt">&lt;th</span> <span class="na">axis=</span><span class="s">"gasto"</span><span class="nt">&gt;</span>Hotel<span class="nt">&lt;/th&gt;</span>
    <span class="nt">&lt;th</span> <span class="na">axis=</span><span class="s">"gasto"</span><span class="nt">&gt;</span>Transporte<span class="nt">&lt;/th&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"ciudad"</span><span class="nt">&gt;</span>Madrid<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"fecha"</span><span class="nt">&gt;</span>1 de marzo<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>15<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>120<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>-<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"fecha"</span><span class="nt">&gt;</span>2 de marzo<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>18<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>120<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>34<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"fecha"</span><span class="nt">&gt;</span>3 de marzo<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>25<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>120<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>-<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"ciudad"</span><span class="nt">&gt;</span>Avila<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"fecha"</span><span class="nt">&gt;</span>4 de marzo<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>10<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>75<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>12<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
  <span class="nt">&lt;tr&gt;</span>
    <span class="nt">&lt;td</span> <span class="na">axis=</span><span class="s">"fecha"</span><span class="nt">&gt;</span>5 de marzo<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>12<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>75<span class="nt">&lt;/td&gt;</span>
    <span class="nt">&lt;td&gt;</span>14<span class="nt">&lt;/td&gt;</span>
  <span class="nt">&lt;/tr&gt;</span>
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<p>El atributo axis se combina con el atributo headers para poder dar suficiente información a los agentes de usuario no visuales sobre las tablas.</p>

<h2 id="anchos-de-las-tablas-y-columnas">Anchos de las tablas y columnas</h2>

<p>Aunque el formato de las tablas, tanto para la tabla en sí, como para sus filas y celdas se hará mediante <a href="http://www.manualweb.net/tutorial-css/">hojas de estilo CSS</a>, tenemos dos formas básicas de poder establecer el ancho de la tabla y el ancho de las columnas.</p>

<p>En primer lugar podemos utilizar el <a href="http://www.w3api.com/wiki/HTML:Width">atributo width</a> del <a href="http://www.w3api.com/wiki/HTML:TABLE">elemento table</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">width=</span><span class="s">"ancho"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<p>De esta forma podremos establecer en cualquier medida el ancho que queremos que ocupe la tabla. Ya sean px, em, tantos por ciento,…</p>

<p>Por ejemplo podemos definir que ocupe todo el ancho de una página asignándole un valor de width del 100%.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table</span> <span class="na">width=</span><span class="s">"100%"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>

<p>Para el caso de las columnas ya hemos visto que tanto los elementos <a href="http://www.w3api.com/wiki/HTML:COLGROUP">colgroup</a> como <a href="http://www.w3api.com/wiki/HTML:COL">col</a> también tenían el <a href="http://www.w3api.com/wiki/HTML:Width">atributo width</a>. Así que serán con estos elemento con los que de forma básica podamos establecer el ancho de una columna.</p>

<p>De esta forma si tenemos 4 columnas y queremos que se distribuyan de forma igual, podríamos escribir el siguiente código.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;table&gt;</span>
  <span class="nt">&lt;colgroup</span> <span class="na">span=</span><span class="s">"4"</span> <span class="na">width=</span><span class="s">"25%"</span><span class="nt">&gt;</span>
  ....
<span class="nt">&lt;/table&gt;</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Grupos de Filas]]></summary></entry><entry><title type="html">Mapas HTML</title><link href="https://www.manualweb.net/html/mapas-html/" rel="alternate" type="text/html" title="Mapas HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/mapas-html</id><content type="html" xml:base="https://www.manualweb.net/html/mapas-html/"><![CDATA[<p>Los mapas de imágenes nos permiten crear un conjunto de enlaces dentro de una imagen o bien enlazar una parte en concreto de una imagen. Para ello <a href="http://www.manualweb.net/tutorial-html/">HTML</a> nos ofrece el <a href="http://www.w3api.com/wiki/HTML:MAP">elemento map</a>.</p>

<p>La estructura del <a href="http://www.w3api.com/wiki/HTML:MAP">elemento map</a> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map</span> <span class="na">name=</span><span class="s">"nombreMapa"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;area/&gt;</span>
  <span class="nt">&lt;area/&gt;</span>
  ...
<span class="nt">&lt;/map&gt;</span>
</code></pre></div></div>

<p>Lo que vemos es que el elemento map anida un conjunto de elementos area. Los <a href="http://www.w3api.com/wiki/HTML:AREA">elementos area</a> serán los que establezcan las zonas enlazables dentro de la imagen.</p>

<p>Es importante saber que el mapa en sí no tiene una imagen asociada, si no que tendremos que asociar un <a href="http://www.w3api.com/wiki/HTML:IMG">elemento img</a> al mapa para conseguir tener los áreas enlazables.</p>

<h2 id="nombre-del-mapa">Nombre del Mapa</h2>

<p>Una de las cosas más importantes en los mapas de imágenes es darle un nombre. Ya que este nombre será el que enlacemos sobre la imagen para poder usar el mapa de imágenes.</p>

<p>El nombre del mapa de imágenes se da mediante el <a href="http://www.w3api.com/wiki/HTML:Name">atributo name</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map</span> <span class="na">name=</span><span class="s">"nombreMapa"</span><span class="nt">&gt;&lt;/map&gt;</span>
</code></pre></div></div>

<h2 id="tipos-de-áreas">Tipos de Áreas</h2>

<p>Dentro de los tipos de áreas que podemos crear dentro de una imagen tenemos diferentes formas:</p>

<ul>
  <li><strong>Círculo</strong>, define una región mediante un círculo.</li>
  <li><strong>Rectángulo</strong>, define la región mediante un rectángulo.</li>
  <li><strong>Polígono</strong>, define una región mediante un conjunto de puntos que representan un polígono.</li>
  <li><strong>Por defecto</strong>, sería el resto de zonas no referenciada por ninguna zona.</li>
</ul>

<p>El <a href="http://www.w3api.com/wiki/HTML:AREA">elemento area</a> tiene la siguiente estructura:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"forma"</span> <span class="na">coords=</span><span class="s">"coordenadas"</span> <span class="na">href=</span><span class="s">"enlace"</span> <span class="na">alt=</span><span class="s">"texto alternativo"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Dónde <a href="http://www.w3api.com/wiki/HTML:Shape">shape</a> es la forma a utilizar, <a href="http://www.w3api.com/wiki/HTML:Coords">coords</a> el conjunto de coordenadas que define la forma. Dependiendo de la forma utilizada serán unas coordenadas u otras. El <a href="http://www.w3api.com/wiki/HTML:Href">atributo href</a> contendrá el enlace y <a href="http://www.w3api.com/wiki/HTML:Alt">alt</a> el texto alternativo a ese enlace.</p>

<h3 id="circle">Circle</h3>

<p>Esta forma define un área circular dentro del mapa. En este caso las coordenadas son x,y como centro del círculo y radio.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map&gt;</span>
  <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"circle"</span> <span class="na">coords=</span><span class="s">"x,y,radio"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/map&gt;</span>
</code></pre></div></div>

<h3 id="rect">Rect</h3>

<p>Representa una forma rectangular en el mapa de imágenes. Las coordenadas son x1,y1 de la esquina superior izquierda seguido de x2,y2 de la esquina inferior derecha.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map&gt;</span>
  <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"rect"</span> <span class="na">coords=</span><span class="s">"x1,y1,x2,y2"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/map&gt;</span>
</code></pre></div></div>

<h3 id="poly">Poly</h3>

<p>Representa una forma de un polígono definido por un conjunto de puntos. Las coordenadas son x1,y1, x2, y2, x3, y3,…, xN, yN. Dónde la primer coordenada y la última deben de coincidir para poder cerrar el polígono.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map&gt;</span>
  <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"poly"</span> <span class="na">coords=</span><span class="s">"x1,y1,x2,y2,x3,y3,...,xN,yN"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/map&gt;</span>
</code></pre></div></div>

<h3 id="default">Default</h3>

<p>Representa el resto de zonas del mapa que no hayan sido referenciadas por ninguna forma. En este caso no hay coordenadas.</p>

<h2 id="asociar-mapa-a-imagen">Asociar Mapa a Imagen</h2>

<p>Lo siguiente que tenemos que hacer es definir la imagen mediante el <a href="http://www.w3api.com/wiki/HTML:IMG">elemento img</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"imagen.jpg"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Y asociarla el mapa de imágenes. Para ello utilizamos el <a href="http://www.w3api.com/wiki/HTML:Usemap">atributo usemap</a> al cual asignaremos el valor indicado en el <a href="http://www.w3api.com/wiki/HTML:Name">atributo name</a> del mapa.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"imagen.jpg"</span> <span class="na">usemap=</span><span class="s">"#mapa"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<h2 id="ejemplo-de-mapa-de-imágenes">Ejemplo de Mapa de Imágenes</h2>

<p>Para ver el uso de los mapas de imágenes analizaremos el siguiente caso. Vamos a partir de la siguiente imagen y vamos a definir tres mapas. El primero será un área circular sobre el segundo logo, el segundo será un área rectangular sobre el tercer logo y el tercero será un polígono sobre el último logo. En caso de que pinche en otro sitio se irá al enlace del HTML5 que será un área por defecto.</p>

<p><img src="/html/img/imagen-mapa.png" alt="Imagen con mapa de enlaces en HTML" class="img-responsive" /></p>

<p>Así tendremos el siguiente mapa:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;map</span> <span class="na">name=</span><span class="s">"mapalogos"</span><span class="nt">&gt;</span>
 <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"rect"</span> <span class="na">coords=</span><span class="s">"405,73,520,166"</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">/&gt;</span>
 <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"rect"</span> <span class="na">coords=</span><span class="s">"748,248,750,250"</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">/&gt;</span>
 <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"poly"</span> <span class="na">coords=</span><span class="s">"571,119,626,59,687,118,628,177"</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">/&gt;</span>
 <span class="nt">&lt;area</span> <span class="na">shape=</span><span class="s">"default"</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/map&gt;</span>
</code></pre></div></div>

<p>Y el siguiente uso del mapa desde la imagen:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"logos.png"</span> <span class="na">usemap=</span><span class="s">"#mapalogos"</span> <span class="na">alt=</span><span class="s">"Mapa de Logos"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Los mapas de imágenes nos permiten crear un conjunto de enlaces dentro de una imagen o bien enlazar una parte en concreto de una imagen. Para ello HTML nos ofrece el elemento map.]]></summary></entry><entry><title type="html">Listas HTML</title><link href="https://www.manualweb.net/html/listas-html/" rel="alternate" type="text/html" title="Listas HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/listas-html</id><content type="html" xml:base="https://www.manualweb.net/html/listas-html/"><![CDATA[<p>Las listas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> nos permite crear conjuntos de elementos en forma de lista dentro de una página, todos los cuales irán precedidos, generalmente, por un guión o número.</p>

<p>Los tipos de listas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> son los siguientes:</p>

<ul>
  <li>Listas ordenadas</li>
  <li>Listas desordenadas</li>
  <li>Listas de definiciones</li>
</ul>

<h2 id="listas-ordenadas">Listas Ordenadas</h2>

<p>Las listas ordenadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> son aquellas que nos muestran los elementos de la lista en orden. Para representar el orden tendremos los elementos numerados. Es decir, cada uno de los elementos irá precedido de un número o letra que establezca su orden.</p>

<p>Las listas ordenadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> se representan mediante el <a href="http://www.w3api.com/wiki/HTML:OL">elemento OL</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol&gt;</span> ... <span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Cada uno de los elementos de la lista ordenada se representará mediante el <a href="http://www.w3api.com/wiki/HTML:LI">elemento LI</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 1<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 2<span class="nt">&lt;/li&gt;</span>
  ...
  <span class="nt">&lt;li&gt;</span>Elemento N<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Un ejemplo de lista ordenada sería el siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol&gt;</span>
  <span class="nt">&lt;li&gt;</span>Julio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Carmen<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Ignacio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elena<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Que produciría el siguiente efecto:</p>

<ol>
  <li>Julio</li>
  <li>Carmen</li>
  <li>Ignacio</li>
  <li>Elena</li>
</ol>

<h3 id="número-de-inicio-de-la-lista-start">Número de inicio de la lista: start</h3>

<p>El atributo start nos permite indicar el número por el cual queremos que empiece la lista, ya que por defecto las listas ordenadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> empiezan por el número 1.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">start=</span><span class="s">"numero"</span><span class="nt">&gt;</span> ... <span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>De esta forma, si queremos que la lista empiece por el número 5, escribiremos el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">start=</span><span class="s">"5"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;li&gt;</span>Julio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Carmen<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Ignacio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elena<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Que produciría el siguiente efecto:</p>

<ol start="5">
  <li>Julio</li>
  <li>Carmen</li>
  <li>Ignacio</li>
  <li>Elena</li>
</ol>

<h3 id="tipo-de-lista-ordenada-type">Tipo de lista ordenada: type</h3>

<p>De igual manera podemos indicar el tipo de lista ordenada en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> que queremos representar.</p>

<p>Entre los tipos de listas que podemos representar tenemos:</p>

<ul>
  <li>1 - Listas decimales</li>
  <li>a - Listas alfabéticas en minúsculas</li>
  <li>A - Listas alfabéticas en mayúsculas</li>
  <li>i - Listas de números romanos en minúsculas</li>
  <li>I - Listas de números romanos en mayúsculas</li>
</ul>

<p>Los valores indicados al principio son los que le podemos asignar al <a href="http://www.w3api.com/wiki/HTML:Type">atributo type</a> de la lista ordenada en <a href="http://www.manualweb.net/tutorial-html/">HTML</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">type=</span><span class="s">"tipo"</span><span class="nt">&gt;</span> ... <span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Si queremos que nuestra lista aparezca ordenada mediante letras en mayúsculas escribimos lo siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">type=</span><span class="s">”A”</span><span class="nt">&gt;</span>
  <span class="nt">&lt;li&gt;</span>Julio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Carmen<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Ignacio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elena<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>En este caso la lista se representará de la siguiente forma:</p>

<p>&lt;ol type=”A”&gt;</p>
<li>Julio</li>
<li>Carmen</li>
<li>Ignacio</li>
<li>Elena</li>
<p>&lt;/ol&gt;</p>

<h3 id="atributos-starttype-en-html-401">Atributos start/type en HTML 4.01</h3>

<p>Aunque en <a href="http://www.manualweb.net/tutorial-html5/">HTML 5</a> han vuelto a la especificación los <a href="http://www.w3api.com/wiki/HTML:Type">atributos type</a> y start hay que tener cuidado con ellos, ya que en ciertas versiones como HTML 4.01 fueron declarados obsoletos, por lo cual si usamos tipos de documentos HTML 4.01 strict podríamos tener un problema en su definición.</p>

<p>Para estos casos (y para todos en general) podemos utilizar las hojas de estilo <a href="http://www.manualweb.net/tutorial-css/">CSS</a> de cara a dar estilo a las listas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a>.</p>

<p>De esta forma en <a href="http://www.manualweb.net/tutorial-css/">CSS</a> podemos escribir lo siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;style </span><span class="na">type=</span><span class="s">”text/css”</span><span class="nt">&gt;</span>
<span class="nt">ol</span> <span class="p">{</span>
  <span class="nl">list-style-type</span><span class="p">:</span> <span class="nb">lower-roman</span><span class="p">;</span>
<span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>
</code></pre></div></div>

<p>Lo cual hará que las listas ordenadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> se muestren en números romanos y en minúsculas.</p>

<h3 id="listas-en-orden-inverso-reversed">Listas en orden inverso: reversed</h3>

<p>En <a href="http://www.manualweb.net/tutorial-html5/">HTML 5</a> aparece el atributo reversed para las listas ordenadas. El atributo reversed nos permite invertir el orden de la lista. Es decir, realiza la numeración de la lista de forma inversa.</p>

<p>Para utilizarlo simplemente indicamos el atributo reversed sobre el elemento OL.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">reversed</span><span class="nt">&gt;</span> ... <span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>En este caso, si escribimos la siguiente lista:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ol</span> <span class="na">reversed</span><span class="nt">&gt;</span>
  <span class="nt">&lt;li&gt;</span>Julio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Carmen<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Ignacio<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elena<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ol&gt;</span>
</code></pre></div></div>

<p>Lo que obtendremos por pantalla será lo siguiente:</p>

<ol reversed="">
  <li>Julio</li>
  <li>Carmen</li>
  <li>Ignacio</li>
  <li>Elena</li>
</ol>

<h2 id="listas-desordenadas">Listas Desordenadas</h2>

<p>Las listas desordenadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> nos sirven para mostrar los elementos sin ningún tipo de orden, simplemente precedidos por una viñeta que puede ser un punto, un cuadrado,…</p>

<p>Para definir una lista desordenada en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> utilizamos el <a href="http://www.w3api.com/wiki/HTML:UL">elemento ul</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;</span> ... <span class="nt">&lt;/ul&gt;</span>
</code></pre></div></div>

<p>Para representar los elementos de la lista desordenada utilizamos el mismo elemento que con las listas ordenadas, es decir, el <a href="http://www.w3api.com/wiki/HTML:LI">elemento li</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 1<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 2<span class="nt">&lt;/li&gt;</span>
  ...
  <span class="nt">&lt;li&gt;</span>Elemento N<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ul&gt;</span>
</code></pre></div></div>

<p>De esa forma podríamos tener el siguiente código <a href="http://www.manualweb.net/tutorial-html/">HTML</a>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;</span>
  <span class="nt">&lt;li&gt;</span>FC. Barcelona<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Real Madrid<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Real Betis<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Atlético de Madrid<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ul&gt;</span>
</code></pre></div></div>

<p>Lo que nos mostrará por pantalla:</p>

<ul>
  <li>FC. Barcelona</li>
  <li>Real Madrid</li>
  <li>Real Betis</li>
  <li>Atlético de Madrid</li>
</ul>

<h3 id="tipos-de-lista-desordenada">Tipos de lista desordenada</h3>

<p>En el caso de las listas desordenadas, no podemos indicarle el tipo de lista mediante <a href="http://www.manualweb.net/tutorial-html/">HTML</a>. En este caso tenemos que recurrir a <a href="http://www.manualweb.net/tutorial-css/">CSS</a> para poder indicar el tipo de lista utilizando el <a href="http://www.w3api.com/wiki/CSS:List-style-type">atributo list-style-type</a></p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;style </span><span class="na">type=</span><span class="s">”text/css”</span><span class="nt">&gt;</span>
<span class="nt">ul</span> <span class="p">{</span>
  <span class="nl">list-style-type</span><span class="p">:</span> <span class="nb">circle</span><span class="p">;</span>
<span class="p">}</span>
<span class="nt">&lt;/style&gt;</span>
</code></pre></div></div>

<h2 id="listas-de-definiciones">Listas de Definiciones</h2>

<p>Las listas de definiciones en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> nos sirven para montar listas en las que tenemos la estructura valor y definición. Suelen ser listas para definir términos, como si fuese un diccionario, si bien pueden ser cualquier par valor-definición.</p>

<p>Las listas de definiciones en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> se construyen mediante el <a href="http://www.w3api.com/wiki/HTML:DL">elemento dl</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dl&gt;</span> ... <span class="nt">&lt;/dl&gt;</span>
</code></pre></div></div>

<p>En este caso, dentro de las listas de definiciones en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> tenemos dos elementos anidados: el que representa al valor <a href="http://www.w3api.com/wiki/HTML:DT">dt</a> y el que representa a la definición <a href="http://www.w3api.com/wiki/HTML:DD">dd</a>. De esta forma la estructura de las listas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> de definiciones es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dl&gt;</span>
  <span class="nt">&lt;dt&gt;</span>Término1<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>Definición 1<span class="nt">&lt;/dd&gt;</span>
  <span class="nt">&lt;dt&gt;</span>Término 2<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>Definición 2<span class="nt">&lt;/dd&gt;</span>
  ...
  <span class="nt">&lt;dt&gt;</span>Término N<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>Definición N<span class="nt">&lt;/dd&gt;</span>
<span class="nt">&lt;/dl&gt;</span>
</code></pre></div></div>

<p>Si queremos crear una lista en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> con definiciones de palabras, podemos escribir lo siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dl&gt;</span>
  <span class="nt">&lt;dt&gt;</span>Pizpireta<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>Dicho de una mujer: Viva, pronta y aguda.<span class="nt">&lt;/dd&gt;</span>
  <span class="nt">&lt;dt&gt;</span>Pulular<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>Dicho de las personas, animales o cosas: Abundar y bullir en un lugar.<span class="nt">&lt;/dd&gt;</span>
  <span class="nt">&lt;dt&gt;</span>Concupiscencia<span class="nt">&lt;/dt&gt;</span>
  <span class="nt">&lt;dd&gt;</span>En la moral católica, deseo de bienes terrenos y, en especial, apetito desordenado de placeres deshonestos.<span class="nt">&lt;/dd&gt;</span>
<span class="nt">&lt;/dl&gt;</span>
</code></pre></div></div>

<p>Lo cual nos acabará mostrando por pantalla lo siguiente:</p>

<dl>
  <dt>Pizpireta</dt>
  <dd>Dicho de una mujer: Viva, pronta y aguda.</dd>
  <dt>Pulular</dt>
  <dd>Dicho de las personas, animales o cosas: Abundar y bullir en un lugar.</dd>
  <dt>Concupiscencia</dt>
  <dd>En la moral católica, deseo de bienes terrenos y, en especial, apetito desordenado de placeres deshonestos.</dd>
</dl>

<p>Por defecto los navegadores dejan el término y en la siguiente líne, junto con un tabulador, la definición.</p>

<h2 id="listas-anidadas">Listas anidadas</h2>

<p>Cuando estemos manejando listas podemos anidar unas en otras independientemente del tipo de lista que estemos anidando.</p>

<p>Para crear listas anidadas en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> simplemente tenemos que hacer que el elemento de una de las listas sea a su vez una lista. Es decir, el esquema de listas sería parecido al siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 1<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 2<span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>
    <span class="nt">&lt;ol&gt;</span>
      <span class="nt">&lt;li&gt;</span>Elemento 2.1<span class="nt">&lt;/li&gt;</span>
      <span class="nt">&lt;li&gt;</span>Elemento 2.2<span class="nt">&lt;/li&gt;</span>
      ...
      <span class="nt">&lt;li&gt;</span>Elemento 2.N<span class="nt">&lt;/li&gt;</span>
    <span class="nt">&lt;/ol&gt;</span>
  <span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Elemento 3<span class="nt">&lt;/li&gt;</span>
  ...
  <span class="nt">&lt;li&gt;</span>Elemento N<span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ul&gt;</span>
</code></pre></div></div>

<p>En este caso hemos anidado una lista ordenada dentro del tercer <a href="http://www.w3api.com/wiki/HTML:LI">elemento li</a> de una lista desordenada.</p>

<p>Hay que tener cuidado de poner el <a href="http://www.w3api.com/wiki/HTML:LI">elemento li</a> dentro de la lista anidada, ya que si no lo ponemos estaremos generando un código incorrecto.</p>

<p>Las anidaciones de listas puede ser de cualquier tipo de lista y sin límite de anidación.</p>

<p>Un ejemplo de listas anidadas sería una clasificación de animales como la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;</span>
  <span class="nt">&lt;li&gt;</span>Carnívoro
  	<span class="nt">&lt;ul&gt;</span>
  		<span class="nt">&lt;li&gt;</span>León<span class="nt">&lt;/li&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Buitre<span class="nt">&lt;/li&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Hiena<span class="nt">&lt;/li&gt;</span>
  	<span class="nt">&lt;/ul&gt;</span>
  <span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Herbívoro
  	<span class="nt">&lt;ul&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Cabra<span class="nt">&lt;/li&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Vaca<span class="nt">&lt;/li&gt;</span>
  	<span class="nt">&lt;/ul&gt;</span>
  <span class="nt">&lt;/li&gt;</span>
  <span class="nt">&lt;li&gt;</span>Omnívoro
  	<span class="nt">&lt;ul&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Oso<span class="nt">&lt;/li&gt;</span>
  		<span class="nt">&lt;li&gt;</span>Urraca<span class="nt">&lt;/li&gt;</span>
  	<span class="nt">&lt;/ul&gt;</span>
  <span class="nt">&lt;/li&gt;</span>
<span class="nt">&lt;/ul&gt;</span>
</code></pre></div></div>

<p>El efecto que obtendríamos sería el siguiente:</p>

<ul>
  <li>Carnívoro
  	<ul>
  		<li>León</li>
  		<li>Buitre</li>
  		<li>Hiena</li>
  	</ul>
  </li>
  <li>Herbívoro
  	<ul>
  		<li>Cabra</li>
  		<li>Vaca</li>
  	</ul>
  </li>
  <li>Omnívoro
  	<ul>
  		<li>Oso</li>
  		<li>Urraca</li>
  	</ul>
  </li>
</ul>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Las listas en HTML nos permite crear conjuntos de elementos en forma de lista dentro de una página, todos los cuales irán precedidos, generalmente, por un guión o número.]]></summary></entry><entry><title type="html">Manual HTML</title><link href="https://www.manualweb.net/html/" rel="alternate" type="text/html" title="Manual HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/index</id><content type="html" xml:base="https://www.manualweb.net/html/"><![CDATA[<p>Dentro de este <strong>Tutorial Html</strong> podrás encontrar los siguientes contenidos:</p>

<p><strong>Introducción HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/introduccion-world-wide-web/">Introducción World Wide Web</a></li>
  
    
    
    <li><a href="/html/introduccion-html/">Introducción HTML</a></li>
  
    
    
    <li><a href="/html/historia-html-inicios/">Historia HTML. Inicios</a></li>
  
    
    
    <li><a href="/html/historia-html-estandar/">Historia HTML. Estándar</a></li>
  
</ul>

<p><strong>Documentos HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/tipos-documentos-html/">Tipos Documentos HTML</a></li>
  
    
    
    <li><a href="/html/sintaxis-html/">Sintaxis HTML</a></li>
  
    
    
    <li><a href="/html/documento-html/">Documento HTML</a></li>
  
    
    
    <li><a href="/html/mi-primera-pagina-html/">Mi primera página HTML</a></li>
  
    
    
    <li><a href="/html/metatags-html/">Metatags HTML</a></li>
  
</ul>

<p><strong>Texto HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/texto-basico-html/">Texto Básico HTML</a></li>
  
    
    
    <li><a href="/html/texto-avanzado-html/">Texto Avanzado HTML</a></li>
  
    
    
    <li><a href="/html/entidades-html/">Entidades HTML</a></li>
  
</ul>

<p><strong>Colores e Imágenes HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/colores-html/">Colores HTML</a></li>
  
    
    
    <li><a href="/html/imagenes-html/">Imágenes HTML</a></li>
  
    
    
    <li><a href="/html/mapas-html/">Mapas HTML</a></li>
  
</ul>

<p><strong>Enlaces HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/enlaces-html/">Enlaces HTML</a></li>
  
</ul>

<p><strong>Listas HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/listas-html/">Listas HTML</a></li>
  
</ul>

<p><strong>Agrupaciones HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/agrupaciones-html/">Agrupaciones HTML</a></li>
  
</ul>

<p><strong>Tablas HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/tablas-html/">Tablas HTML</a></li>
  
    
    
    <li><a href="/html/tablas-basicas-html/">Tablas Básicas HTML</a></li>
  
    
    
    <li><a href="/html/tablas-avanzadas-html/">Tablas Avanzadas HTML</a></li>
  
</ul>

<p><strong>Formularios HTML</strong></p>
<ul>
  
    
    
    <li><a href="/html/formularios-html/">Formularios HTML</a></li>
  
    
    
    <li><a href="/html/estructura-envio-formularios-html/">Estructura y Envío de Formularios HTML</a></li>
  
</ul>

<h3 id="descargar-manual-html">Descargar Manual HTML</h3>

<p>Puedes descargarte nuestro <a href="#">Manual HTML en formato PDF</a>.</p>

<p>El manual se encuentra en continua revisión, de forma automática la URL proporcionada contendrá la última versión del <strong>Tutorial HTML</strong>.</p>

<h3 id="ejemplos-manual-html">Ejemplos Manual HTML</h3>

<p>A lo largo del <strong>Tutorial HTML</strong> se van explicando una serie de ejemplos. Podéis descargaros los ejemplos del <strong>Tutorial HTML</strong> desde el GitHub de Manual Web.</p>

<p>Si os gusta el contenido del material y los ejemplos os agradecemos si nos aportáis una estrella en GitHub.</p>

<p><a class="github-button" href="https://github.com/manualweb/manualweb" data-icon="octicon-star" data-style="mega" aria-label="Star manualweb/manualweb on GitHub">Star</a></p>

<h3 id="más-sobre-el-manual-html">Más sobre el Manual HTML</h3>

<p>Todas las preguntas y dudas sobre HTML las puedes consultar en el <a href="http://dudasprogramacion.com/html">Foro sobre HTML</a>. Y puedes echar un ojo a los <a href="http://lineadecodigo.com/html/">ejemplos sobre el lenguaje HTML</a>.</p>

<script id="github-bjs" src="https://buttons.github.io/buttons.js" async="" defer="defer"></script>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Dentro de este Tutorial Html podrás encontrar los siguientes contenidos: Introducción HTML Introducción World Wide Web Introducción HTML Historia HTML. Inicios Historia HTML. Estándar Documentos HTML Tipos Documentos HTML Sintaxis HTML Documento HTML Mi primera página HTML Metatags HTML Texto HTML Texto Básico HTML Texto Avanzado HTML Entidades HTML Colores e Imágenes HTML Colores HTML Imágenes HTML Mapas HTML Enlaces HTML Enlaces HTML Listas HTML Listas HTML Agrupaciones HTML Agrupaciones HTML Tablas HTML Tablas HTML Tablas Básicas HTML Tablas Avanzadas HTML Formularios HTML Formularios HTML Estructura y Envío de Formularios HTML]]></summary></entry><entry><title type="html">Imágenes HTML</title><link href="https://www.manualweb.net/html/imagenes-html/" rel="alternate" type="text/html" title="Imágenes HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/imagenes-html</id><content type="html" xml:base="https://www.manualweb.net/html/imagenes-html/"><![CDATA[<p>Si solo insertamos texto en nuestras páginas webs, estas quedarán muy sencillas y poco lucidas. Es por ello que en <a href="http://www.manualweb.net/html/">HTML</a> tenemos la capacidad de insertar imágenes.</p>

<p>Las imágenes podrán ser elementos representativos de página web o elementos decorativos. Si bien, en el caso de ser elementos decorativos deberíamos de utilizar <a href="http://www.manualweb.net/css/">CSS</a> para insertarlos en nuestra página web.</p>

<p>El uso de imágenes dentro de una página web tiene que hacerse con cautela, ya que cada imagen que pongamos en nuestra web incrementará el tamaño (peso) de la página. Por lo cual se verá afectado el tiempo de descarga de la página.</p>

<h2 id="insertar-una-imagen-el-elemento-img">Insertar una imagen: El elemento img</h2>

<p>Para insertar una imagen en HTML tenemos el <a href="http://w3api.com/HTML/img">elemento img</a>, cuya sintaxis básica es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"nombreimagen.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Como podemos comprobar, el <a href="http://w3api.com/HTML/img">elemento img</a> es un elemento sencillo, con lo cual no tiene elemento de cierre y termina con la barra invertida.</p>

<p>El atributo principal del <a href="http://w3api.com/HTML/img">elemento img</a> es <a href="http://www.w3api.com/HTML/img/src">src</a> nos indica la ruta de la imagen que queremos cargar. Así, si la imagen se encuentra en la misma ruta que nuestra página web pondremos:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>En el caso de que la imagen esté en otro directorio, por ejemplo en <em>“/multimedia/imagenes”</em> pondremos lo siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"/multimedia/imagenes/foto.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Incluso la imagen puede residir en otro servidor. En ese caso la URL que contenga la imagen deberá de indicar el protocolo y el servidor que alberga la imagen. Por ejemplo podremos tener el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"http://lineadecodigo.com/imagenes/logo.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<h2 id="dimensiones-de-la-imagen-width-y-height">Dimensiones de la imagen: width y height</h2>

<p>Si no indicamos más sobre el <a href="http://w3api.com/HTML/img">elemento img</a>, la imagen que le hayamos pasado en su campo src se cargará con su tamaño original.</p>

<p>Si bien disponemos de los atributos <a href="http://www.w3api.com/HTML/img/width">width</a> para el ancho de la imagen y <a href="http://www.w3api.com/HTML/img/height">height</a> para el alto de la imagen. De esta forma, si queremos que nuestra imagen se vea en 100x100 pixels, podemos insertar el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"”foto.jpg”"</span> <span class="na">alt=</span><span class="s">""</span> <span class="na">width=</span><span class="s">"”100”"</span> <span class="na">height=</span><span class="s">"”100”"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>El tamaño de la imagen puede ser especificado en pixels o en porcentajes. En caso de omitir la unidad se utilizará el pixel.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="na">width=</span><span class="s">"100"</span> <span class="na">height=</span><span class="s">"100"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="na">width=</span><span class="s">"100px"</span> <span class="na">height=</span><span class="s">"100px"</span> <span class="nt">/&gt;</span>
<span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">""</span> <span class="na">width=</span><span class="s">"50%"</span> <span class="na">height=</span><span class="s">"50%"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Por cuestiones de rendimiento en la carga de las webs siempre es bueno el indicar sus valores <a href="http://www.w3api.com/HTML/img/width">width</a> y <a href="http://www.w3api.com/HTML/img/height">height</a>.</p>

<p>Los valores del alto y el ancho que indiquemos en la <a href="http://w3api.com/HTML/img">elemento img</a> no tienen porqué coincidir con el tamaño real de la imagen. Por ejemplo, reduciendo los valores de estos atributos podremos conseguir una previsualización de la misma, lo que se conoce como thumbnail.</p>

<h2 id="texto-alternativo-de-la-imagen-el-atributo-alt-y-longdesc">Texto alternativo de la imagen: el atributo alt y longdesc</h2>

<p>Sobre una imagen podemos indicar un texto alternativo o descriptivo de la misma. Para ello tenemos el <a href="http://www.w3api.com/HTML/img/alt">atributo alt</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">"texto"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Pero, ¿por qué quiero poner un texto, cuando realmente es una imagen gráfica?</p>

<p>Piensa que esto es útil en varios casos. Por ejemplo, si por algún problema técnico no se puede cargar la imagen, el navegador mostrará en su espacio el texto alternativo, lo cual dará al usuario una idea de lo que iba en ese sitio.</p>

<p>Otra cosa útil es para cuando nuestra página sea utilizada por personas discapacitadas con problemas de visibilidad. En este caso estas personas disponen de herramientas que le van leyendo la página y cuando llegan a una imagen leen el contenido que encuentran en el <a href="http://www.w3api.com/HTML/img/alt">atributo alt</a>.</p>

<p>Es por ello que el texto alternativo que insertemos en la imagen debe de ser bastante descriptivo de la misma. En algunos casos se llega hasta indicar el tamaño de la imagen.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"foto.jpg"</span> <span class="na">alt=</span><span class="s">"Fotografía"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<h2 id="tipos-de-formatos-de-imágenes">Tipos de formatos de imágenes</h2>

<p>Hemos aprendido mucho de cómo podemos insertar nuestras imágenes en el documento <a href="http://www.manualweb.net/html/">HTML</a>. Pero a la hora de insertar imágenes, qué tipo de imágenes puedo insertar en el documento <a href="http://www.manualweb.net/html/">HTML</a>.</p>

<p>En este punto tenemos un pequeño problema y es que los estándares de <a href="http://www.manualweb.net/html/">HTML</a> no definen los tipos de formato de imagen que se pueden ver en un navegador web.</p>

<p>Los formatos de imágenes más comúnmente aceptados son:</p>

<ul>
  <li><strong>JPEG</strong>, son imágenes digitales comprimidas con pérdida de información. Pero que nos permiten tener imágenes digitales que ocupen poco espacio.</li>
  <li><strong>GIF</strong>, es un formato para imágenes de mapas de bits las cuales soportan 8 bits por pixel. El formato GIF soporta imágenes animadas.</li>
  <li><strong>PNG</strong>, es un formato de imagen en mapa de bits que emplea compresión de datos sin pérdida de información. No requieren de licencia de patente. Es un formato creado para utilizar imágenes en Internet con un tamaño adecuado.</li>
</ul>

<p>Otros formatos que también son aceptados:</p>

<ul>
  <li><strong>APNG</strong>, son imágenes PNG animadas. Intenta evolucionar los gráficos animados en GIF.</li>
  <li><strong>SVG</strong>, gráficos vectoriales escalables. Son gráficos especificados mediante texto, lo cual hace que sean interpretables por los dispositivos y puedan escalar a través de diferentes resoluciones.</li>
  <li><strong>BMP</strong>, son imágenes de mapas de bits. Se pueden encontrar con extensión .bmp y .dib</li>
  <li><strong>BMP ICO y PNG ICO</strong>, formato para representar iconos en el sistema operativo Windows. Los iconos suelen contener diferentes tamaños y densidad de pixels. De esta forma pueden ser escalados.</li>
</ul>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Si solo insertamos texto en nuestras páginas webs, estas quedarán muy sencillas y poco lucidas. Es por ello que en HTML tenemos la capacidad de insertar imágenes.]]></summary></entry><entry><title type="html">Formularios HTML</title><link href="https://www.manualweb.net/html/formularios-html/" rel="alternate" type="text/html" title="Formularios HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/formularios-html</id><content type="html" xml:base="https://www.manualweb.net/html/formularios-html/"><![CDATA[<h2 id="qué-son-los-formularios-en-html">¿Qué son los formularios en HTML?</h2>
<p>Los formularios <a href="http://www.manualweb.net/html/">HTML</a> son elementos de las páginas web que nos sirven para recuperar información del usuario y enviarla al servidor para que pueda ser procesada.</p>

<p>La sintaxis para definir un formulario será mediante el <a href="http://www.w3api.com/HTML/form">elemento form</a>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form&gt;</span>...<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<h2 id="campos-de-formularios">Campos de Formularios</h2>
<p>Dentro de los <strong>campos</strong> que podemos incluir en formularios <a href="http://www.manualweb.net/html/">HTML</a> encontramos los siguientes:</p>

<ul>
  <li>Campos de entrada de datos
    <ul>
      <li>Campos de textos</li>
      <li>Contraseñas</li>
      <li>Checkbox</li>
      <li>Radios</li>
      <li>Botones de envío</li>
      <li>Botones de borrado</li>
      <li>Ficheros</li>
      <li>Campos Ocultos</li>
      <li>Imágenes</li>
      <li>Botones</li>
    </ul>
  </li>
  <li>Áreas de texto</li>
  <li>Combos de selección</li>
</ul>

<h3 id="campos-de-entrada-de-datos">Campos de entrada de datos<a href="#campos-de-entrada-de-datos"><img src="/img/marker.png" alt="Campos de entrada de datos" class="marca" /></a></h3>

<p>Son los elementos básicos de un formulario ya que son los que nos permiten recuperar información del usuario de diferentes formas.</p>

<p>El elemento que representa los campos de entrada de datos es <a href="http://www.w3api.com/HTML/input">input</a>. La estructura básica de un campo de entrada es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"tipo"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">size=</span><span class="s">"tamaño"</span>
  <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">value=</span><span class="s">"texto por defecto"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Si vemos los atributos que tiene el elemento input nos encontramos los siguientes:</p>

<ul>
  <li><strong>type</strong>, indica el tipo de campo de entrada de datos que vamos a utilizar. Dependiendo del tipo que indiquemos obtendremos un resultado u otro. Los valores que puede tener el atributo type son: “text”, “password”, “checkbox”, “radio”, “submit”, “reset”, “file”, “hidden”, “image” y “button”.</li>
  <li><strong>id,</strong> es el identificador del campo. Es importante ya que será el nombre por el cual podremos identificar, de forma unívoca, al campo.</li>
  <li><strong>size</strong>, será el tamaño del campo. Es decir, el número de caracteres que podríamos insertar en el campo de texto.</li>
  <li><strong>name,</strong> es el nombre del campo el cual se enviará desde el formulario al servidor.</li>
  <li><strong>value,</strong> será el valor por defecto que tendrá el campo de texto y que le aparecerá al usuario al cargar el formulario.</li>
</ul>

<p>Cuando enviemos el formulario al servidor, se coge el la combinación name=value para ser enviada.</p>

<h4 id="campos-de-texto">Campos de texto</h4>

<p>El campo de texto, como bien indica su nombre, es el que nos permite insertar texto en un formulario. El usuario podrá insertar texto visible sobre el campo.</p>

<p>En este caso el tipo de elemento input que utilizaremos será “text”. Así, para definir un campo de texto lo haremos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">size=</span><span class="s">"tamaño"</span>
  <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">value=</span><span class="s">"texto por defecto"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>De esta forma si queremos crear un campo de texto para poder insertar 70 caracteres que contenga un email, lo definiremos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"email"</span> <span class="na">name=</span><span class="s">"email"</span>
  <span class="na">size=</span><span class="s">"70"</span> <span class="na">value=</span><span class="s">"usuario@dominio.com"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<h4 id="contraseñas">Contraseñas</h4>

<p>Cuando un usuario inserte una contraseña dentro de un formulario necesitaremos, casi seguro, que el valor de la contraseña no aparezca y que por el contrario aparezcan caracteres como asteriscos.</p>

<p>Para insertar un campo que acepte contraseñas dentro de un formulario vamos a utilizar un tipo “password” dentro del elemento input.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"password"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">size=</span><span class="s">"tamaño"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>En este caso, aunque podemos poner un valor por defecto, si bien, no parece tener mucho sentido. Si queremos definir un campo que acepte contraseñas de 20 caracteres lo codificaremos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"password"</span> <span class="na">id=</span><span class="s">"clave"</span> <span class="na">name=</span><span class="s">"clave"</span> <span class="na">size=</span><span class="s">"20"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<h4 id="checkbox">Checkbox</h4>

<p>Un checkbox nos permite capturar un dato del usuario mediante un elemento de check. El check puede tener dos valores, seleccionado o no seleccionado. El tipo del elemento input que utilizaremos será “checkbox”. Así lo definiremos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>En el caso del checkbox no tienen sentido el atributo tamaño ni el valor por defecto. Ya que, recordemos que solo podemos tener el check seleccionado o no. Pero lo que sí podemos hacer es generar un checkbox que esta preseleccionado. Para ello utilizamos el <a href="http://www.w3api.com/HTML/input/checked">atributo checked</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">checked=</span><span class="s">"checked"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Pero ¿dónde está el texto que acompaña al checkbox? Realmente el checkbox no tiene definido que acompañe al checkbox. Si no que hay que añadir el texto directamente al lado del checkbox.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">checked=</span><span class="s">"checked"</span><span class="nt">/&gt;</span>
Texto del checkbox
</code></pre></div></div>

<p>Aunque más adelante vamos a ver una forma más correcta de asociar el texto al checkbox.</p>

<p>Así, si queremos crear un checkbox que nos pregunte si estamos de acuerdo con unas condiciones podríamos codificarlo de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"condiciones"</span> <span class="na">name=</span><span class="s">"condiciones"</span><span class="nt">/&gt;</span>Está de acuerdo con las condiciones explicadas más arriba.
</code></pre></div></div>

<p>Los checkbox suelen ir en grupos para seleccionar varias opciones. Por ejemplo podríamos tener el siguiente código con el que podamos seleccionar qué lenguaje de programación queremos aprender.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">name=</span><span class="s">"lenguaje"</span> <span class="na">value=</span><span class="s">"html"</span><span class="nt">&gt;</span>HTML
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">name=</span><span class="s">"lenguaje"</span> <span class="na">value=</span><span class="s">"javascript"</span><span class="nt">&gt;</span>Javascript
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">name=</span><span class="s">"lenguaje"</span> <span class="na">value=</span><span class="s">"css"</span><span class="nt">&gt;</span>CSS
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">name=</span><span class="s">"lenguaje"</span> <span class="na">value=</span><span class="s">"xml"</span><span class="nt">&gt;</span>XML
</code></pre></div></div>

<h4 id="radios">Radios</h4>

<p>Con los elementos de radio podemos ofrecer un conjunto de opciones al usuario de tal manera que solo pueda elegir una de ellas. El tipo de elemento input que utilizamos es “radio”.</p>

<p>La sintaxis que seguiremos en los elementos input de tipo radio será la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">value=</span><span class="s">"valor"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>En el caso de los elementos radio <strong>toma un papel principal el <a href="http://www.w3api.com/HTML/name">atributo name</a></strong>. Ya que para poder agrupar opciones deberemos de tener el mismo valor de <a href="http://www.w3api.com/HTML/name">atributo name</a>.</p>

<p>Así, si queremos crear un grupo de radios para que nos elija una edad le podremos crear de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"menos18"</span> <span class="na">value=</span><span class="s">"menos18"</span> <span class="na">name=</span><span class="s">"edad"</span><span class="nt">/&gt;</span>Menos de 18
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"18a30"</span> <span class="na">value=</span><span class="s">"18a30"</span> <span class="na">name=</span><span class="s">"edad"</span><span class="nt">/&gt;</span>18 a 30
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"31a50"</span> <span class="na">value=</span><span class="s">"31a50"</span> <span class="na">name=</span><span class="s">"edad"</span><span class="nt">/&gt;</span>31 a 50
<span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"mas50"</span> <span class="na">value=</span><span class="s">"mas50"</span> <span class="na">name=</span><span class="s">"edad"</span><span class="nt">/&gt;</span>Más de 50
</code></pre></div></div>

<p>Al igual que sucedía con los campos de entrada de tipo check, podemos cargar campos de tipo radio en nuestro formulario con un elemento preseleccionado. Para ello volvemos a recurrir al <a href="http://www.w3api.com/HTML/input/checked">atributo checked</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"radio"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">value=</span><span class="s">"valor"</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">checked=</span><span class="s">"checked"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<h4 id="ficheros">Ficheros</h4>

<p>Cuando diseñemos un formulario es posible que necesitemos enviar un fichero de datos al servidor. En este caso el campo de entrada de datos nos tiene que dar la posibilidad de acceder al sistema de fichero del dispositivo para poder seleccionar uno.</p>

<p>En este caso vamos a necesitar un campo de entrada de tipo “file”. La sintaxis de los campos de entrada para tipos file sería:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"file"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">value=</span><span class="s">"valor"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<h4 id="campos-ocultos">Campos Ocultos</h4>

<p>Otra de las opciones que nos podemos encontrar dentro de los formularios es con la necesidad de enviar información oculta. Es decir, información que tiene que ir anexa al formulario pero que no necesita ser introducida por el usuario. Para ello tenemos la posibilidad de crear campos de datos ocultos.</p>

<p>La sintaxis para los campos de entrada ocultos es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"hidden"</span> <span class="na">id=</span><span class="s">"identificador"</span> <span class="na">value=</span><span class="s">"valor"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>En estos casos el campo valor siempre va relleno, ya que no hay otra forma de que el usuario le asigne un valor.</p>

<h4 id="imágenes">Imágenes</h4>

<p>Uno de los tipos de <a href="http://www.w3api.com/HTML/input">elementos input</a> es el tipo <em>“image”</em>. Mediante el tipo <em>“image”</em> podemos crear un botón de envío que sea una imágen. La imagen se cargará mediante el <a href="http://www.w3api.com/HTML/img/src">atributo src</a>. La estructura para <a href="http://www.w3api.com/HTML/input">elementos input</a> de este tipo es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"image"</span> <span class="na">src=</span><span class="s">"url-image"</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">alt=</span><span class="s">"texto-alternativo"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Como sucede cada vez que manipulamos imágenes hay que rellenar el <a href="http://www.w3api.com/HTML/img/alt">atributo alt</a> con un texto alternativo por motivos de accesibilidad.</p>

<p>Cuando pulsemos sobre la imagen se enviará el formulario, además se enviarán dos atributos <em>name.x</em> y <em>name.y</em> con los datos de las coordenadas x,y en las que se pulsó sobre la imagen.</p>

<h3 id="áreas-de-texto">Áreas de texto</h3>

<p>Un elemento algo más avanzado que el campo de entrada de datos es el área de texto. Mediante un área de texto tenemos la capacidad de que el usuario inserte una gran cantidad de datos y además que esos datos puedan estar en diferentes líneas.</p>

<p>Para poder insertar un área de texto en nuestro formulario utilizamos el <a href="http://www.w3api.com/HTML/textarea">elemento textarea</a>. La sintaxis del <a href="http://www.w3api.com/HTML/textarea">elemento textarea</a> será la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;textarea</span> <span class="na">rows=</span><span class="s">"numerofilas"</span> <span class="na">cols=</span><span class="s">"numerocolumnas"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">&gt;&lt;/textarea&gt;</span>
</code></pre></div></div>

<p>A diferencia del <a href="http://www.w3api.com/HTML/input">elemento input</a>, el textarea tiene una etiqueta de inicio y una de fin.</p>

<p>Los atributos que nos encontramos en un <a href="http://www.w3api.com/HTML/textarea">textarea</a> son:</p>

<ul>
  <li><strong><a href="http://www.w3api.com/HTML/textarea/rows">rows</a></strong>, indica el número de filas que tiene el área de texto.</li>
  <li><strong><a href="http://www.w3api.com/HTML/textaera/cols">cols</a></strong>, indica el número de columnas que tiene el área de texto.</li>
  <li><strong><a href="http://www.w3api.com/HTML/name">name</a></strong>, al igual que sucede con otros elementos del formulario, name contiene el nombre del campo, el cual será enviado al servidor para ser procesado.</li>
</ul>

<p>De esta forma, si queremos crear un área de texto de 20 filas por 100 columnas en el que un usuario pueda insertar un comentario tendríamos el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;textarea</span> <span class="na">rows=</span><span class="s">"20"</span> <span class="na">cols=</span><span class="s">"100"</span> <span class="na">name=</span><span class="s">"comentario"</span><span class="nt">&gt;&lt;/textarea&gt;</span>
</code></pre></div></div>

<p>Si queremos que el área de texto vaya con un valor por defecto, tendremos que añadir dicho contenido entre las etiquetas de textarea.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;textarea</span> <span class="na">rows=</span><span class="s">"20"</span> <span class="na">cols=</span><span class="s">"100"</span> <span class="na">name=</span><span class="s">"comentario"</span><span class="nt">&gt;</span>Contenido de comentario...<span class="nt">&lt;/textarea&gt;</span>
</code></pre></div></div>

<h3 id="combos-de-opciones">Combos de opciones</h3>

<p>Otro elemento que podemos insertar dentro de un formulario es un combo de opciones. Es decir, un elemento en el que el usuario pueda elegir un elemento o varios de una lista.</p>

<p>El elemento que nos permite insertar un combo de opciones es <a href="http://www.w3api.com/HTML/select">select</a>. La sintaxis básica de un <a href="http://www.w3api.com/HTML/select">elemento select</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;select</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">size=</span><span class="s">"valoresvisibles"</span> <span class="na">multiple=</span><span class="s">"multiple"</span><span class="nt">&gt;</span>
<span class="nt">&lt;/select&gt;</span>
</code></pre></div></div>

<p>De los valores que nos encontramos en el <a href="http://www.w3api.com/HTML/select">elemento select</a> destacamos:</p>

<ul>
  <li><strong>name,</strong> que al igual que en anteriores casos sirve para dar un nombre al campo que se enviará al servidor.</li>
  <li><strong>size,</strong> indica el número de opciones que aparecen visibles por defecto. En el caso de que haya más opciones que las elegidas por defecto lo que nos aparecerá será un scroll para poder localizar todas.</li>
  <li><strong>multiple</strong>, este atributo nos servirá para poder elegir varias de las opciones. Es decir, para tener una elección múltiple.</li>
</ul>

<p>Como hemos visto el elemento select sólo demarca el combo de las opciones. Para definir cada una de las opciones tenemos el <a href="http://www.w3api.com/HTML/option">elemento option</a>.</p>

<p>La sintaxis básica del <a href="http://www.w3api.com/HTML/option">elemento option</a> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;option</span> <span class="na">label=</span><span class="s">"etiqueta"</span> <span class="na">value=</span><span class="s">"valor"</span><span class="nt">&gt;&lt;/option&gt;</span>
</code></pre></div></div>

<p>Dónde el <strong>atributo label</strong> indica el texto que aparecerá para poder ser seleccionado en el combo y <strong>value</strong> el valor realmente de ese item. En el caso de que no pongamos el atributo label o el atributo value, el valor que cogerán dichos atributos será el texto que encontremos entre los <a href="http://www.w3api.com/HTML/option">elementos de option</a>.</p>

<p>Por lo tanto, si juntamos la sintaxis del <a href="http://www.w3api.com/HTML/select">elemento select</a> y el <a href="http://www.w3api.com/HTML/option">elemento option</a> tenemos la siguiente codificación:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;select</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">size=</span><span class="s">"valoresvisibles"</span> <span class="na">multiple=</span><span class="s">"multiple"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;option</span> <span class="na">label=</span><span class="s">"etiqueta"</span> <span class="na">value=</span><span class="s">"valor"</span><span class="nt">&gt;&lt;/option&gt;</span>
<span class="nt">&lt;/select&gt;</span>
</code></pre></div></div>

<p>Si queremos crear un combo de opciones donde podamos elegir un equipo de fútbol tendríamos el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;select&gt;</span>
  <span class="nt">&lt;option&gt;</span>Atlético de Madrid<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>Real Betis<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>FC. Barcelona<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>Real Madrid<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>Zaragoza<span class="nt">&lt;/option&gt;</span>
<span class="nt">&lt;/select&gt;</span>
</code></pre></div></div>

<p>Si queremos que una de las opciones del combo vaya marcada recurriremos al <a href="http://www.w3api.com/HTML/option/selected">atributo selected</a>. Así, en nuestro ejemplo si marcamos como predefinido el equipo del Betis tendríamos el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;select&gt;</span>
  <span class="nt">&lt;option&gt;</span>Atletico de Madrid<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option</span> <span class="na">selected=</span><span class="s">"selected"</span><span class="nt">&gt;</span>Betis<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>FC. Barcelona<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>Real Madrid<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;option&gt;</span>Zaragoza<span class="nt">&lt;/option&gt;</span>
<span class="nt">&lt;/select&gt;</span>
</code></pre></div></div>

<p>Otra de las cosas que podemos realizar dentro de un combo es agrupar opciones. Si la lista de opciones es muy grande podemos utilizar el <a href="http://www.w3api.com/HTML/optgroup">elemento optgroup</a>.</p>

<p>La sintaxis del <a href="http://www.w3api.com/HTML/optgroup">elemento optgroup</a> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;optgroup</span> <span class="na">label=</span><span class="s">"etiqueta"</span><span class="nt">&gt;&lt;/optgroup&gt;</span>
</code></pre></div></div>

<p>Dentro del <a href="http://www.w3api.com/HTML/optgroup">elemento optgroup</a> encontraremos todos los <a href="http://www.w3api.com/HTML/option">elementos option</a> que queramos agrupar.</p>

<p>Si por ejemplo, queremos ofrecer un combo de ciudades y las queremos agrupar por continentes, tendríamos el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;select</span> <span class="na">name=</span><span class="s">"ciudad"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;optgroup</span> <span class="na">label=</span><span class="s">"Europa"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;option&gt;</span>Madrid<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Londres<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Paris<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;/optgroup&gt;</span>
  <span class="nt">&lt;optgroup</span> <span class="na">label=</span><span class="s">"Suramerica"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;option&gt;</span>Santiago<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Sao Paulo<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Lima<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Bogota<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;/optgroup&gt;</span>
    <span class="nt">&lt;optgroup</span> <span class="na">label=</span><span class="s">"Africa"</span><span class="nt">&gt;</span>
    <span class="nt">&lt;option&gt;</span>Casablanca<span class="nt">&lt;/option&gt;</span>
    <span class="nt">&lt;option&gt;</span>Ciudad del Cabo<span class="nt">&lt;/option&gt;</span>
  <span class="nt">&lt;/optgroup&gt;</span>
<span class="nt">&lt;/select&gt;</span>
</code></pre></div></div>

<h3 id="botones">Botones</h3>

<p>Una vez que hemos insertado campos de texto en nuestro formulario es hora de insertar botones. <strong><em>Mediante los botones podremos realizar operaciones de envío del formulario</em></strong>, de manipulación de datos, borrado,…</p>

<p>Existen dos formas de insertar botones dentro de un formulario: el <a href="http://www.w3api.com/HTML/input">elemento input</a> y el <a href="http://www.w3api.com/HTML/button">elemento button</a>. La primera es recurre nuevamente al <a href="http://www.w3api.com/HTML/input">elemento input</a> que hemos visto anteriormente para los campos de texto.</p>

<p>La sintaxis para un botón mediante un <a href="http://www.w3api.com/HTML/input">elemento input</a> será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"button"</span> <span class="na">value=</span><span class="s">"TextoBotón"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Si bien, este botón no hace nada por sí solo y tendríamos que darle un comportamiento vía Javascript para que el botón tuviera funcionalidad.</p>

<h4 id="botones-de-envío">Botones de envío</h4>

<p>En el caso del <a href="http://www.w3api.com/HTML/input">elemento input</a> podemos poner botones de otras dos formas y en estos casos ya con funcionalidad. Estos son los tipos <strong><em>“submit”</em></strong> y <strong><em>“reset”.</em></strong></p>

<p>Para crear un botón que nos envíe los datos del formulario al servidor tenemos el tipo submit. Su sintaxis es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"submit"</span> <span class="na">value=</span><span class="s">"TextoBotón"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Una vez que pulsemos sobre el botón se enviarán los datos que el usuario haya insertado en el formulario.</p>

<h4 id="botones-de-borrado">Botones de borrado</h4>

<p>El otro tipo de botón con funcionalidad es el que nos permite el borrado de los datos del formulario. Para ello tenemos el tipo “reset”. La sintaxis de este botón será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"reset"</span> <span class="na">value=</span><span class="s">"TextoBotón"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Cuando el usuario pulse sobre el botón de borrado. Todos los valores que el usuario haya insertado en el formulario se eliminarán.</p>

<h4 id="el-elemento-button">El elemento button</h4>

<p>Como hemos visto hasta ahora los botones que hemos insertado han sido mediante el <a href="http://www.w3api.com/HTML/input">elemento input</a>, si bien contamos con otro elemento para poner botones en el formulario que es el <a href="http://www.w3api.com/HTML/button">elemento button</a>. Cuya funcionalidad es la misma que la del <a href="http://www.w3api.com/HTML/input">elemento input</a>.</p>

<p>La sintaxis del <a href="http://www.w3api.com/HTML/button">elemento button</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;button</span> <span class="na">name=</span><span class="s">"nombre"</span> <span class="na">type=</span><span class="s">"TipoBoton"</span> <span class="na">value=</span><span class="s">"ValorBoton"</span><span class="nt">&gt;&lt;/button&gt;</span>
</code></pre></div></div>

<p>Dependiendo del tipo que asignamos al <a href="http://www.w3api.com/HTML/input/type">atributo type</a> obtendremos un comportamiento u otro:</p>

<ul>
  <li><strong>submit</strong>, crea un botón para el envío de formulario.</li>
  <li><strong>reset</strong>, crea un botón para el borrado de datos del formulario.</li>
  <li><strong>button</strong>, crea un botón normal.</li>
</ul>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[¿Qué son los formularios en HTML? Los formularios HTML son elementos de las páginas web que nos sirven para recuperar información del usuario y enviarla al servidor para que pueda ser procesada.]]></summary></entry><entry><title type="html">Estructura y Envío de Formularios HTML</title><link href="https://www.manualweb.net/html/estructura-envio-formularios-html/" rel="alternate" type="text/html" title="Estructura y Envío de Formularios HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/formualario-estructura-envio</id><content type="html" xml:base="https://www.manualweb.net/html/estructura-envio-formularios-html/"><![CDATA[<p>Una de las cosas importantes que tenemos que saber de los formularios <a href="http://www.manualweb.net/html/">HTML</a> es cómo funciona la Estructura y envío de formularios.</p>

<h2 id="etiquetando-el-formulario">Etiquetando el formulario</h2>

<p>Hemos visto cómo insertar campos para que el usuario introduzca información en el formulario. En algunos casos hemos visto que aunque el campo tiene un dato de valor no lleva una etiqueta asociada. Es verdad que podemos poner texto al lado del elemento de entrada de datos. Por ejemplo en un checkbox:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Equipo: <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"betis"</span> <span class="na">name=</span><span class="s">"equipo"</span> <span class="na">value=</span><span class="s">"Real Betis"</span><span class="nt">/&gt;</span>Real Betis
</code></pre></div></div>

<p>¿Quién nos dice que el texto asociado al checkbox es “Equipo” o “Real Betis”? Para resolver esto el lenguaje <a href="http://www.manualweb.net/html/">HTML</a> nos proporciona el <a href="http://www.w3api.com/HTML/label">elemento label</a>.</p>

<p>La sintaxis del <a href="http://www.w3api.com/HTML/label">elemento label</a> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"identificador"</span><span class="nt">&gt;</span>Texto de la Etiqueta<span class="nt">&lt;/label&gt;</span>
</code></pre></div></div>

<p>El <strong>atributo for</strong> llevará asociado un identificador que deberá de coincidir con el valor de algún <a href="http://www.w3api.com/HTML/id">atributo id</a> de uno de los elementos del formulario. Y será sobre ese elemento sobre el que quede asociado.</p>

<p>De esta forma, en el caso que definimos anteriormente sobre el checkbox, la forma correcta de asociar una etiqueta al elemento será la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Equipo: <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"checkbox"</span> <span class="na">id=</span><span class="s">"betis"</span> <span class="na">name=</span><span class="s">"equipo"</span> <span class="na">value=</span><span class="s">"Real Betis"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"betis"</span><span class="nt">&gt;</span>Real Betis<span class="nt">&lt;/label&gt;</span>
</code></pre></div></div>

<h2 id="estructura-del-formulario">Estructura del formulario</h2>

<p>En <a href="http://www.manualweb.net/html/">HTML</a> contamos con dos elementos para dar una <strong><em>estructura a los formularios</em></strong>. Estos elementos: <a href="http://www.w3api.com/HTML/fieldset">fieldset</a> y <a href="http://www.w3api.com/HTML/legend">legend</a> nos ayudan a agrupar los datos relacionados dentro del formulario.</p>

<p>Pero vayamos por parte. El primero es <a href="http://www.w3api.com/HTML/fieldset">fieldset</a>, este es un elemento que agrupa a diferentes elementos del formulario, elementos que están relacionados entre ellos.</p>

<p>La sintaxis de <a href="http://www.w3api.com/HTML/fieldset">fieldset</a> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;fieldset&gt;</span>...<span class="nt">&lt;/fieldset&gt;</span>
</code></pre></div></div>

<p>Entre estos elementos aparecerán los campos del formulario. Por ejemplo si tenemos campos personales básicos podemos agruparlos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;fieldset&gt;</span>
 <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
 <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/fieldset&gt;</span>
</code></pre></div></div>

<p>El <a href="http://www.w3api.com/HTML/legend">elemento legend</a> nos servirá para darle un significado a una agrupación</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;fieldset&gt;</span>
 <span class="nt">&lt;legend&gt;</span>Introduzca sus datos personales<span class="nt">&lt;/legend&gt;</span>
 <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
 <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;/fieldset&gt;</span>
</code></pre></div></div>

<h2 id="hacer-foco-en-el-formulario">Hacer foco en el formulario</h2>

<p>Cuando construyamos un formulario deberemos de preocuparnos por cómo hacer foco en los elementos. Está claro que si utilizamos un navegador web el uso del ratón nos facilitará el ir rellenando cada uno de los campos del formulario.</p>

<p>Pero piensa en alguien que no tenga un ratón o bien que utilice un agente de usuario no visual adaptado para discapacitados. En este caso y para temas de accesibilidad tenemos dos formas de hacer foco en el formulario. Una será el uso de la tabulación, y el otro el uso de teclas de acceso.</p>

<h3 id="tabulaciones-por-el-formulario">Tabulaciones por el formulario</h3>

<p>Para las navegaciones por tabulación en el formulario existe el <strong>atributo tabindex</strong>. Este atributo que lo podemos encontrar en todos los elementos de un formulario nos sirve para establecer un orden mediante números ordinales de los campos del formulario. La estructura del <strong>atributo tabindex</strong> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tabindex="numero"
</code></pre></div></div>

<p>De esta forma podríamos establecer el orden de un formulario de dos datos básicos y un botón mediante el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">tabindex=</span><span class="s">"1"</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;&lt;input</span> <span class="na">tabindex=</span><span class="s">"2"</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
<span class="nt">&lt;button</span> <span class="na">id=</span><span class="s">"envio"</span> <span class="na">tabindex=</span><span class="s">"3"</span><span class="nt">&gt;</span>Enviar Formulario<span class="nt">&lt;/button&gt;</span>
</code></pre></div></div>

<h3 id="teclas-de-acceso">Teclas de acceso</h3>

<p>Otra forma de poder acceder a un elemento del formulario es asignando al elemento una tecla de acceso. De esta manera cuando pulsamos esta tecla (en combinación con alguna definida en el sistema, como la tecla ALT para Windows) iremos directamente a dicho elemento.</p>

<p>El atributo que nos permite hacer esto es el <strong>atributo accesskey</strong>. La estructura del <strong>atributo accesskey</strong> es la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>accesskey=tecla
</code></pre></div></div>

<p>Así podríamos definir un campo de un formulario al cual fuésemos al pulsar sobre la “tecla N”:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span> <span class="na">accesskey=</span><span class="s">"N"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
<span class="nt">&lt;input</span> <span class="na">tabindex=</span><span class="s">"1"</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<h2 id="deshabilitar-controles">Deshabilitar controles</h2>

<p>A la hora de crear un formulario puede darse el caso que haya algunos campos que en determinados momentos nos aparezcan deshabilitados. Es decir, que el usuario no pueda modificar el valor de dichos campos.</p>

<p>Para poder deshabilitar los controles de un formulario contamos con el <strong>atributo disabled</strong>. La estructura del <strong>atributo disabled</strong> es directamente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>disabled
</code></pre></div></div>

<p>De esta manera si queremos deshabilitar nuestro anterior campo de texto que nos permitía insertar un nombre escribimos lo siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span> <span class="na">accesskey=</span><span class="s">"N"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
<span class="nt">&lt;input</span> <span class="na">disabled</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>No podremos hacer foco sobre los elementos de un formulario que estén deshabilitados. De igual manera al hacer tabulación tampoco se podrá tabular sobre ellos. Además no se enviarán como parte de la petición del formulario.</p>

<p>En el caso de que queramos buscar el mismo efecto de que el elemento esté deshabilitado, pero que se pueda tabular, hacer foco y enviar, tenemos el atributo de solo lectura o readonly.</p>

<p>La estructura del <strong>atributo readonly</strong> es básica:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code>readonly
</code></pre></div></div>

<p>Si lo aplicamos nuevamente a nuestro campo de texto tendremos:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span> <span class="na">accesskey=</span><span class="s">"N"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
<span class="nt">&lt;input</span> <span class="na">readonly</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>El atributo readonly solo se puede aplicar a <a href="http://www.w3api.com/HTML/input">elementos input</a> y <a href="http://www.w3api.com/HTML/textarea">textarea</a>.</p>

<h2 id="envío-del-formulario">Envío del formulario</h2>

<p>Una vez que ya hemos construido nuestro formulario solo nos quedará una cosa, esta será enviar el formulario.</p>

<p>Para enviar el formulario deberemos de controlar dos cosas. Por un lado a dónde lo vamos a enviar, es decir, cual es la URL del programa destino (o página destino) que va a procesar los datos del formulario y que nos va a dar una respuesta. Por otro lado está el tipo de envío de los parámetros. En el caso del tipo de envío tenemos la posibilidad de hacerlo mediante un formato GET (con los datos visibles) o POST (con los datos no visibles).</p>

<p>Ambos elementos los configuraremos dentro del <a href="http://www.w3api.com/HTML/form">elemento form</a>.</p>

<h3 id="destino-del-formulario">Destino del formulario</h3>

<p>Para establecer el destino del formulario tenemos el <a href="http://www.w3api.com/HTML/form/action">atributo action</a>. El <a href="http://www.w3api.com/HTML/form/action">atributo action</a> tiene la URL de destino del formulario. La estructura del <a href="http://www.w3api.com/HTML/form/action">atributo action</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">"url-destino"</span><span class="nt">&gt;</span> … <span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Las URL de destino suelen ser programas o código de servidor, ya sea <a href="http://www.manualweb.net/java/">Java</a>, <a href="http://www.manualweb.net/php/">PHP</a>, Node, <a href="http://www.manualweb.net/php/">ASP</a>,… Los cuales recuperan la información del formulario, la manipulan y nos devuelven una nueva página <a href="http://www.manualweb.net/html/">HTML</a>.</p>

<h3 id="tipo-de-envío-get-y-post">Tipo de envío: GET y POST</h3>

<p>Para establecer el tipo de envío del formulario tenemos el <a href="http://www.w3api.com/wiki/HTML/form/method">atributo method</a>. El <a href="http://www.w3api.com/wiki/HTML/form/method">atributo method</a> puede tener dos valores: GET y POST. El atributo method lo encontramos dentro del <a href="http://www.w3api.com/HTML/form">elemento form</a>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">method=</span><span class="s">"GET|POST"</span><span class="nt">&gt;</span> … <span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>A la hora de enviar los ** formularios de forma GET** lo que vamos a conseguir es que a la URL destino del formulario se le añaden los parámetros con los datos del formulario en la estructura:</p>

<p><samp>action?nombre1=valor1&amp;nombre2=valor2&amp;...&amp;nombreN=valorN</samp></p>

<p>Si tenemos el siguiente formulario:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">"envio.php"</span> <span class="na">method=</span><span class="s">"GET"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span> <span class="na">name=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;button</span> <span class="na">id=</span><span class="s">"envio"</span><span class="nt">&gt;</span>Enviar Formulario<span class="nt">&lt;/button&gt;</span>
<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Lo que se enviará en la URL será algo parecido a:</p>

<p><samp>envio.php?name=Victor&amp;apellido=Cuervo</samp></p>

<p>Es importante que nos fijemos que utiliza el valor que hay dentro de los <a href="http://www.w3api.com/wiki/HTML/form/name">atributos name</a> para realizar el envío. Si indicamos que el método de envío del formulario es POST lo que hará el navegador es enviar los datos junto al cuerpo del formulario y no se verán en la URL.</p>

<p>Así, en el siguiente formulario:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">action=</span><span class="s">"envio.php"</span> <span class="na">method=</span><span class="s">"POST"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span> <span class="na">name=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;button</span> <span class="na">id=</span><span class="s">"envio"</span><span class="nt">&gt;</span>Enviar Formulario<span class="nt">&lt;/button&gt;</span>
<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Solo veremos, al enviarlo:</p>

<p><samp>enviar.php</samp></p>

<h3 id="formato-del-contenido-del-formulario">Formato del contenido del formulario</h3>

<p>Cuando enviamos el formulario deberemos de saber qué sucede con el contenido. Es decir, si lo envía de alguna forma en especial o con algún tipo de tratamiento. Lo primero que tenemos que saber es que el campo que permite establecer el formato del contenido del formulario es <strong>enctype</strong>, que es un atributo del <a href="http://www.w3api.com/HTML/form">elemento form</a>:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">enctype=</span><span class="s">"formato-contenido"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Los formularios, por defecto, se envían mediante el formato <strong>application/x-www-form-urlencoded.</strong> Este formato lo que hace es sustituir los espacios por + y convierte los caracteres especiales en secuencias de escape. Por otro lado las combinaciones de nombre valor las separa por un = y las parejas con símbolos &amp;. Como ya vimos en las peticiones del tipo GET.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">enctype=</span><span class="s">"application/x-www-form-urlencoded"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Si bien, en el caso de que queramos enviar formularios con un gran volumen de información o con imágenes, deberemos de utilizar el tipo <strong>multipart/form-data</strong>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">enctype=</span><span class="s">"multipart/form-data"</span><span class="nt">&gt;</span>...<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>Los formularios que utilizan el tipo <strong>multipart/form-data</strong> contienen una serie de partes conocidas como form-data en las que va cada uno de los campos enviados en el formulario.</p>

<p>De esta forma si tenemos el siguiente formulario:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;form</span> <span class="na">enctype=</span><span class="s">"multipart/form-data"</span> <span class="na">action=</span><span class="s">"envio.php"</span> <span class="na">method=</span><span class="s">"POST"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"nombre"</span><span class="nt">&gt;</span>Nombre<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"nombre"</span> <span class="na">name=</span><span class="s">"nombre"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"apellido"</span><span class="nt">&gt;</span>Apellido<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"text"</span> <span class="na">id=</span><span class="s">"apellido"</span> <span class="na">name=</span><span class="s">"apellido"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;label</span> <span class="na">for=</span><span class="s">"fichero"</span><span class="nt">&gt;</span>Fichero<span class="nt">&lt;/label&gt;</span>
  <span class="nt">&lt;input</span> <span class="na">type=</span><span class="s">"file"</span> <span class="na">id=</span><span class="s">fichero"</span> <span class="na">name=</span><span class="s">"fichero"</span><span class="nt">/&gt;</span>
  <span class="nt">&lt;button</span> <span class="na">id=</span><span class="s">"envio"</span><span class="nt">&gt;</span>Enviar Formulario<span class="nt">&lt;/button&gt;</span>
<span class="nt">&lt;/form&gt;</span>
</code></pre></div></div>

<p>La petición multipart podría ser de la siguiente forma:</p>

<pre>-----------------------------931237358445456570660578548
Content-Disposition: form-data; name="nombre"

Victor
-----------------------------931237358445456570660578548
Content-Disposition: form-data; name="apellido"

Cuervo
-----------------------------931237358445456570660578548
Content-Disposition: form-data; name="fichero"; filename="fotografia.png"
Content-Type: image/png</pre>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Una de las cosas importantes que tenemos que saber de los formularios HTML es cómo funciona la Estructura y envío de formularios.]]></summary></entry><entry><title type="html">Enlaces HTML</title><link href="https://www.manualweb.net/html/enlaces-html/" rel="alternate" type="text/html" title="Enlaces HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/enlaces-html</id><content type="html" xml:base="https://www.manualweb.net/html/enlaces-html/"><![CDATA[<h2 id="qué-son-los-enlaces-en-html">¿Qué son los enlaces en HTML?</h2>

<p>Lo más importante de los documentos <a href="http://www.manualweb.net/html/">HTML</a> son los enlaces. Ya que mediante los enlaces en <a href="http://www.manualweb.net/html/">HTML</a> podemos comunicar una página con otra. De esta forma, enlazando documentos <a href="http://www.manualweb.net/html/">HTML</a> podemos acabar tejiendo lo que es Internet.</p>

<p>Para crear un enlace en <a href="http://www.manualweb.net/html/">HTML</a> utilizamos el <a href="http://www.w3api.com/HTML/a">elemento A</a> con la siguiente sintaxis:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a&gt;</span>Contenido del enlace<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>Pero solo con esto el enlace no tendrá mucha utilidad ya que el principal objetivo del enlace es enlazar a un destino. Para poder indicar el destino de un enlace utilizamos el <a href="http://www.w3api.com/HTML/a/href">atributo href</a>. En valor del <a href="http://www.w3api.com/HTML/a/href">atributo href</a> puede ser cualquier URI que represente un recurso. Es decir, una página, una parte de una página, una URL genérica, un archivo,… De esta forma el enlace en <a href="http://www.manualweb.net/html/">HTML</a> lo crearemos con la sintaxis:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"URI"</span><span class="nt">&gt;</span>Contenido del enlace<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>A modo de ejemplo podríamos tener los siguientes enlaces:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"documento.html"</span><span class="nt">&gt;</span>Enlace a un documento<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"documento.html#resumen"</span><span class="nt">&gt;</span>Enlace a una parte de un documento<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"http://www.manualweb.net"</span><span class="nt">&gt;</span>Enlace a una web<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"http://www.manualweb.net/tutorial-html/"</span><span class="nt">&gt;</span>Enlace a un directorio<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"miimagen.png"</span><span class="nt">&gt;</span>Enlace a una imagen<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"mimusica.mp3"</span><span class="nt">&gt;</span>Enlace a un archivo de sonido<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="destino-del-enlace">Destino del enlace</h2>

<p>Pero, ¿dónde se abre el enlace? Pues por defecto y si no hemos configurado nada en el navegador web que estemos utilizando el enlace se abre en la misma ventana en la que tengamos el enlace.</p>

<p>Si bien, en el enlace, podemos indicar el destino que queremos darle a dicho enlace. Eso lo podemos hacer mediante el <a href="http://www.w3api.com/HTML/a/target">atributo target</a>. Los posibles valores que admite el <a href="http://www.w3api.com/HTML/a/target">atributo target</a> son:</p>

<ul>
  <li><strong>_blank</strong>, el agente de usuario intentará abrir el enlace en una nueva ventana. La nueva ventana no tendrá nombre.</li>
  <li><strong>_self</strong>, el agente de usuario intentará abrir el enlace en el mismo marco donde está en código actual.</li>
  <li><strong>_parent</strong>, el agente de usuario intentará abrir el enlace en el <a href="http://w3api.com/HTML/frameset">frameset</a> inmediatamente superior al que se encuentra la página. Esto suele suceder cuando tenemos el enlace en un área de frames.</li>
  <li><strong>_top</strong>, el agente de usuario intentará abrir el enlace en la ventana padre. En el caso de que exista un <a href="http://w3api.com/HTML/frameset">frameset</a> lo eliminará y se hará con toda la ventana.</li>
  <li><strong>nombre_marco</strong>, se podrá indicar el nombre de un frame. En este caso el agente de usuario intentará abrir el enlace en el <a href="http://w3api.com/HTML/frame">frame</a> que coincida con el nombre. En el caso de no existir un <a href="http://w3api.com/HTML/frame">frame</a> con ese nombre lo abrirá en una nueva ventana, asignándole dicho nombre.</li>
</ul>

<p>Así podremos tener el siguiente código:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"enlace.html"</span> <span class="na">target=</span><span class="s">"_blank"</span><span class="nt">&gt;</span>Abrir enlace en una nueva ventana<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"enlace.html"</span> <span class="na">target=</span><span class="s">"_top"</span><span class="nt">&gt;</span>Abrir enlace en la ventana superior<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="título-de-los-enlaces">Título de los enlaces</h2>

<p>El enlace en HTML, tal y como lo hemos visto hasta ahora, sirve para enlazar contra un recurso de la web: servidor, directorio, dominio,… Y lo que en mayor o menor medida describe lo que enlazamos es el contenido que encontramos entre las <a href="http://www.w3api.com/HTML/a">etiquetas A</a>.</p>

<p>Si bien el <a href="http://www.w3api.com/HTML/a">elemento A</a> nos ofrece un <a href="http://www.w3api.com/HTML/title">atributo llamado title</a>. En el <a href="http://www.w3api.com/HTML/title">atributo title</a> podemos describir de una forma textual el destino del enlace. Esto servirá no solo al usuario para que pueda obtener más información de dónde va, si no a las máquinas a la hora de asignar un nombre a la URI sobre la que estamos enlazando.</p>

<p>Un ejemplo sería:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"http://www.manual.net"</span> <span class="na">title=</span><span class="s">"Web de Manuales y Tutoriales de Programación"</span><span class="nt">&gt;</span>Ir a Manual Web<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="enlaces-en-html-a-una-parte-del-documento">Enlaces en HTML a una parte del documento</h2>

<p>Hasta el momento lo que hemos visto es como montar enlaces en <a href="http://www.manualweb.net/html/">HTML</a> a documentos. Ya sea porque enlazamos directamente al documento o bien porque enlazamos a un servidor o directorio que nos dará un documento.</p>

<p>Pero otra capacidad que tenemos en <a href="http://www.manualweb.net/html/">HTML</a> es la de enlazar a una parte concreta del documento. Imagina que en un documento tenemos un título y varios capítulos. Y lo que queremos hacer desde otro documento <a href="http://www.manualweb.net/html/">HTML</a> o bien desde el mismo documento es enlazar directamente al inicio de un capítulo.</p>

<h3 id="marcando-una-parte-del-documento">Marcando una parte del documento</h3>

<p>Para poder enlazar a una parte concreta de un documento lo primero que tenemos que hacer es marcar esa parte del documento. Para ello contamos con el <a href="http://www.w3api.com/HTML/a">atributo name</a>. Si creamos un enlace con el <a href="http://www.w3api.com/HTML/a">atributo name</a>, este enlace se definirá como posición y no como enlace de navegación.</p>

<p>La sintaxis será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">name=</span><span class="s">"partedocumento"</span><span class="nt">&gt;</span>Contenido<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>En este caso el contenido puede ser vacío ya que no se ofrecerá nada para navegar. Es por ello que podemos ponerlo antes de nuestro capítulo.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;p&gt;</span>Parrafo<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;a</span> <span class="na">name=</span><span class="s">"cap2"</span><span class="nt">&gt;&lt;/a&gt;&lt;h2&gt;</span>Nuevo Capítulo<span class="nt">&lt;/</span><span class="err">2</span><span class="nt">&gt;</span>
</code></pre></div></div>

<p>Es muy importante el contenido que le demos al <a href="http://www.w3api.com/HTML/a">atributo name</a>, ya que dicho contenido vamos a utilizarlo para acceder desde un enlace.</p>

<h3 id="enlazando-a-una-parte-del-documento">Enlazando a una parte del documento</h3>

<p>Una vez que hemos creado el marcaje del enlace en <a href="http://www.manualweb.net/html/">HTML</a> en un documento es hora de acceder a esa parte del documento. Para ello solo tenemos que poner el nombre que le hayamos dado al <a href="http://www.w3api.com/HTML/a">atributo name</a> precedido de una almohadilla.</p>

<p>La sintaxis será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"#name"</span><span class="nt">&gt;</span>Enlace a parte del documento<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>Es decir, en el caso de que la parte marcada en el documento la hayamos marcado con “cap2” el enlace que tenemos que conformar será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"#cap2"</span><span class="nt">&gt;</span>Enlace al capítulo 2<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>La parte del documento al que accedemos no tiene porqué estar en el mismo documento del enlace, puede estar en otro documento o servidor. De esta forma podemos tener enlaces a partes de otros documentos de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"documento2.html#cap2"</span><span class="nt">&gt;</span>Enlace al capítulo 2 del documento2<span class="nt">&lt;/a&gt;</span>
<span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"http://servidor.com/#cap2"</span><span class="nt">&gt;</span>Enlace al capítulo 2 del servidor<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>El <strong>utilizar la almohadilla</strong> como valor del <a href="http://www.w3api.com/HTML/a/href">href</a> nos puede servir para acceder a la parte superior del documento. Es por ello que esto es utilizado como enlace en las partes inferiores de los documentos <a href="http://www.manualweb.net/html/">HTML</a> para subir a la parte de arriba.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"#"</span><span class="nt">&gt;</span>Ir Arriba<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="enlaces-en-html-con-imágenes">Enlaces en HTML con imágenes</h2>

<p>En lo que va de capítulo sólo hemos visto enlaces en <a href="http://www.manualweb.net/html/">HTML</a> cuyo contenido era texto. Si bien como contenido de los enlaces podemos poner imágenes.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"http://www.victorcuervo.com"</span><span class="nt">&gt;&lt;img</span> <span class="na">src=</span><span class="s">"victor.jpg"</span> <span class="na">alt=</span><span class="s">"Foto de Victor"</span><span class="nt">/&gt;&lt;/a&gt;</span>
</code></pre></div></div>

<p>De esta forma toda la imagen será un elemento enlazable que nos llevará, en el caso de pinchar sobre ella, al destino indicado en el <a href="http://www.w3api.com/HTML/a/href">atributo href</a>.</p>

<p>Esta técnica se suele utilizar para presentar una imágen de baja resolución y tamaño, que al pulsarla nos cargue una imagen con mayor resolución y tamaño. Un código que podría ser de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"foto.png"</span><span class="nt">&gt;&lt;img</span> <span class="na">src=</span><span class="s">"thumbnail_foto.png"</span> <span class="na">alt=</span><span class="s">"Mi foto"</span><span class="nt">/&gt;&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="enlaces-en-html-para-descargar-fichero">Enlaces en HTML para descargar fichero</h2>

<p>Otro de los usos que se les da a los enlaces en <a href="http://www.manualweb.net/html/">HTML</a> es el de habilitar la descarga de ficheros. En este caso el destino indicado por el <a href="http://www.w3api.com/HTML/a/href">atributo href</a> debe de ser el fichero que queremos descargar. En estos casos es bueno que el fichero a descargar este comprimido.</p>

<p>El código quedaría de la siguiente forma:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"fichero.zip"</span><span class="nt">&gt;</span>Descargar el fichero<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>Es importante que sepas que el navegador siempre va a intentar abrir el fichero enlazado en el <a href="http://www.w3api.com/HTML/a/href">atributo href</a> para poder mostrarlo visualmente. En el caso de que no encuentre ningún programa para abrirlo nos mostrará un menú emergente en el que nos dará la posibilidad de guardar el fichero.</p>

<h2 id="protocolos-en-la-url-del-enlace">Protocolos en la URL del enlace</h2>

<p>Hasta ahora hemos visto que todos los enlaces en <a href="http://www.manualweb.net/html/">HTML</a> se apoyan en el protocolo http, pero el enlace especificado en el <a href="http://www.w3api.com/HTML/a/href">atributo href</a> no tiene porqué ser http, si no que podría ser otro protocolo como ftp, mailto,…</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"ftp://servidorftp.com"</span><span class="nt">&gt;</span>Servidor FTP<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>Lo bueno de utilizar el protocolo mailto dentro de los enlaces en <a href="http://www.manualweb.net/html/">HTML</a> es que el navegador web nos va a abrir directamente el programa de correo electrónico que tengamos predeterminado en el ordenador.</p>

<p>La estructura del protocolo mailto en un enlace a sería la siguiente:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"mailto:usuario@dominio.com"</span><span class="nt">&gt;</span>Email para usuario@dominio.com<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<p>Lo bueno es que además podemos ponerle parámetros al modelo de mailto y se autorellenarán campos como el tema del email, campos CC, BCC,…</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;a</span> <span class="na">href=</span><span class="s">"mailto:usuario@dominio.com?subject='Tema del Mensaje'"</span><span class="nt">&gt;</span>Email para usuario@dominio.com<span class="nt">&lt;/a&gt;</span>
</code></pre></div></div>

<h2 id="relaciones-entre-documentos-el-elemento-link">Relaciones entre documentos: el elemento link</h2>

<p>Hasta ahora hemos visto enlaces explícitos entre diferentes recursos. Si bien el lenguaje <a href="http://www.manualweb.net/html/">HTML</a> nos da la posibilidad de establecer relaciones entre documentos sin tener que explicitar directamente un enlace. Para ello <a href="http://www.manualweb.net/html/">HTML</a> nos ofrece el <a href="http://www.w3api.com/HTML/link">elemento link</a>.</p>

<p>La estructura del <a href="http://www.w3api.com/HTML/link">elemento link</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;link</span> <span class="na">href=</span><span class="s">"destino"</span> <span class="na">rel=</span><span class="s">"relacion"</span> <span class="na">rev=</span><span class="s">"relacion-inversa"</span><span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Es importante saber que el elemento link solo aparece dentro de la <a href="http://www.w3api.com/HTML/head">cabecera o head</a> del documento.</p>

<p>El <a href="http://www.w3api.com/HTML/link/rel">atributo rel</a> establece la relación que hay con el documento destino, mientras que el atributo rev define la relación del documento destino con el documento actual. Es decir, la relación inversa.</p>

<p>Por otro lado el <a href="http://www.w3api.com/HTML/a/href">atributo href</a> es el que contiene la URI del documento destino.</p>

<p>Uno de los usos del <a href="http://www.w3api.com/HTML/link">elemento link</a> es para establecer las relaciones de documentos que formen una publicación completa. De esta forma manejando los valores del atributo rel podemos establecer dónde está el índice, cuál es artículo anterior y cual es el próximo artículo.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"index"</span> <span class="na">href=</span><span class="s">"indice.html"</span><span class="nt">&gt;</span>
<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"prev"</span> <span class="na">href=</span><span class="s">"c2.html"</span><span class="nt">&gt;</span>
<span class="nt">&lt;link</span> <span class="na">rel=</span><span class="s">"next"</span> <span class="na">href=</span><span class="s">"c4.html"</span><span class="nt">&gt;</span>
</code></pre></div></div>

<p>Aunque los enlaces de tipo <a href="http://www.w3api.com/HTML/link">link</a> no son renderizados por el navegador pueden ser interpretados para añadir la información al navegador.</p>

<h2 id="tipos-de-relaciones-entre-documentos">Tipos de relaciones entre documentos</h2>

<p>Según el lenguaje <a href="http://www.manualweb.net/html/">HTML</a> se definen los siguientes tipos de relaciones entre documentos. Estos valore pueden ser utilizados por los atributos <a href="http://www.w3api.com/HTML/link/rel">rel</a> y rev.</p>

<ul>
  <li><strong>alternate,</strong> indica una versión alternativa del documento.</li>
  <li><strong>stylesheet,</strong> hace referencia a una hoja de estilo externa para el documento.</li>
  <li><strong>start</strong>, primer documento de un conjunto de documento.</li>
  <li><strong>next</strong>, siguiente documento al actual.</li>
  <li><strong>prev</strong>, documento anterior al actual.</li>
  <li><strong>contents</strong>, documento que contiene la tabla de contenidos.</li>
  <li><strong>index</strong>, documento que contiene el índice.</li>
  <li><strong>glossary</strong>, documento que contiene el glosario.</li>
  <li><strong>copyright</strong>, información del copyright del documento actual.</li>
  <li><strong>chapter,</strong> documento que actúa como capítulo en una colección de documentos.</li>
  <li><strong>section,</strong> documento que actúa como sección en un conjunto de documentos.</li>
  <li><strong>subsection,</strong> documento que actúa como subsección en un conjunto de documentos.</li>
  <li><strong>appendix</strong>, documento que actúa como apéndice de una colección de documentos.</li>
  <li><strong>help,</strong> documento de ayuda.</li>
  <li><strong>bookmark,</strong> para marcar un punto concreto del documento.</li>
</ul>

<h2 id="enlaces-en-htlm-para-hojas-de-estilo">Enlaces en HTLM para hojas de estilo</h2>

<p>En <a href="http://www.w3api.com/HTML/link">elemento link</a> nos servirá para cargar las hojas de estilo del documento <a href="http://www.manualweb.net/html/">HTML</a>. Ya veremos más adelante qué son, pero digamos que nos sirven para darle estilo gráfico a la página.</p>

<p>Las hojas de estilos se almacenan en ficheros .css. Así que podemos utilizar el <a href="http://www.w3api.com/HTML/link">elemento link</a> para enlazarlas indicando que <strong>su tipo es “text/css”</strong>, mediante el <a href="http://www.w3api.com/HTML/link/type">atributo type</a>.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;link</span> <span class="na">href=</span><span class="s">"style.css"</span> <span class="na">rel=</span><span class="s">"style"</span> <span class="na">type=</span><span class="s">"text/css"</span><span class="nt">/&gt;</span>
</code></pre></div></div>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[¿Qué son los enlaces en HTML?]]></summary></entry><entry><title type="html">Colores HTML</title><link href="https://www.manualweb.net/html/colores-html/" rel="alternate" type="text/html" title="Colores HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/colores-html</id><content type="html" xml:base="https://www.manualweb.net/html/colores-html/"><![CDATA[<style>
. table td, table th { padding: 0}table{width:100%}td { text-align: center;width:25%;}.c42 { background-color: #191970;}.c36 { background-color: #00ff00;}.c29 { background-color: #b0c4de;}.c10 { background-color: #f0f8ff;}.c7 { background-color: #00ffff;}.c121 { background-color: #5f9ea0;}.c90 { background-color: #fffaf0;}.c53 { background-color: #f0e68c;}.c111 { background-color: #ffff00;}.c14 { background-color: #808080;}.c35 { background-color: #008b8b;}.c11 { background-color: #afeeee;}.c80 { background-color: #ffc0cb;}.c133 { background-color: #dda0dd;}.c135 { background-color: #fa8072;}.c61 { background-color: #d87093;}.c33 { background-color: #4169e1;}.c17 { background-color: #d8bfd8;}.c6 { background-color: #b0e0e6;}.c16 { background-color: #e9967a;}.c72 { background-color: #7fff00;}.c94 { background-color: #ff0000;}.c71 { background-color: #ffe4b5;}.c105 { background-color: #ffa07a;}.c117 { background-color: #eee8aa;}.c75 { background-color: #add8e6;}.c124 { background-color: #7cfc00;}.c122 { background-color: #a0522d;}.c30 { background-color: #a52a2a;}.c46 { background-color: #3cb371;}.c3 { background-color: #dc143c;}.c26 { background-color: #688e23;}.c47 { background-color: #dcdcdc;}.c20 { background-color: #66cdaa;}.c81 { background-color: #90ee90;}.c130 { background-color: #ff69b4;}.c127 { background-color: #7b68ee;}.c65 { background-color: #d2b48c;}.c126 { background-color: #6495ed;}.c73 { background-color: #ffe4c4;}.c40 { background-color: #ff6347;}.c52 { background-color: #daa520;}.c110 { background-color: #faf0e6;}.c34 { background-color: #ffa500;}.c146 { background-color: #fafad2;}.c91 { background-color: #ffefd5;}.c13 { background-color: #fff5ee;}.c92 { background-color: #cd5c5c;}.c79 { background-color: #00ffff;}.c116 { background-color: #f4a460;}.c132 { background-color: #ff1493;}.c64 { background-color: #7fffd4;}.c97 { background-color: #1e90ff;}.c147 { background-color: #bc8f8f;}.c77 { background-color: #40e0d0;}.c55 { background-color: #faebd7;}.c21 { background-color: #008080;}.c56 { background-color: #ff00ff;}.c145 { background-color: #da70d6;}.c93 { background-color: #ffebcd;}.c37 { background-color: #ff7f50;}.c115 { background-color: #006400;}.c109 { background-color: #b22222;}.c50 { background-color: #00008b;}.c137 { background-color: #32cd32;}.c76 { background-color: #0000cd;}.c12 { background-color: #ff4500;}.c140 { background-color: #778899;}.c148 { background-color: #0000ff;}.c48 { background-color: #ff8c00;}.c58 { background-color: #8b0000;}.c103 { background-color: #fff8dc;}.c78 { background-color: #00bfff;}.c87 { background-color: #f8f8ff;}.c152 { background-color: #f0fff0;}.c57 { background-color: #ff00ff;}.c123 { background-color: #f5f5f5;}.c19 { background-color: #9acd32;}.c28 { background-color: #ffb6c1;}.c39 { background-color: #87cefa;}.c86 { background-color: #c71585;}.c107 { background-color: #f5f5dc;}.c63 { background-color: #e0ffff;}.c95 { background-color: #00ff7f;}.c98 { background-color: #ffdead;}.c45 { background-color: #98fb98;}.c59 { background-color: #f5fffa;}.c108 { background-color: #fffacd;}.c9 { background-color: #483d8b;}.c67 { background-color: #9400d3;}.c38 { background-color: #708090;}.c25 { background-color: #8fbc8f;}.c82 { background-color: #008000;}.c27 { background-color: #4682b4;}.c129 { background-color: #bdb76b;}.c144 { background-color: #9932cc;}.c31 { background-color: #c0c0c0;}.c18 { background-color: #ffffe0;}.c23 { background-color: #000080;}.c62 { background-color: #ee82ee;}.c141 { background-color: #808000;}.c51 { background-color: #fffafa;}.c70 { background-color: #ba55d3;}.c85 { background-color: #fffff0;}.c22 { color: #ffffff;}.c5 { color: #000000;}.c2 { color: #000000;}.c8 { color: #ffffff;}.c32 { background-color: #ffffff;}.c119 { background-color: #20b2aa}.c136 { background-color: #00fa9a}.c151 { background-color: #000000}.c118 { background-color: #f5deb3}.c112 { background-color: #2e8b57}.c44 { background-color: #696969}.c114 { background-color: #87ceeb}.c43 { background-color: #8b4513}.c125 { background-color: #48d1cc}.c106 { background-color: #ffd700}.c49 { background-color: #9370d8}.c138 { background-color: #ffdab9}.c69 { background-color: #adff2f}.c83 { background-color: #6a5acd}.c15 { background-color: #0ae0a0}.c120 { background-color: #4b0082}.c66 { background-color: #b000e0}.c89 { background-color: #fdf5e6}.c104 { background-color: #00ced1}.c84 { background-color: #f0ffff}.c74 { background-color: #d3d3d3}.c128 { background-color: #deb887}.c113 { background-color: #800080}.c54 { background-color: #800000}.c131 { background-color: #f08080}.c96 { background-color: #cd853f}.c139 { background-color: #a9a9a9}.c143 { background-color: #d2691e}.c101 { background-color: #556b2f}.c134 { background-color: #2f4f4f}.c149 { background-color: #fff0f5}.c88 { background-color: #ffe4e1}.c99 { background-color: #228b22}.c24 { color: #ffffff}.c153 { background-color: #b8860b}.c142 { background-color: #8b008b}</style>

<h2 id="colores-rgb">Colores RGB</h2>

<p>Los colores en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> se especifican mediante el estándar RGB (Red Green and Blue). Este estándar indica que una combinación de los tres colores básicos: rojo, verde y azul puede dar lugar a cualquier otro color.</p>

<p>Los valores que se les da al RGB son valores hexadecimales que van desde el 00 hasta el FF. Al valor del color se le antepone una almohadilla.</p>

<p>De esta forma un color rojo sería aquel que solo tiene activado el Red, el verde solo la parte del Green y el azul la parte del Blue. Así los colores básicos en <a href="http://www.manualweb.net/tutorial-html/">HTML</a> serán:</p>

<pre>
Rojo    #FF0000
Verde   #00FF00
Azul    #0000FF
</pre>

<p>Otras combinaciones generales de colores serían el negro (activando todos los colores), el blanco (desactivando todos los colores), amarillo (combinando Red y Blue), fucsia (combinando todo el rojo y todo el azul)</p>

<pre>
Negro     #FFFFFF
Blanco    #000000
Amarillo  #FFFF00
Fucsia    #FF00FF
</pre>

<p>Y luego ya combinaciones de los múltiples valores hexadecimales</p>

<pre>
Gris Plata    #C0C0C0
Azul Marino   #000080
Verde Oliva   #808000
…
</pre>

<p>Aunque lo más recomendable es utilizar el código hexadecimal para representar un valor, tenemos la alternativa de referirnos a los colores por su nombre en inglés. Este valor también será entendido por el navegador web. Así tendremos:</p>

<ul>
  <li>Rojo - red</li>
  <li>Verde - green</li>
  <li>Azul - blue</li>
  <li>Blanco - white</li>
  <li>Negro - black</li>
  <li>Naranja - orange</li>
  <li>…</li>
</ul>

<h2 id="utilizar-los-colores-en-html">Utilizar los colores en HTML</h2>

<p>Los colores al ser elementos de estilo son utilizados en las <a href="http://www.manualweb.net/tutorial-css/">CSS</a>. Ya que <a href="http://www.manualweb.net/tutorial-html/">HTML</a> solo define la estructura de la página.</p>

<p>Pero vamos a ver, por encima, cómo podríamos cambiar el color de un texto. Para ello vamos a utilizar el <a href="http://www.w3api.com/HTML/style">atributo style</a>. El atributo style nos permite asignar un estilo <a href="http://www.manualweb.net/tutorial-css/">CSS</a> a un elemento <a href="http://www.manualweb.net/tutorial-html/">HTML</a>.</p>

<p>El estilo que vamos a manipular es color. A ese atributo color le asignaremos un valor RGB.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;elemento</span> <span class="na">style=</span><span class="s">"color:#RGB"</span> <span class="nt">/&gt;</span>
</code></pre></div></div>

<p>Por ejemplo si queremos cambiar el color a un header podríamos hacer lo siguiente.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;h1</span> <span class="na">style=</span><span class="s">"color:#FF0000"</span><span class="nt">&gt;</span>Cabecera 1<span class="nt">&lt;/h1&gt;</span>
</code></pre></div></div>

<p>Otro atributo <a href="http://www.manualweb.net/tutorial-css/">CSS</a> al que podríamos dar un colo es el color de fondo. Para ello deberemos de manipular <a href="http://www.w3api.com/CSS/background-color">el atributo background-color</a>. De esta forma si queremos poner un color de fondo a una capa podríamos hacer lo siguiente.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">style=</span><span class="s">"background-color:#FFFF00"</span><span class="nt">&gt;</span>Mi Capa<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<p>Es interesante que le eches un ojo al <a href="http://www.manualweb.net/tutorial-css/">Manual de CSS</a> para aprender más sobre el uso de colores en páginas web.</p>

<h2 id="guía-de-colores-hexadecimales">Guía de Colores Hexadecimales</h2>

<p>A modo de apoyo aquí tenemos una guía de colores generales, sus valores hexadecimales y nombre en inglés</p>

<table style="width:100%">
  <tbody>
    <tr>
      <td class="c10" colspan="1" rowspan="1">
        <p>
          Aliceblue
        </p>

        <p>
          F0F8FF
        </p>
      </td>

      <td class="c55" colspan="1" rowspan="1">
        <p>
          Antiquewhite
        </p>

        <p>
          FAEBD7
        </p>
      </td>

      <td class="c79" colspan="1" rowspan="1">
        <p>
          Aqua
        </p>

        <p>
          00FFFF
        </p>
      </td>

      <td class="c64" colspan="1" rowspan="1">
        <p>
          Aquamarine
        </p>

        <p>
          7FFFD4
        </p>
      </td>
    </tr>

    <tr>
      <td class="c84" colspan="1" rowspan="1">
        <p>
          Azure
        </p>

        <p>
          F0FFFF
        </p>
      </td>

      <td class="c107" colspan="1" rowspan="1">
        <p>
          Beige
        </p>

        <p>
          F5F5DC
        </p>
      </td>

      <td class="c73" colspan="1" rowspan="1">
        <p>
          Bisque
        </p>

        <p>
          FFE4C4
        </p>
      </td>

      <td class="c151" colspan="1" rowspan="1">
        <p>
          Black
        </p>

        <p>
          000000
        </p>
      </td>
    </tr>

    <tr>
      <td class="c93" colspan="1" rowspan="1">
        <p>
          Blanchedalmond
        </p>

        <p>
          FFEBCD
        </p>
      </td>

      <td class="c148" colspan="1" rowspan="1">
        <p>
          Blue
        </p>

        <p>
          0000FF
        </p>
      </td>

      <td class="c66" colspan="1" rowspan="1">
        <p>
          Blueviolet
        </p>

        <p>
          8A2BE2
        </p>
      </td>

      <td class="c30" colspan="1" rowspan="1">
        <p>
          Brown
        </p>

        <p>
          A52A2A
        </p>
      </td>
    </tr>

    <tr>
      <td class="c128" colspan="1" rowspan="1">
        <p>
          Burlywood
        </p>

        <p>
          DEB887
        </p>
      </td>

      <td class="c121" colspan="1" rowspan="1">
        <p>
          Cadetblue
        </p>

        <p>
          5F9EA0
        </p>
      </td>

      <td class="c72" colspan="1" rowspan="1">
        <p>
          Chartreuse
        </p>

        <p>
          7FFF00
        </p>
      </td>

      <td class="c143" colspan="1" rowspan="1">
        <p>
          Chocolate
        </p>

        <p>
          D2691E
        </p>
      </td>
    </tr>

    <tr>
      <td class="c37" colspan="1" rowspan="1">
        <p>
          Coral
        </p>

        <p>
          FF7F50
        </p>
      </td>

      <td class="c126" colspan="1" rowspan="1">
        <p>
          Cornflowerblue
        </p>

        <p>
          6495ED
        </p>
      </td>

      <td class="c103" colspan="1" rowspan="1">
        <p>
          Cornsilk
        </p>

        <p>
          FFF8DC
        </p>
      </td>

      <td class="c3" colspan="1" rowspan="1">
        <p>
          Crimson
        </p>

        <p>
          DC143C
        </p>
      </td>
    </tr>

    <tr>
      <td class="c7" colspan="1" rowspan="1">
        <p>
          Cyan
        </p>

        <p>
          00FFFF
        </p>
      </td>

      <td class="c50" colspan="1" rowspan="1">
        <p>
          Darkblue
        </p>

        <p>
          00008B
        </p>
      </td>

      <td class="c35" colspan="1" rowspan="1">
        <p>
          Darkcyan
        </p>

        <p>
          008B8B
        </p>
      </td>

      <td class="c153" colspan="1" rowspan="1">
        <p>
          Darkgoldenrod
        </p>

        <p>
          B8860B
        </p>
      </td>
    </tr>

    <tr>
      <td class="c139" colspan="1" rowspan="1">
        <p>
          Darkgray
        </p>

        <p>
          A9A9A9
        </p>
      </td>

      <td class="c115" colspan="1" rowspan="1">
        <p>
          Darkgreen
        </p>

        <p>
          006400
        </p>
      </td>

      <td class="c129" colspan="1" rowspan="1">
        <p>
          Darkkhaki
        </p>

        <p>
          BDB76B
        </p>
      </td>

      <td class="c142" colspan="1" rowspan="1">
        <p>
          Darkmagenta
        </p>

        <p>
          8B008B
        </p>
      </td>
    </tr>

    <tr>
      <td class="c101" colspan="1" rowspan="1">
        <p>
          Darkolivegreen 556B2F
        </p>
      </td>

      <td class="c48" colspan="1" rowspan="1">
        <p>
          Darkorange
        </p>

        <p>
          FF8C00
        </p>
      </td>

      <td class="c144" colspan="1" rowspan="1">
        <p>
          Darkorchid
        </p>

        <p>
          9932CC
        </p>
      </td>

      <td class="c58" colspan="1" rowspan="1">
        <p>
          Darkred
        </p>

        <p>
          8B0000
        </p>
      </td>
    </tr>

    <tr>
      <td class="c16" colspan="1" rowspan="1">
        <p>
          Darksalmon
        </p>

        <p>
          E9967A
        </p>
      </td>

      <td class="c25" colspan="1" rowspan="1">
        <p>
          Darkseagreen
        </p>

        <p>
          8FBC8F
        </p>
      </td>

      <td class="c9" colspan="1" rowspan="1">
        <p>
          Darkslateblue
        </p>

        <p>
          483D8B
        </p>
      </td>

      <td class="c134" colspan="1" rowspan="1">
        <p>
          Darkslategray
        </p>

        <p>
          2F4F4F
        </p>
      </td>
    </tr>

    <tr>
      <td class="c104" colspan="1" rowspan="1">
        <p>
          Darkturquoise 00CED1
        </p>
      </td>

      <td class="c67" colspan="1" rowspan="1">
        <p>
          Darkviolet
        </p>

        <p>
          9400D3
        </p>
      </td>

      <td class="c132" colspan="1" rowspan="1">
        <p>
          deeppink
        </p>

        <p>
          FF1493
        </p>
      </td>

      <td class="c78" colspan="1" rowspan="1">
        <p>
          Deepskyblue
        </p>

        <p>
          00BFFF
        </p>
      </td>
    </tr>

    <tr>
      <td class="c44" colspan="1" rowspan="1">
        <p>
          Dimgray
        </p>

        <p>
          696969
        </p>
      </td>

      <td class="c97" colspan="1" rowspan="1">
        <p>
          Dodgerblue
        </p>

        <p>
          1E90FF
        </p>
      </td>

      <td class="c109" colspan="1" rowspan="1">
        <p>
          Firebrick
        </p>

        <p>
          B22222
        </p>
      </td>

      <td class="c90" colspan="1" rowspan="1">
        <p>
          Floralwhite
        </p>

        <p>
          FFFAF0
        </p>
      </td>
    </tr>

    <tr>
      <td class="c99" colspan="1" rowspan="1">
        <p>
          Forestgreen
        </p>

        <p>
          228B22
        </p>
      </td>

      <td class="c56" colspan="1" rowspan="1">
        <p>
          Fuchsia
        </p>

        <p>
          FF00FF
        </p>
      </td>

      <td class="c47" colspan="1" rowspan="1">
        <p>
          Gainsboro
        </p>

        <p>
          DCDCDC
        </p>
      </td>

      <td class="c87" colspan="1" rowspan="1">
        <p>
          Ghostwhite
        </p>

        <p>
          F8F8FF
        </p>
      </td>
    </tr>

    <tr>
      <td class="c106" colspan="1" rowspan="1">
        <p>
          Gold
        </p>

        <p>
          FFD700
        </p>
      </td>

      <td class="c52" colspan="1" rowspan="1">
        <p>
          Goldenrod
        </p>

        <p>
          DAA520
        </p>
      </td>

      <td class="c14" colspan="1" rowspan="1">
        <p>
          Gray
        </p>

        <p>
          808080
        </p>
      </td>

      <td class="c82" colspan="1" rowspan="1">
        <p>
          Green
        </p>

        <p>
          008000
        </p>
      </td>
    </tr>

    <tr>
      <td class="c69" colspan="1" rowspan="1">
        <p>
          Greenyellow
        </p>

        <p>
          ADFF2F
        </p>
      </td>

      <td class="c152" colspan="1" rowspan="1">
        <p>
          Honeydew
        </p>

        <p>
          F0FFF0
        </p>
      </td>

      <td class="c130" colspan="1" rowspan="1">
        <p>
          Hotpink
        </p>

        <p>
          FF69B4
        </p>
      </td>

      <td class="c92" colspan="1" rowspan="1">
        <p>
          Indianred
        </p>

        <p>
          CD5C5C
        </p>
      </td>
    </tr>

    <tr>
      <td class="c120" colspan="1" rowspan="1">
        <p>
          Indigo
        </p>

        <p>
          4B0082
        </p>
      </td>

      <td class="c85" colspan="1" rowspan="1">
        <p>
          Ivory
        </p>

        <p>
          FFFFF0
        </p>
      </td>

      <td class="c53" colspan="1" rowspan="1">
        <p>
          Khaki
        </p>

        <p>
          F0E68C
        </p>
      </td>

      <td class="c15" colspan="1" rowspan="1">
        <p>
          Lavendar
        </p>

        <p>
          E6E6FA
        </p>
      </td>
    </tr>

    <tr>
      <td class="c149" colspan="1" rowspan="1">
        <p>
          Lavenderblush FFF0F5
        </p>
      </td>

      <td class="c124" colspan="1" rowspan="1">
        <p>
          Lawngreen
        </p>

        <p>
          7CFC00
        </p>
      </td>

      <td class="c108" colspan="1" rowspan="1">
        <p>
          Lemonchiffon
        </p>

        <p>
          FFFACD
        </p>
      </td>

      <td class="c75" colspan="1" rowspan="1">
        <p>
          Lightblue
        </p>

        <p>
          ADD8E6
        </p>
      </td>
    </tr>

    <tr>
      <td class="c131" colspan="1" rowspan="1">
        <p>
          Lightcoral
        </p>

        <p>
          F08080
        </p>
      </td>

      <td class="c63" colspan="1" rowspan="1">
        <p>
          Lightcyan
        </p>

        <p>
          E0FFFF
        </p>
      </td>

      <td class="c146" colspan="1" rowspan="1">
        <p>
          Lightgoldenrodyellow
        </p>

        <p>
          FAFAD2
        </p>
      </td>

      <td class="c81" colspan="1" rowspan="1">
        <p>
          Lightgreen
        </p>

        <p>
          90EE90
        </p>
      </td>
    </tr>

    <tr>
      <td class="c74" colspan="1" rowspan="1">
        <p>
          Lightgrey
        </p>

        <p>
          D3D3D3
        </p>
      </td>

      <td class="c28" colspan="1" rowspan="1">
        <p>
          Lightpink
        </p>

        <p>
          FFB6C1
        </p>
      </td>

      <td class="c105" colspan="1" rowspan="1">
        <p>
          Lightsalmon
        </p>

        <p>
          FFA07A
        </p>
      </td>

      <td class="c119" colspan="1" rowspan="1">
        <p>
          Lightseagreen
        </p>

        <p>
          20B2AA
        </p>
      </td>
    </tr>

    <tr>
      <td class="c39" colspan="1" rowspan="1">
        <p>
          Lightskyblue
        </p>

        <p>
          87CEFA
        </p>
      </td>

      <td class="c140" colspan="1" rowspan="1">
        <p>
          Lightslategray
        </p>

        <p>
          778899
        </p>
      </td>

      <td class="c29" colspan="1" rowspan="1">
        <p>
          Lightsteelblue
        </p>

        <p>
          B0C4DE
        </p>
      </td>

      <td class="c18" colspan="1" rowspan="1">
        <p>
          Lightyellow
        </p>

        <p>
          FFFFE0
        </p>
      </td>
    </tr>

    <tr>
      <td class="c36" colspan="1" rowspan="1">
        <p>
          Lime
        </p>

        <p>
          00FF00
        </p>
      </td>

      <td class="c137" colspan="1" rowspan="1">
        <p>
          Limegreen
        </p>

        <p>
          32CD32
        </p>
      </td>

      <td class="c110" colspan="1" rowspan="1">
        <p>
          Linen
        </p>

        <p>
          FAF0E6
        </p>
      </td>

      <td class="c57" colspan="1" rowspan="1">
        <p>
          Magenta
        </p>

        <p>
          FF00FF
        </p>
      </td>
    </tr>

    <tr>
      <td class="c54" colspan="1" rowspan="1">
        <p>
          Maroon
        </p>

        <p>
          800000
        </p>
      </td>

      <td class="c20" colspan="1" rowspan="1">
        <p>
          Mediumauqamarine
        </p>

        <p>
          66CDAA
        </p>
      </td>

      <td class="c76" colspan="1" rowspan="1">
        <p>
          Mediumblue
        </p>

        <p>
          0000CD
        </p>
      </td>

      <td class="c70" colspan="1" rowspan="1">
        <p>
          Mediumorchid
        </p>

        <p>
          BA55D3
        </p>
      </td>
    </tr>

    <tr>
      <td class="c49" colspan="1" rowspan="1">
        <p>
          Mediumpurple 9370D8
        </p>
      </td>

      <td class="c46" colspan="1" rowspan="1">
        <p>
          Mediumseagreen
        </p>

        <p>
          3CB371
        </p>
      </td>

      <td class="c127" colspan="1" rowspan="1">
        <p>
          Mediumslateblue
        </p>

        <p>
          7B68EE
        </p>
      </td>

      <td class="c136" colspan="1" rowspan="1">
        <p>
          Mediumspringgreen 00FA9A
        </p>
      </td>
    </tr>

    <tr>
      <td class="c125" colspan="1" rowspan="1">
        <p>
          Mediumturquoise
        </p>

        <p>
          48D1CC
        </p>
      </td>

      <td class="c86" colspan="1" rowspan="1">
        <p>
          Mediumvioletred
        </p>

        <p>
          C71585
        </p>
      </td>

      <td class="c42" colspan="1" rowspan="1">
        <p>
          Midnightblue
        </p>

        <p>
          191970
        </p>
      </td>

      <td class="c59" colspan="1" rowspan="1">
        <p>
          Mintcream
        </p>

        <p>
          F5FFFA
        </p>
      </td>
    </tr>

    <tr>
      <td class="c88" colspan="1" rowspan="1">
        <p>
          Mistyrose
        </p>

        <p>
          FFE4E1
        </p>
      </td>

      <td class="c71" colspan="1" rowspan="1">
        <p>
          Moccasin
        </p>

        <p>
          FFE4B5
        </p>
      </td>

      <td class="c98" colspan="1" rowspan="1">
        <p>
          Navajowhite
        </p>

        <p>
          FFDEAD
        </p>
      </td>

      <td class="c23" colspan="1" rowspan="1">
        <p>
          Navy
        </p>

        <p>
          000080
        </p>
      </td>
    </tr>

    <tr>
      <td class="c89" colspan="1" rowspan="1">
        <p>
          Oldlace
        </p>

        <p>
          FDF5E6
        </p>
      </td>

      <td class="c141" colspan="1" rowspan="1">
        <p>
          Olive
        </p>

        <p>
          808000
        </p>
      </td>

      <td class="c26" colspan="1" rowspan="1">
        <p>
          Olivedrab
        </p>

        <p>
          688E23
        </p>
      </td>

      <td class="c34" colspan="1" rowspan="1">
        <p>
          Orange
        </p>

        <p>
          FFA500
        </p>
      </td>
    </tr>

    <tr>
      <td class="c12" colspan="1" rowspan="1">
        <p>
          Orangered
        </p>

        <p>
          FF4500
        </p>
      </td>

      <td class="c145" colspan="1" rowspan="1">
        <p>
          Orchid
        </p>

        <p>
          DA70D6
        </p>
      </td>

      <td class="c117" colspan="1" rowspan="1">
        <p>
          Palegoldenrod
        </p>

        <p>
          EEE8AA
        </p>
      </td>

      <td class="c45" colspan="1" rowspan="1">
        <p>
          Palegreen
        </p>

        <p>
          98FB98
        </p>
      </td>
    </tr>

    <tr>
      <td class="c11" colspan="1" rowspan="1">
        <p>
          Paleturquoise
        </p>

        <p>
          AFEEEE
        </p>
      </td>

      <td class="c61" colspan="1" rowspan="1">
        <p>
          Palevioletred
        </p>

        <p>
          D87093
        </p>
      </td>

      <td class="c91" colspan="1" rowspan="1">
        <p>
          Papayawhip
        </p>

        <p>
          FFEFD5
        </p>
      </td>

      <td class="c138" colspan="1" rowspan="1">
        <p>
          Peachpuff
        </p>

        <p>
          FFDAB9
        </p>
      </td>
    </tr>

    <tr>
      <td class="c96" colspan="1" rowspan="1">
        <p>
          Peru
        </p>

        <p>
          CD853F
        </p>
      </td>

      <td class="c80" colspan="1" rowspan="1">
        <p>
          Pink
        </p>

        <p>
          FFC0CB
        </p>
      </td>

      <td class="c133" colspan="1" rowspan="1">
        <p>
          Plum
        </p>

        <p>
          DDA0DD
        </p>
      </td>

      <td class="c6" colspan="1" rowspan="1">
        <p>
          Powderblue
        </p>

        <p>
          B0E0E6
        </p>
      </td>
    </tr>

    <tr>
      <td class="c113" colspan="1" rowspan="1">
        <p>
          Purple
        </p>

        <p>
          800080
        </p>
      </td>

      <td class="c94" colspan="1" rowspan="1">
        <p>
          Red
        </p>

        <p>
          FF0000
        </p>
      </td>

      <td class="c147" colspan="1" rowspan="1">
        <p>
          Rosybrown
        </p>

        <p>
          BC8F8F
        </p>
      </td>

      <td class="c33" colspan="1" rowspan="1">
        <p>
          Royalblue
        </p>

        <p>
          4169E1
        </p>
      </td>
    </tr>

    <tr>
      <td class="c43" colspan="1" rowspan="1">
        <p>
          Saddlebrown
        </p>

        <p>
          8B4513
        </p>
      </td>

      <td class="c135" colspan="1" rowspan="1">
        <p>
          Salmon
        </p>

        <p>
          FA8072
        </p>
      </td>

      <td class="c116" colspan="1" rowspan="1">
        <p>
          Sandybrown
        </p>

        <p>
          F4A460
        </p>
      </td>

      <td class="c112" colspan="1" rowspan="1">
        <p>
          Seagreen
        </p>

        <p>
          2E8B57
        </p>
      </td>
    </tr>

    <tr>
      <td class="c13" colspan="1" rowspan="1">
        <p>
          Seashell
        </p>

        <p>
          FFF5EE
        </p>
      </td>

      <td class="c122" colspan="1" rowspan="1">
        <p>
          Sienna
        </p>

        <p>
          A0522D
        </p>
      </td>

      <td class="c31" colspan="1" rowspan="1">
        <p>
          Silver
        </p>

        <p>
          C0C0C0
        </p>
      </td>

      <td class="c114" colspan="1" rowspan="1">
        <p>
          Skyblue
        </p>

        <p>
          87CEEB
        </p>
      </td>
    </tr>

    <tr>
      <td class="c83" colspan="1" rowspan="1">
        <p>
          Slateblue
        </p>

        <p>
          6A5ACD
        </p>
      </td>

      <td class="c38" colspan="1" rowspan="1">
        <p>
          Slategray
        </p>

        <p>
          708090
        </p>
      </td>

      <td class="c51" colspan="1" rowspan="1">
        <p>
          Snow
        </p>

        <p>
          FFFAFA
        </p>
      </td>

      <td class="c95" colspan="1" rowspan="1">
        <p>
          Springgreen
        </p>

        <p>
          00FF7F
        </p>
      </td>
    </tr>

    <tr>
      <td class="c27" colspan="1" rowspan="1">
        <p>
          Steelblue
        </p>

        <p>
          4682B4
        </p>
      </td>

      <td class="c65" colspan="1" rowspan="1">
        <p>
          Tan
        </p>

        <p>
          D2B48C
        </p>
      </td>

      <td class="c21" colspan="1" rowspan="1">
        <p>
          Teal
        </p>

        <p>
          008080
        </p>
      </td>

      <td class="c17" colspan="1" rowspan="1">
        <p>
          Thistle
        </p>

        <p>
          D8BFD8
        </p>
      </td>
    </tr>

    <tr>
      <td class="c40" colspan="1" rowspan="1">
        <p>
          Tomato
        </p>

        <p>
          FF6347
        </p>
      </td>

      <td class="c77" colspan="1" rowspan="1">
        <p>
          Turquoise
        </p>

        <p>
          40E0D0
        </p>
      </td>

      <td class="c62" colspan="1" rowspan="1">
        <p>
          Violet
        </p>

        <p>
          EE82EE
        </p>
      </td>

      <td class="c118" colspan="1" rowspan="1">
        <p>
          Wheat
        </p>

        <p>
          F5DEB3
        </p>
      </td>
    </tr>

    <tr>
      <td colspan="1" rowspan="1">
        <p>
          White
        </p>

        <p>
          FFFFFF
        </p>
      </td>

      <td class="c123" colspan="1" rowspan="1">
        <p>
          Whitesmoke
        </p>

        <p>
          F5F5F5
        </p>
      </td>

      <td class="c111" colspan="1" rowspan="1">
        <p>
          Yellow
        </p>

        <p>
          FFFF00
        </p>
      </td>

      <td class="c19" colspan="1" rowspan="1">
        <p>
          YellowGreen
        </p>

        <p>
          9ACD32
        </p>
      </td>
    </tr>
  </tbody>
</table>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[]]></summary></entry><entry><title type="html">Agrupaciones HTML</title><link href="https://www.manualweb.net/html/agrupaciones-html/" rel="alternate" type="text/html" title="Agrupaciones HTML" /><published>2026-01-29T16:33:46+01:00</published><updated>2026-01-29T16:33:46+01:00</updated><id>https://www.manualweb.net/html/agrupaciones-html</id><content type="html" xml:base="https://www.manualweb.net/html/agrupaciones-html/"><![CDATA[<p>Hasta ahora hemos visto cómo insertar diferentes elementos sobre un documento <a href="http://www.manualweb.net/html/">HTML</a>. Estos elementos se irán mostrando según la secuencia en la que hayamos escrito el documento <a href="http://www.manualweb.net/html/">HTML</a>.</p>

<p>Una de las cosas que tenemos que saber de los elementos html es si son elementos de bloque o elementos de línea.</p>

<p>Un <strong>elemento de bloque</strong> es aquél que una vez utilizado aparece en la siguiente línea y ocupa todo el ancho. Elementos de tipo bloque son los <a href="http://www.w3api.com/HTML/p">párrafos p</a>, los <a href="http://www.w3api.com/HTML/form">formularios form</a>, o <a href="http://www.w3api.com/HTML:h1">las cabeceras hx</a>.</p>

<p>Un <strong>elemento en línea</strong> es aquel que se muestra justo a continuación del anterior elemento. Estos elementos serían los <a href="http://www.w3api.com/HTML/a">enlaces a</a>, <a href="http://www.w3api.com/HTML/img">imágenes img</a>,…</p>

<p>El lenguaje <a href="http://www.manualweb.net/html/">HTML</a> nos permite agrupar un conjunto de elementos mediante una agrupación en bloque o una agrupación en línea.</p>

<h2 id="agrupaciones-en-bloque">Agrupaciones en Bloque</h2>

<p>Un elemento en bloque siempre empieza con una línea y su tamaño será igual al ancho disponible. El ancho disponible inicialmente es el de la página.</p>

<p>El elemento que nos permite realizar agrupaciones en bloque es el <a href="http://www.w3api.com/HTML/div">elemento div</a> o más conocidos como capas. La estructura del <a href="http://www.w3api.com/HTML/div">elemento div</a> es:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div&gt;</span>
<span class="c">&lt;!-- Contenido de la Capa --&gt;</span>
<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<p>Los elementos en bloque pueden contener a otros elementos en bloque o bien a otros elementos en línea.</p>

<p>Por ejemplo podríamos agrupar en un bloque el siguiente contenido.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">id=</span><span class="s">"micapa"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;h2&gt;</span>Título del Contenido<span class="nt">&lt;/h2&gt;</span>
  Este es el contenido del artículo
  <span class="nt">&lt;img</span> <span class="na">src=</span><span class="s">"logo.jpg"</span> <span class="nt">/&gt;</span>
  <span class="nt">&lt;p&gt;</span>Más contenido del artículo<span class="nt">&lt;/p&gt;</span>
<span class="nt">&lt;/div&gt;</span>
</code></pre></div></div>

<h2 id="agrupaciones-en-línea">Agrupaciones en Línea</h2>

<p>Para poder realizar agrupaciones en línea tenemos el <a href="http://www.w3api.com/HTML/span">elemento span</a>. La estructura del <a href="http://www.w3api.com/HTML/span">elemento span</a> será:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;span&gt;</span> <span class="c">&lt;!-- Contenido --&gt;</span><span class="nt">&lt;/span&gt;</span>
</code></pre></div></div>

<p>Las agrupaciones en línea sólo pueden contener a otros elementos en línea, no a elementos de tipo bloque.</p>

<p>Por ejemplo podríamos tener la siguiente agrupación en línea.</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;span</span> <span class="na">id=</span><span class="s">"entrada"</span><span class="nt">&gt;</span>
  <span class="nt">&lt;strong&gt;</span>Articulo Nuevo<span class="nt">&lt;/strong&gt;</span>,
  <span class="nt">&lt;em&gt;</span>,12 de marzo de 2016<span class="nt">&lt;/em&gt;</span>
<span class="nt">&lt;/span&gt;</span>
</code></pre></div></div>

<p>Es muy normal que los agrupadores, ya sean o bien <a href="http://www.w3api.com/HTML/div">div</a>, o bien <a href="http://www.w3api.com/HTML/span">span</a> lleven el <a href="http://www.w3api.com/HTML/id">atributo id</a> o <a href="http://www.w3api.com/HTML/class">class</a>, ya que a posteriori serán manipulados mediante <a href="http://www.manualweb.net/css/">hojas de estilo CSS</a> utilizando dichos identificadores.</p>]]></content><author><name>manual_web</name></author><summary type="html"><![CDATA[Hasta ahora hemos visto cómo insertar diferentes elementos sobre un documento HTML. Estos elementos se irán mostrando según la secuencia en la que hayamos escrito el documento HTML.]]></summary></entry></feed>