<elemento> contenido </elemento><p>Esto es un párrafo</p>
Algunas etiquetas pueden contener información adicional llamadas atributos
<elemento
atributo="valor"
atributo="valor">
contenido </elemento><a href="page2.html">Next page</a>Algunas etiquetas no tienen contenido y se pueden abrir y cerrar en una etiqueta
<elemento atributo="valor" attribute="value" /><br />, <hr />, <br>, <hr> <img src="bunny.jpg" alt="fig de Pascua" />
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="description" content="Contenido">
<meta name="keywords" content="key1, key2">
<meta name="author" content="Adan Perez">
<link href="favicon.ico" type="image/x-icon" rel="shortcut icon">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Título de la página</title>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
contenido visible de la página
</body>
</html>
.htmlDOCTYPE le indica al navegador que interprete el código de la página como HTML5<!-- ... -->comentarios para documentar el fichero HTML o el texto
<!-- Mi página web, por Jaimito Pérez Ingeniería Web, ETSIIT --> <p>la asignatura <!-- NO --> es divertida!</p>
--Hay muchos tipos de etiquetas HTML. Una lista de las más usadas sigue. Se puede ver la lista completa en este enlace. A menos que se especifique lo contrario se considera que las etiquetas se usan dentro del <body>
| Etiqueta | Descripción |
|---|---|
<title> |
Page title (in <head>) |
<meta> |
Meta information tag (in <head>) |
<p> |
Paragraph tag |
<h1> ... <h6> |
Heading tags |
<header>, <footer> |
Header/Footer tags |
<article>, <section> |
Article and section tags |
<hr /> |
Horizontal rule tag |
<br /> |
Line break tag |
<a> |
Anchor tag (page links) |
| Tag | Description |
|---|---|
<img /> |
Image tag |
<em>, <strong> |
Emphasis (italic) and strong (bold) tags |
<del>, <ins> |
Deletion (strikethrough) and insertion tags |
<abbr> |
Abbreviation tag |
<ul>, <ol> |
Unordered and ordered list tags |
<li> |
List item tag (used as children of <ul> or <ol> list tags) |
<dl>, <dt>, <dd>
| Definition list tags |
<blockquote>,
<q> |
Block and inline quotation tags |
<code> |
Computer code tag |
<pre> |
Preformatting tag |
<title>describe el título de la página
<title>Tema 2: HTML Básico</title>
head de la página<meta>
información sobre la página (para el navegador, buscador, etc.)
<meta charset="utf-8" /> <meta name="description" content="Sitio Web de los autores de programas Java." /> <meta name="keywords" content="java, textbook" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
head de la página HTMLmeta habitualmente tiene los atributos name y content
meta usan el atributo http-equiv en lugar de namemeta con el atributo charset indica la codificación de lenguaje/caractermeta con atributo Content-Type detiene al validador de advertencia "tentatively valid" viewport que dará instrucciones al navegador de cómo dimensionar y escalar la página<h1>,
<h2>, ...,
<h6>
encabezados o títulos para separar las partes principales de la página (block)
<h1>Universidad de Cantabria</h1> <h2>Departamento de Matemática Aplicada y Ciencias de la Computación</h2> <h3>Escuela de Ingenieros Industriales y de Telecomunicación</h3>
<p>
párrafos del texto (block)
<p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit... </p>
body de la página<a>
enlaces, o "anclas (anchors)", a otras páginas (inline)
<p> Buscar <a href="http://www.google.com/">Google</a> o <a href="../index.html">Lecture Notes</a>. </p>
href para especificar la URL del enlace. Los posibles valores son:
p or h1<img>
inserta una imagen en la página (inline)
<img src="images/gollum.jpg" alt="Gollum de LOTR" />
src especifica la URL de la imagenalt para describir la imagen<a href="http://theonering.net/"> <img src="images/gandalf.jpg" alt="Gandalf del LOTR" title="No pasarán!" /> </a>
a, la imagen se convierte en un enlacetitle es una ayuda opcional (en cualquier elemento)<a href="http://theonering.net/"> <img src="images/gandalf.jpg" alt="Gandalf del LOTR" style="width:30%;" title="No pasarán!" /> </a>
width del CSS se le asigna un porcentaje, la imagen se escalará cuando cambie el tamaño de la ventana del navegador<figure>
inserta una descripción al pie de la imagen
<figure> <img src="images/gollum.jpg" alt="Gollum de LOTR" /> <figcaption>Personaje Gollum en LOTR </figcaption> </figure>
figcaption especifica la descripción de la imagenNo influyen en la apariencia de la página, sino en la estructura de la página
sectionheaderfooternavasidearticle<hr>
línea horizontal para separar visualmente secciones de una página (bloque)
<p>Primer párrafo</p> <hr> <p>Segundo párrafo</p>
><br>
fuerza un salto de línea en medio de un elemento block (inline)
<p>La calidad nunca es un accidente, <br> siempre es el resultado de un esfuerzo de la inteligencia</p> <p>Dos cosas me admiran: la inteligencia de las bestias <br> y la bestialidad de los hombres.</p>
br (>= 2 en una fila es malo)
br no se debe usar para separar párrafos, ni usar varias veces en una fila para crear espaciosbr no se debe usar para separar párrafos, ni usar varias veces en una fila para crear espacios<em>,
<strong>
em: texto enfatizado (representado normalmente en italica)
strong: texto muy enfatizado (representado normalmente en negrita)
<p> HTML es <em>realmente</em>, <strong>REALMENTE</strong> divertido! </p>
<del>, <ins>
contenido que debe ser eliminado o añadido al documento (inline)
<p> <del>Final Exam</del> <ins>Midterm</ins> is on <del>Aug 29</del> <ins>Apr 17</ins>. </p>
<abbr>
una abreviatura, acrónimo, o término corriente (inline)
<p> Los buzos cuidadosos siempre recuerdan comprobar sus equipos <abbr title="Self-Contained Underwater Breathing Apparatus">SCUBA</abbr> . </p>
<ul>,
<li>
ul representa una lista con viñetas (block)
li representa un elemento simple dentro de la lista (block)
<ul> <li>Sin zapatos</li> <li>Sin camiseta</li> <li>No hay problema!</li> </ul>
<ul> <li>Simpsons: <ul> <li>Homer</li> <li>Marge</li> </ul> </li> <li>Familia del individuo: <ul> <li>Peter</li> <li>Lois</li> </ul> </li> </ul>
<ol>
ol representa una lista ordenada de elementos (block)
<p>Grados ofertados en la Escuela:</p> <ol> <li>Ingeniería de Tecnologías de Telecomunicación</li> <li>Ingeniería en Tecnologías Industriales</li> <li>Ingeniería Eléctrica</li> <li>Ingeniería Electrónica Industrial y Automática</li> <li>Ingeniería Mecánica</li> <li>Ingeniería Química</li> </ol>
<dl>,
<dt>,
<dd>
dl representa una lista de definiciones de términos (block)
dt representa cada término y dd su definición
<dl> <dt>SGML</dt> <dd>Metalenguaje para la definición de otros lenguajes de marcado</dd> <dt>XML</dt> <dd>Lenguaje basado en SGML y que se emplea para describir datos</dd> <dt>XHTML</dt> <dd>Lenguajes derivados de XML para determinadas aplicaciones</dd> </dl>
<blockquote>
cita larga (block)
<p>Tim Berners Lee, creador de la WWW:</p> <blockquote> <p>El poder de la web está en su universalidad. El acceso para todos sin importar su discapacidad es un aspecto esencial.</p> </blockquote>
<q>cita corta (inline)
<p>Dijo Miguel de Cervantes: <q>Cada uno es artífice de su ventura</q></p>
<p>Dijo Miguel de Cervantes: "Cada uno es artífice de su ventura"</p>
No se usa comillas " por dos razones:
"<q> nos permite aplicar estilos CSS a las citas (ver más adelante)No se usa comillas " por dos razones:
"<q> nos permite aplicar estilos CSS a las citas (ver más adelante)<code>
parte de código de ordenador (mostrado habitualmente en un tipo de letra de ancho fijo)
<p> Las etiquetas <code>ul</code> y <code>ol</code> crean listas. </p>
<pre>
parte de un texto pre-formateado (block)
<pre>
Steve Jobs speaks loudly
reality distortion
Apple fans bow down
</pre>
code?<p> HTML es <em>realmente, <strong>REALMENTE</em> muy</strong> divertido! </p>
<body> <form> <div> <li> manera de representar cualquier caracter Unicode dentro de una página Web
| caracter(es) | entidad |
|---|---|
| < > | < > |
| é è ñ | é è ñ |
| ™ © | ™ © |
| π δ Δ | π δ Δ |
| И | И |
| " & | " & |
& en una página web?<p> <a href="http://google.com/search?q=marty&ie=utf-8"> Search Google for Marty </a> </p>
<link href="filename" type="MIME type" rel="shortcut icon" />
<link href="yahoo.gif" type="image/gif" rel="shortcut icon" />
link, colocada en la sección head, agrega otro fichero a la página
(info)
<table>,
<tr>,
<td>
Una tabla 2D de filas y columnas de datos (block element)
<table> <tr><td>1,1</td><td>1,2 okay</td></tr> <tr><td>2,1 real wide</td><td>2,2</td></tr> </table>
| 1,1 | 1,2 okay |
| 2,1 ancho real | 2,2 |
table define la tabla completa, tr cada fila, y td cada dato de celda<th>,
<caption>
<table> <caption>Mis datos valiosos</caption> <tr><th>Columna 1</th><th>Columna 2</th></tr> <tr><td>1,1</td><td>1,2 okay</td></tr> <tr><td>2,1 ancho real</td><td>2,2</td></tr> </table>
| Columna 1 | Columna 2 |
|---|---|
| 1,1 | 1,2 okay |
| 2,1 ancho real | 2,2 |
th en una fila se consideran cabeceros; por defecto, aparecen en negritacaption al inicio de la tabla etiqueta su significado
table { border: 2px solid black; caption-side: bottom; }
tr { font-style: italic; }
td { background-color: yellow; text-align: center; width: 30%; }
| Columna 1 | Columna 2 |
|---|---|
| 1,1 | 1,2 okay |
| 2,1 ancho real | 2,2 |
border-collapse
table, td, th { border: 2px solid black; }
table { border-collapse: collapse; }
| Column 1 | Column 2 |
|---|---|
| 1,1 | 1,2 |
| 2,1 | 2,2 |
| Column 1 | Column 2 |
|---|---|
| 1,1 | 1,2 |
| 2,1 | 2,2 |
border-collapse une los bordes en unorowspan y colspan<table> <tr><th>Columna 1</th><th>Columna 2</th><th>Columna 3</th></tr> <tr><td colspan="2">1,1-1,2</td> <td rowspan="3">1,3-3,3</td></tr> <tr><td>2,1</td><td>2,2</td></tr> <tr><td>3,1</td><td>3,2</td></tr> </table>
colspan hace que una celda ocupe varias columnas; rowspan varias filastext-align y vertical-align controlan el alineamiento del texto dentro de la celda<col>,
<colgroup>
<table> <col class="urgente" /> <colgroup class="destacar" span="2"></colgroup> <tr><th>Columna 1</th><th>Columna 2</th><th>Columna 3</th></tr> <tr><td>1,1</td><td>1,2</td><td>1,3</td></tr> <tr><td>2,1</td><td>2,2</td><td>2,3</td></tr> </table>
.urgent {
background-color: pink;
}
.highlight {
background-color: yellow;
}
col se puede usar para definir estilos que aplican a una columna completa (autocierre)colgroup aplica a un estilo de un grupo de columnas (NO autocierre)table tiene semántica; debe usarse solo para representar una tabla de datosdivs, widths/margins, floats, etc. para conseguir la disposición de elementosURL?name=value&name=value...
http://www.google.com/search?q=Obama http://example.com/student_login.php?username=perez&id=1234567
username tiene como valor perez, y sid tiene valor 1234567
<form>
<form action="URL de destino"> controles del formulario </form>
action proporciona la URL de la página que procesará los datos del formularioaction de la URL <form action="http://www.google.com/search"> <div> Busquemos en Google: <input name="q" /> <input type="submit" /> </div> </form>
divUna lista parcial de elementos de formularios HTML. Para más información en los elementos de formularios, consultar MDN.
<input>
<!-- 'q' es el nombre del parametro requerido por Google -->
<input type="text" name="q" value="Informe Pisa" />
<input type="submit" value="Venga!" />
input se usa para crear varios controles UI
name especifica el nombre del parámetro que se envía al servidortype puede ser button, checkbox, file, hidden, password, radio, reset, submit, text, ...value especifica el texto inicial del control<input>
<input type="text" size="10" maxlength="8" /> NetID <br /> <input type="password" size="16" /> Password <input type="submit" value="Log In" />
input: disabled, maxlength, readonly, size, valuesize controla el ancho del campo de texto en la pantalla maxlength limita el número de caracteres que el usuario es capaz de escribir en él<textarea>
un area de texto multi-línea (inline)
<textarea rows="4" cols="20"> Escribe tus comentarios aquí. </textarea>
textarea (opcional)rows y cols especifican la altura/ancho en caracteresreadonly significa que el texto no se puede modificar<input>
opciones si/no que se pueden seleccionar o deseleccionar (inline)
<input type="checkbox" name="lechuga" /> Lechuga <input type="checkbox" name="tomate" checked="checked" /> Tomate <input type="checkbox" name="pepino" checked="checked" /> Pepino
on:
webapp?tomate=on&pepino=on
checked="checked" en HTML para inicializar la caja como seleccionada<input>
conjuntos de opciones mutuamente exclusivos (inline)
<input type="radio" name="cc" value="visa" checked="checked" /> Visa <input type="radio" name="cc" value="mastercard" /> MasterCard <input type="radio" name="cc" value="amex" /> American Express
name (solo se puede escoger uno cada vez)value para cada uno o se enviarán con valor on<label>
<label><input type="radio" name="cc" value="visa" checked="checked" /> Visa</label> <label><input type="radio" name="cc" value="mastercard" /> MasterCard</label> <label><input type="radio" name="cc" value="amex" /> American Express</label>
label puede ser objetivo de las reglas de estilo CSS<select>,
<option>
menú de opciones que se expanden y contraen (inline)
<select name="favoritecharacter"> <option>Jerry</option> <option>George</option> <option selected="selected">Kramer</option> <option>Elaine</option> </select>
option representa cada opciónselect : disabled, multiple, sizeselected asigna cuál es seleccionado inicialmente<select> en listas<select name="favoritecharacter[]" size="3" multiple="multiple"> <option>Jerry</option> <option>George</option> <option>Kramer</option> <option>Elaine</option> <option selected="selected">Newman</option> </select>
multiple permite seleccionar varios elementos pulsando mayúscula o ctrl-click
[] si se permite selección múltiple
option se pueden asignar inicialmente a selected<optgroup>
<select name="favoritecharacter"> <optgroup label="Major Characters"> <option>Jerry</option> <option>George</option> <option>Kramer</option> <option>Elaine</option> </optgroup> <optgroup label="Minor Characters"> <option>Newman</option> <option>Susan</option> </optgroup> </select>
optgroups?Reset
Name: <input type="text" name="name" /> <br /> Food: <input type="text" name="meal" value="pizza" /> <br /> <label>Meat? <input type="checkbox" name="meat" /></label> <br /> <input type="reset" />
value<input type="text" name="username" /> Nombre <br /> <input type="text" name="sid" /> ID <br /> <input type="hidden" name="universidad" value="UC" /> <input type="hidden" name="anno" value="2014" />
<fieldset>,
<legend>
grupos de campos de entrada con etiqueta opcional (block)
<fieldset> <legend>Tarjetas de crédito:</legend> <input type="radio" name="cc" value="visa" checked="checked" /> Visa <input type="radio" name="cc" value="mastercard" /> MasterCard <input type="radio" name="cc" value="amex" /> American Express </fieldset>
fieldset agrupa campos de entrada (input fields) relacionados, añadiendo un borde; legend proporciona una etiqueta elemento[atributo="valor"] { propiedad : valor; propiedad : valor; ... propiedad : valor; }
input[type="text"] {
background-color: yellow;
font-weight: bold;
}
input)<label><input type="radio" name="cc" /> Visa</label> <label><input type="radio" name="cc" /> MasterCard</label> <br /> Personaje favorito Big Bang: <select name="startrek"> <option>Sheldon Cooper</option> <option>Rajesh Koothrappali</option> </select> <br />
[cc] => on, [startrek] => Rajesh Koothrappalivalue<label><input type="radio" name="cc" value="visa" /> Visa</label> <label><input type="radio" name="cc" value="mastercard" /> MasterCard</label> <br /> Personaje favorito Big Bang: <select name="startrek"> <option value="sheldon">Sheldon Cooper</option> <option value="rajesh">Rajesh Koothrappali</option> </select> <br />
value asigna el valor de lo que se envía si el control es seleccionado[cc] => visa, [startrek] => sheldon " ", "/", "=", "&""Marty's cool!?" → "Marty%27s+cool%3F%21"$_GET and $_POST automáticamente los decodificaGET vs. POST requests
GET : pide al servidor por una página o datos
POST : envía los datos a un servidor web y recupera la respuesta del servidor
POST es más apropiado que GET
GET incrusta sus parámetros en sus URLs<form action="http://foo.com/app.php" method="post"> <div> Nombre: <input type="text" name="nombre" /> <br /> Alimento: <input type="text" name="comida" /> <br /> <label>Carne? <input type="checkbox" name="carne" /></label> <br /> <input type="submit" /> <div> </form>
La validación se puede realizar:
nav, aside, header, footer, section, aside, article
Forms 2.0: sliders, search bars, color/number/email/url/date/time, placeholders, ...
Ejemplos
audio y video para incrustado de multimedia
canvas para dibujo de formas 2D en HTML/JS (como DrawingPanel)
(ref
1,
2,
3)
rel="...",
itemscope, itemtype, itemprop
<a href="video.avi">My video</a>
<audio controls> <source src="horse.mp3" type="audio/mpeg"> </audio>
<video controls > <source="video.mp4" type="video/mp4"> </video>
iframe colocando en src la referencia que se genera cuando se comparte el fichero y poniendo preview en lugar de view
<iframe frameborder="0" width="350" height="100" src="https://drive.google.com/file/d/ 15K48dsrajY4E9I9xg9omWRO12nwVx0sb/preview"></iframe>
<iframe frameborder="0" width="400" height="280" src="https://drive.google.com/file/d/ 1uQD2tLpEGmeH8Y8FW2RuJj2HVaAa9zaD/preview"></iframe>
<object><object data="video.avi" type="video/avi"></object>
embedarchive, classid, codebase, codetype,
data, declare, height, name,
standby, type, usemap, widthtype especifica el tipo de fichero
MIME<param><object id="slider1" width="100" height="50"> <param name="BorderStyle" value="thick" /> <param name="MousePointer" value="hourglass" /> <param name="Enabled" value="true" /> <param name="Min" value="0" /> <param name="Max" value="10" /> </object>
name y value para indicar al objeto qué parametros es y qué valor usarcanvas
<canvas id="mycanvas" width="200" height="150"></canvas>
context a partir del cual se puede dibujar cosas, recuerda Graphics g
var ctx = document.getElementById("mycanvas").getContext("2d");
ctx.fillStyle = "#FF0000";
ctx.strokeStyle = "#00FF00";
for (var i = 0; i < 10; i++) {
ctx.fillRect(i * 20, i * 10, 400 - i * 40, 200 - i * 20);
ctx.strokeRect(i * 20, i * 10, 400 - i * 40, 200 - i * 20);
}
| método canvas | análogo DrawingPanel |
|---|---|
| ctx.fillText(string, x, y); | g.drawString(str, x, y); |
| ctx.fillRect(x, y, width, height); | g.fillRect(x, y, width, height); |
|
ctx.beginPath(); ctx.arc(x, y, radius, startAngle, endAngle); ctx.stroke(); |
g.drawOval(x, y, width, height); |
|
ctx.beginPath(); ctx.moveTo(x1, y1); ctx.arc(x2, y2); ctx.stroke(); |
g.drawLine(x1, y1, x2, y2); |
| ctx.fillStyle = "#FF0000" | g.setColor(color); |
canvastimer
canvas puede recibir eventos del ratón
canvas

alert a menos que sea absolutamente necesariometa descriptivas Herramientas
Recursos