¿Qué es HTML?
HTML es el acrónimo de HyperText Markup Language, que en español se traduce como Lenguaje de Marcado de Hipertexto. Cada una de estas palabras significa:
- HyperText (Hipertexto): Se refiere a la capacidad de enlazar documentos entre sí mediante hipervínculos.
- Markup (Marcado): Indica que HTML es un lenguaje de marcado, es decir, utiliza etiquetas para estructurar el contenido.
- Language (Lenguaje): Es un lenguaje formal que sigue una sintaxis específica para describir la estructura de una página web.
HTML permite organizar texto, imágenes, enlaces, formularios, tablas y contenido multimedia.
Tabla de Etiquetas HTML
Las tablas siguientes resumen las etiquetas definidas en la norma HTML Living Standard.| Preambulo y elemento raiz | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <!DOCTYPE> | Define el tipo de documento y la versión de HTML. | <!DOCTYPE html> |
Ver video |
| <html> | Representa la raíz de un documento HTML. | <html lang="es"> |
Ver video |
| Metadatos | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <head> | Contenedor de metadatos (título, scripts, estilos). | <head>...</head> |
No disponible |
| <title> | Define el título que se muestra en la pestaña. | <title>Mi Guía</title> |
Ver video |
| <meta> | Define metainformación como el charset o autor. | <meta charset="UTF-8"> |
Ver video |
| <link> | Relaciona el documento con archivos externos (CSS). | <link rel="stylesheet"> |
Ver video |
| <style> | Contiene reglas CSS internas del documento. | <style> body { } </style> |
No disponible |
| Secciones | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <body> | Contiene todo el contenido visible de la web. | <body>...</body> |
Ver video |
| <header> | Cabecera de la página o de una sección. | <header>...</header> |
Ver video |
| <nav> | Sección destinada a los enlaces de navegación. | <nav>...</nav> |
Ver video |
| <section> | Representa una sección genérica autónoma. | <section>...</section> |
No disponible |
| <footer> | Pie de página o cierre de una sección. | <footer>...</footer> |
Ver video |
| <h1> - <h6> | Encabezados organizados por niveles de importancia. | <h1>Título principal</h1> |
Ver video |
| Bloques de contenido | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <p> | Define un párrafo de texto. | <p>Texto del párrafo</p> |
No disponible |
| <div> | Contenedor genérico de bloque para agrupar elementos. | <div>...</div> |
Ver video |
| <hr> | Representa una ruptura temática o línea horizontal. | <hr> |
Ver video |
| <main> | Engloba el contenido principal único del body. | <main>...</main> |
Ver video |
| <blockquote> | Indica que el contenido es una cita larga. | <blockquote>...</blockquote> |
Ver video |
| Texto y enlaces | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <a> | Crea hipervínculos hacia otros destinos. | <a href="#">Enlace</a> |
Ver video |
| <span> | Contenedor genérico en línea para estilos. | <span>Texto</span> |
Ver video |
| <strong> | Indica que el texto tiene una importancia fuerte. | <strong>Importante</strong> |
No disponible |
| <br> | Produce un salto de línea en el texto. | Línea 1<br>Línea 2 |
Ver video |
| <code> | Muestra un fragmento de código fuente. | <code>print()</code> |
Ver video |
| Contenido incrustado | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <img> | Representa una imagen en el documento. | <img src="img.jpg"> |
Ver video |
| <iframe> | Inserta un contexto de navegación anidado. | <iframe src="..."> |
Ver video |
| <video> | Reproduce contenido de video en la página. | <video src="..."> |
No disponible |
| Listas (bloque de contenido) | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <ul> | Lista de elementos sin orden específico (viñetas). | <ul>...</ul> |
Ver video |
| <ol> | Lista de elementos con orden secuencial (números). | <ol>...</ol> |
Ver video |
| <li> | Representa un elemento dentro de cualquier lista. | <li>Elemento</li> |
No disponible |
| Tablas | |||
| Nombre del tag | Descripción | Ejemplo | Video |
|---|---|---|---|
| <table> | Contenedor principal para datos tabulares. | <table>...</table> |
Ver video |
| <tr> | Define una fila de celdas en una tabla. | <tr>...</tr> |
Ver video |
| <td> | Define una celda de datos estándar. | <td>Dato</td> |
No disponible |
HTML no es un lenguaje de programación, sino un lenguaje de estructura que trabaja junto con CSS y JavaScript para desarrollar sitios web modernos.
¿Qué es CSS?
CSS es el acrónimo de "Cascading Style Sheets" (Hojas de Estilo en Cascada), una herramienta muy importante en el diseño web. La hoja de estilos es justo lo que su nombre indica. Mientras que HTML proporciona la estructura básica de un documento, CSS se encarga de darle estilo y presentación visual.
CSS permite manipular elementos HTML de diversas maneras, como tamaño, forma, color e incluso interacciones con los usuarios finales.
Sintaxis de una regla CSS
La sintaxis de CSS es el conjunto de reglas que definen cómo escribir código correctamente. Estas reglas indican cómo combinar selectores, propiedades y valores para producir un diseño coherente en una página web.
p {
color: blue;
font-size: 16px;
}
Partes del ejemplo de la regla CSS:
- Selector: p → Indica qué elemento HTML será modificado.
- Bloque de declaración: Todo lo que está dentro de las llaves { }.
- Propiedad: color y font-size → Característica que se modifica.
- Valor: blue y 16px → Valor asignado a cada propiedad.
Tipos de Selectores
Los selectores en CSS permiten aplicar estilos a elementos específicos del documento HTML. Dependiendo del tipo de selector, podemos seleccionar elementos por su nombre, clase, estado, atributos o relación con otros elementos.
1. Selectores Simples
Se utilizan para seleccionar elementos de forma directa y básica.
Selector de elemento
Selecciona todos los elementos de un tipo específico. Sirve para aplicar estilos generales a una etiqueta.
p {
color: blue;
}
Selector de clase
Selecciona elementos que tengan una clase específica. Sirve para aplicar estilos reutilizables a varios elementos.
.texto {
font-size: 18px;
}
Selector de id
Selecciona un elemento único mediante su atributo id. Sirve para aplicar un estilo exclusivo.
#titulo {
color: red;
}
Selector universal
Selecciona todos los elementos del documento. Sirve para aplicar estilos globales.
* {
margin: 0;
}
2. Selectores Combinadores
Permiten seleccionar elementos según su relación con otros elementos, lo que da mayor precisión en el diseño.
Descendiente
Selecciona elementos que estén dentro de otro elemento, sin importar el nivel de profundidad.
div p {
color: green;
}
Hijo directo
Selecciona solo los elementos que sean hijos inmediatos. Sirve para mayor precisión.
div > p {
font-weight: bold;
}
Hermano adyacente
Selecciona el elemento que está inmediatamente después de otro.
h1 + p {
color: orange;
}
Hermano general
Selecciona todos los hermanos que estén después de un elemento.
h1 ~ p {
background-color: lightgray;
}
3. Selectores de Pseudoclase
Se utilizan para definir estados especiales de un elemento.
:hover
Aplica estilos cuando el usuario pasa el cursor sobre un elemento. Sirve para efectos interactivos.
button:hover {
background-color: blue;
color: white;
}
:nth-child()
Selecciona un elemento según su posición dentro de su contenedor.
li:nth-child(2) {
color: red;
}
:not()
Selecciona todos los elementos excepto los que cumplan cierta condición.
p:not(.especial) {
color: gray;
}
4. Selectores de Pseudoelementos
Permiten seleccionar partes específicas de un elemento para aplicar estilos especiales.
::before
Inserta contenido antes del contenido del elemento.
p::before {
content: "★ ";
}
::after
Inserta contenido después del elemento.
p::after {
content: " ✔";
}
::first-line
Selecciona únicamente la primera línea de un texto.
p::first-line {
font-weight: bold;
}
5. Selectores de Atributos
Seleccionan elementos según la presencia o el valor de sus atributos.
[atributo]
Selecciona elementos que tengan un atributo específico.
input[type] {
border: 1px solid black;
}
[atributo="valor"]
Selecciona elementos cuyo atributo tenga un valor exacto.
input[type="text"] {
background-color: lightyellow;
}
[atributo^="valor"]
Selecciona elementos cuyo atributo comience con cierto valor.
a[href^="https"] {
color: green;
}
Formas de insertar CSS
Existen tres maneras principales de agregar estilos CSS a una página web: externo, interno e inline.
1. CSS Externo (link)
Se escribe en un archivo separado con extensión .css y se conecta al HTML mediante la etiqueta link. Es la forma más recomendada.
<head>
<link rel="stylesheet" href="estilos.css">
</head>
2. CSS Interno (style)
Se escribe dentro del mismo archivo HTML utilizando la etiqueta style dentro del head.
<style>
p {
color: green;
}
</style>
3. CSS en Línea (Inline)
Se aplica directamente dentro de una etiqueta HTML usando el atributo style. Se recomienda solo para casos específicos.
<p style="color: red;"> Texto en línea </p>
Propiedades CSS Más Utilizadas
| Texto y Fuente | |||
| Propiedad | Descripción | Ejemplo de uso | Video |
|---|---|---|---|
color |
Define el color del texto. | color: red; |
Ver video |
font-family |
Define la fuente del texto. | font-family: Arial; |
Ver video |
font-size |
Tamaño de la letra. | font-size: 16px; |
Ver video |
text-align |
Alineación del texto. | text-align: center; |
Ver video |
font-weight |
Grosor de la fuente (negrita). | font-weight: bold; |
No disponible |
text-decoration |
Decoración (subrayado, tachado). | text-decoration: underline; |
Ver video |
line-height |
Espacio entre líneas (interlineado). | line-height: 1.5; |
Ver video |
letter-spacing |
Espacio entre caracteres. | letter-spacing: 2px; |
Ver video |
| Fondo y Color | |||
| Propiedad | Descripción | Ejemplo de uso | Video |
|---|---|---|---|
background-color |
Color de fondo. | background-color: blue; |
Ver video |
background-image |
Imagen de fondo. | background-image: url(); |
Ver video |
opacity |
Transparencia del elemento. | opacity: 0.5; |
Ver video |
background-size |
Tamaño de la imagen de fondo. | background-size: cover; |
No disponible |
background-repeat |
Repetición de la imagen de fondo. | background-repeat: no-repeat; |
Ver video |
background-position |
Posición de la imagen de fondo. | background-position: center; |
Ver video |
| Modelo de Caja | |||
| Propiedad | Descripción | Ejemplo de uso | Video |
|---|---|---|---|
width |
Ancho del elemento. | width: 100px; |
Ver video |
height |
Alto del elemento. | height: 100px; |
Ver video |
margin |
Margen exterior. | margin: 10px; |
Ver video |
padding |
Espacio interior. | padding: 10px; |
Ver video |
border |
Borde del elemento. | border: 1px solid; |
Ver video |
border-radius |
Esquinas redondeadas. | border-radius: 5px; |
Ver video |
box-shadow |
Sombra de la caja. | box-shadow: 2px 2px 5px; |
Ver video |
box-sizing |
Cálculo del tamaño de la caja. | box-sizing: border-box; |
No disponible |
| Posicionamiento y Layout | |||
| Propiedad | Descripción | Ejemplo de uso | Video |
|---|---|---|---|
display |
Comportamiento de la caja. | display: flex; |
Ver video |
position |
Tipo de posición. | position: relative; |
Ver video |
z-index |
Orden de capas. | z-index: 1; |
Ver video |
float |
Flotación a los lados. | float: left; |
Ver video |
top / bottom |
Posicionamiento vertical. | top: 0; |
No disponible |
left / right |
Posicionamiento horizontal. | left: 0; |
Ver video |
overflow |
Control de contenido excedente. | overflow: hidden; |
Ver video |
visibility |
Visibilidad del elemento. | visibility: hidden; |
Ver video |
Sección Adicional: Conceptos Importantes en CSS
Además de los selectores y formas de insertar CSS, existen conceptos fundamentales que ayudan a crear diseños más organizados, adaptables y profesionales.
1. Especificidad en CSS
La especificidad determina qué regla se aplica cuando varias afectan al mismo elemento. El navegador prioriza los selectores más específicos.
- Elemento (p) → baja prioridad
- Clase (.clase) → prioridad media
- ID (#id) → prioridad alta
- Inline (style="") → prioridad máxima
p { color: blue; }
.texto { color: green; }
#parrafo { color: red; }
Si un elemento tiene id y clase, se aplicará el estilo del id porque tiene mayor especificidad.
2. Unidades de Medida
CSS utiliza diferentes unidades para definir tamaños y espacios. Algunas son absolutas y otras relativas.
- px: Unidad fija en píxeles.
- em: Relativa al tamaño del elemento padre.
- rem: Relativa al tamaño raíz (html).
- %: Relativa al tamaño del contenedor.
p {
font-size: 16px;
width: 50%;
}
h1 {
font-size: 2rem;
}
3. Flexbox (Conceptos Básicos)
Flexbox es un modelo de diseño que permite organizar elementos en filas o columnas de manera flexible y alineada.
- display: flex; Activa Flexbox
- justify-content: Alineación horizontal
- align-items: Alineación vertical
.contenedor {
display: flex;
justify-content: center;
align-items: center;
}
Se usa principalmente para centrar elementos o distribuirlos de manera uniforme.
4. Media Queries (Responsividad)
Las media queries permiten adaptar el diseño a diferentes tamaños de pantalla, como celulares, tablets o computadoras.
@media (max-width: 600px) {
body {
background-color: lightgray;
}
}
Se utilizan para hacer que una página sea responsive y se vea bien en cualquier dispositivo.