--- title: HTML tags: apuntes description: Apuntes HTML. --- # HTML HTML o HyperText Markup Language es el lenguaje que se utiliza para crear páginas web. ## Estructura La primera linea de código en un documento html, la cual informa al navegador del tipo y versión es la siguiente: ```htmlembedded= <!DOCTYPE html> ``` Todo documento HTML debe contener el elemento raíz, el cual contiene todos los datos de la página web. ```htmlembedded= <!DOCTYPE html> <html> <!--Contenido--> </html> ``` Dentro, estarán las etiquetas \<head\> y \<body\>. * La etiqueta \<head\> contiene datos que no serán visibles directamente por el usuario como el título, archivos externos a incluir en la página, palabras clave, etc... * La etiqueta \<body\> contiene los datos que formarán la página visible para el usuario en la pantalla. Por ahora quedaría algo así: ```htmlembedded= <!DOCTYPE html> <html> <head> <!--Datos--> </head> <body> <!--Contenido--> </body> </html> ``` Ese código sería el mínimo para crear una página web vacía. ## Elementos Como hemos visto el documento html se compone por elementos, o etiquetas. Estos elementos pueden tener contenido o ser elementos vacios. Un elemento con contenido, por ejemplo es el párrafo: ```htmlembedded= <p> Contenido </p> ``` En cambio uno vacío seria un salto de linea: ```htmlembedded= <br> ``` ## Atributos Los atributos són datos que se meten dentro de las etiquetas con el siguente formato \<etiqueta *atributo*="valor/dato" \> aunque tambien hay atributos vacios los cuales no usan \<etiqueta *atributo*\> ## Elementos de \<head\> La etiqueta \<head\> tiene ciertos elementos. ### \<meta\> La etiqueta \<meta\> contiene los metadatos de la página, cosas como codificación, autor, título, fecha, palabras clave, descripción, etc... - Codificación: * charset -> indica el tipo de codificación. Por norma general se utiliza la codificación UTF-8 - Palabras clave: * name -> keywords * content -> las palabras clave - Descripción de la web: * name -> description * content -> descripción que quieras - Autor: * name -> author * content -> nombre del autor de la web ```htmlembedded= <meta charset="utf-8"> <meta name="keywords" content="comida,pizza,tortilla"> <meta name="description" content="Menú restaurante"> <meta name="author" content="Adrián García González"> ``` ### \<title\> La etiqueta \<title\> contiene el título de la página, el cual se mostrará en la pestaña del navegador. ```htmlembedded= <title>Título aquí</title> ``` ## Elementos de \<body\> La etiqueta \<body\> tiene muchos elementos, pero algunos són. ### \<p\> El párrafo, se comportan como elemento independiente y automáticamente se separara uno de otro. ```htmlembedded= <p> Párrafo </p> ``` ### \<h\> La etiqueta \<h\> represnta la cabecera y tiene 6 variaciones, del 1 al 6, siendo la 1 la más importante y la 6 la menos. ```htmlembedded= <h1>Cabezera++!!!</h1> <h2>Cabezera++!!</h2> <h3>Cabezera++!</h3> <h4>Cabezera++</h4> <h5>Cabezera+</h5> <h6>Cabezera</h6> ``` ### \<!-- Comentario --\> Esta etiqueta es la de comentario -se puede utilizar fuera del body- y sirve para señalar cosas para ti mismo, o otras personas que estén trabajando en el código de dicha página ya que no se podrá ver desde el navegador. ```htmlembedded= <!-- Aquí se comenta todo lo que quieras! :D --> ``` ### \<br\> Hace un salto de linea. ```htmlembedded= <br> ``` ### \<b\> o \<strong\> Pone el contenido en negrita. ```htmlembedded= <b>Negrita</b> <strong>Negrita</strong> ``` ### \<i\> o \<em\> Pone el texto en cursiva. ```htmlembedded= <i>Cursiva</i> <em>Cursiva</em> ``` ### \<img\> Se utiliza para insertar una imagen. * src -> contiene la ruta a la imagen, puede ser una URL. * alt -> contiene un texto alternativo, en caso de que no pueda cargarse la imagen. ```htmlembedded= <img src="https://cdn.pccomponentes.com/img/logos/logo-pccomponentes.png" alt="Pc Componentes"> ``` :::info <img src="https://cdn.pccomponentes.com/img/logos/logo-pccomponentes.png" alt="Pc Componentes"> ::: ``` ### \<a\> Enlaces a otras páginas. * href -> link/url * target -> \_blank para una pestaña nueva ```htmlembedded= <a href="https://www.google.es/" target="_blank">Click para ir a google</a> ``` :::info <a href="https://www.google.es/" target="_blank">Click para ir a google</a> ::: También puedes hacer un enlace a una parte de la misma página, para eso usaremos el atributo ***id***. ```htmlembedded= <a href="#saludo" target="_blank">Click para ir al saludo</a> <!-- Contenido por en medio --> <p id="saludo"> Hola! </p> ``` :::info <a href="#saludo" target="_blank">Click para ir al saludo</a> <!-- Contenido por en medio --> <p id="saludo"> Hola! </p> ::: Al hacer click en "Click para ir al saludo", nos lleva al párrafo de abajo. Tambien se puede combinar y hacer un enlace a una parte de otra web, href="otraweb.hmtl#saludo". ### \<ul\> i \<ol\> Son listas, sin ordenar, y ordenadas. No te ordenan el contenido, sino que lo utilizaras un tipo u otro según tu contenido. ```htmlembedded= <!-- Lista sin orden --> <ul> <li>Gato</li> <li>Perro</li> <li>Pájaro</li> </ul> <!-- Lista ordenada --> <ol> <li>Ingredientes</li> <li>Precalentar el horno</li> <li>Dejar a 180ºC 20 minutos</li> <li>Dar la vuelta</li> <li>Dejar a 180ºC otros 10 minutos</li> </ol> ``` :::info <!-- Lista sin orden --> <ul> <li>Gato</li> <li>Perro</li> <li>Pájaro</li> </ul> <!-- Lista ordenada --> <ol> <li>Ingredientes</li> <li>Precalentar el horno</li> <li>Dejar a 180ºC 20 minutos</li> <li>Dar la vuelta</li> <li>Dejar a 180ºC otros 10 minutos</li> </ol> ::: ### \<dl\> Listas descriptibas, parejas de concepto y descripción. ```htmlembedded= <dl> <dt>Concepto 1</dt> <dd>Descripción 1</dd> <dt>Concepto 2</dt> <dd>Descripción 2</dd> </dl> ``` :::info <dl> <dt>Concepto 1</dt> <dd>Descripción 1</dd> <dt>Concepto 2</dt> <dd>Descripción 2</dd> </dl> ::: ### \<table\> Tablas, son compuestas por filas. * \<tr\> que contienen celdas * \<th\> cabezera de columna * \<td\> contenido ```htmlembedded= <table> <tr> <th>Nombre</th> <th>Apellidos</th> </tr> <tr> <td>Adrián</td> <td>García González</td> </tr> <tr> <td>Lidia</td> <td>Sanchez López</td> </tr> </table> ``` :::info <table> <tr> <th>Nombre</th> <th>Apellidos</th> </tr> <tr> <td>Adrián</td> <td>García González</td> </tr> <tr> <td>Lidia</td> <td>Sanchez López</td> </tr> </table> ::: Pudes usar los atributos rowspan y colspan para expandir una celda en cualquier eje. ```htmlembedded= <table> <tr> <th>1</th> <th>2</th> <th>3</th> </tr> <tr> <td rowspan="2">1</td> <!-- Esta celda ocupará dos verticales --> <td colspan="2">2 y 3</td> <!-- Esta celda ocupará dos horizontales --> </tr> <tr> <!-- El 1 anterior se expandira hacia abajo, ocupando la primera posición de esta fila --> <td>2</td> <td>3</td> </tr> </table> ``` :::info <table> <tr> <th>1</th> <th>2</th> <th>3</th> </tr> <tr> <td rowspan="2">1</td> <!-- Esta celda ocupará dos verticales, dos filas --> <td colspan="2">2 y 3</td> <!-- Esta celda ocupará dos horizontales, dos columnas --> </tr> <tr> <!-- El 1 anterior se expandira hacia abajo, ocupando la primera posición de esta fila --> <td>2</td> <td>3</td> </tr> </table> ::: Puedes usar los th en filas, para hacer una tabla horizontal, de la siguiente manera. ```htmlembedded= <table> <tr> <th scope="row">Nombre</th> <td>Adrián</td> <td>Lidia</td> </tr> <tr> <th scope="row">Apellidos</th> <td>García González</td> <td>Sanchez López</td> </tr> </table> ``` :::info <table> <tr> <th scope="row">Nombre</th> <td>Adrián</td> <td>Lidia</td> </tr> <tr> <th scope="row">Apellidos</th> <td>García González</td> <td>Sanchez López</td> </tr> </table> ::: #### \<caption\> Puedes poner un \<caption\> para indicar de que trata la tabla. ```htmlembedded= <table> <caption>Lista de Personas</caption> <tr> <th scope="row">Nombre</th> <td>Adrián</td> <td>Lidia</td> </tr> <tr> <th scope="row">Apellidos</th> <td>García González</td> <td>Sanchez López</td> </tr> </table> ``` :::info <table> <caption>Lista de Personas</caption> <tr> <th scope="row">Nombre</th> <td>Adrián</td> <td>Lidia</td> </tr> <tr> <th scope="row">Apellidos</th> <td>García González</td> <td>Sanchez López</td> </tr> </table> ::: ### \<iframe\> Sirven para incrustar otras paginas web. El mejor ejemplo, es el que te ofrece youtube por defecto. ```htmlembedded= <iframe width="100%" height="400" src="https://www.youtube.com/embed/NYViektxN7Y" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ``` :::info <iframe width="100%" height="400" src="https://www.youtube.com/embed/NYViektxN7Y" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ::: Google maps también lo permite. ```htmlembedded= <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d890.8211545807549!2d2.030985975613396!3d41.32293107221672!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x12a49c5e1a432905%3A0x666015efb963c68a!2sCan%20Calderon!5e0!3m2!1ses!2ses!4v1651514692978!5m2!1ses!2ses" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe> ``` :::info <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d890.8211545807549!2d2.030985975613396!3d41.32293107221672!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x12a49c5e1a432905%3A0x666015efb963c68a!2sCan%20Calderon!5e0!3m2!1ses!2ses!4v1651514692978!5m2!1ses!2ses" width="100%" height="450" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe> ::: ### \<form\> Sirve para hacer formularios, un formulario es utilizado para recopilar la entrada del usuario. La entrada del usuario normalmente se envía a un servidor para su procesamiento. La etiqueta \<form\> solo es la raiz, y aunque contiene atributos importantes, los elementos que iran dentro son los que nos permitiran coger información. Para recoger datos usaremos \<input\>. ```htmlembedded= <form> <label for="nombre">Nombre:</label><br> <input type="text" id="nombre" name="nombre"><br> <label for="apellidos">Apellidos:</label><br> <input type="text" id="apellidos" name="apellidos"> </form> ``` :::danger FALTA MÁS POR EXPLICAR ::: ### \<pre\> y \<code\> La etiqueta \<pre\> sirve para poder escribir con los espacios y saltos de lineas que quieras, respetandote el formato al 100%. ```htmlembedded= <pre> Linea 1 Linea 2 Separado Linea 4 </pre> ``` :::info <pre> Linea 1 Linea 2 Separado Linea 4 </pre> ::: Si quieres usar la etiqueta \<code\>, que sirve para representar código, necesitarás meterla dentro de una etiqueta \<pre\> ya que para que te respeta la indentación y formato, necesitas usarla en conjunto. ```htmlembedded= <pre> <code> public function saludo() { return "hola"; } </code> </pre> ``` :::info <pre> <code> public function saludo() { return "hola"; } </code> </pre> :::