La Etiqueta SPAN

Es un contenedor en línea que se utiliza para aplicar estilos, scripts o agrupar elementos de texto sin alterar la estructura semántica del documento.
La etiqueta <span> en HTML es un contenedor en línea que se utiliza para aplicar estilos, scripts o agrupar elementos de texto sin alterar la estructura semántica del documento. A diferencia de <div> (que es un contenedor de bloque), <span> no añade saltos de línea y es ideal para trabajar con fragmentos específicos de texto o elementos en línea. Aquí te explicamos cómo usarla correctamente.
Sintaxis básica
La estructura básica es:
<span>Contenido en línea aquí</span>
Ejemplo:
<p> Este es un texto <span>resaltado</span> con la etiqueta span. </p>
Resultado:
Este es un texto resaltado con la etiqueta span.
Por defecto, <span> no modifica la apariencia del texto, pero sirve como "gancho" para CSS o JavaScript.
Casos de uso comunes
a) Aplicar estilos CSS
Resultado:
La palabra roja está estilizada.
b) Agrupar elementos para JavaScript
<p>
Haz clic <span id="contador">0</span> veces.
</p>
<button onclick="document.getElementById('contador').textContent++">Clic aquí</button>
Resultado:
Haz clic 0 veces.
c) Resaltar texto con clases
<style>
.resaltar {
background: yellow;
padding: 2px 5px;
}
</style>
<p>
Este es un <span class="resaltar">texto importante</span>.
</p>
Resultado:
Este es un texto importante.
Diferencias entre <span> y <div>
<span> |
<div> |
|---|---|
| Contenedor en línea (no causa saltos de línea). | Contenedor de bloque (ocupa todo el ancho disponible). |
| Ideal para fragmentos de texto. | Ideal para agrupar secciones completas. |
Ejemplo: <span>Palabra</span>. |
Ejemplo: <div><p>Párrafo</p></div>. |
Combinación con atributos
-
class: Para aplicar estilos reutilizables. -
id: Para manipular elementos únicos con JavaScript. -
data-*: Para almacenar información personalizada.
Ejemplo con data-*:
<span data-usuario="123" data-rol="admin">Juan Pérez</span>
Buenas prácticas
-
No abuses: Usa
<span>solo cuando necesites aplicar estilos o scripts a fragmentos específicos. -
Prioriza etiquetas semánticas: Si el texto es importante, usa
<strong>,<em>, o<mark>en lugar de<span>. -
Nombra clases claramente: Ejemplo:
<span class="error">, no<span class="rojo">.
Accesibilidad
-
Evita ocultar contenido importante: No uses
<span>para texto que deba ser accesible (mejor usa<div>conroleARIA si es necesario). -
Combina con ARIA: Si usas
<span>para controles interactivos, añade roles comorole="button".
Ejemplo avanzado
<!DOCTYPE html>
<html lang="es">
<head>
<style>
.tooltip {
position: relative;
border-bottom: 1px dotted #333;
cursor: help;
}
.tooltip-text {
display: none;
position: absolute;
background: #333;
color: white;
padding: 5px;
border-radius: 4px;
bottom: 100%;
left: 50%;
transform: translateX(-50%);
}
.tooltip:hover .tooltip-text {
display: block;
}
</style>
</head>
<body>
<p>
Pasa el cursor sobre <span class="tooltip">esta palabra
<span class="tooltip-text">¡Esto es un tooltip!</span>
</span> para ver el mensaje.
</p>
</body>
</html>
Resultado:
Pasa el cursor sobre esta palabra para ver el mensaje.
Errores comunes
Usar <span> como bloque:
<span style="display: block;">Texto</span> <!-- Mejor usa <div> -->
Ignorar la semántica:
<span><h3>Título</h3></span> <!-- Las etiquetas de bloque no deben ir dentro de <span> -->
Conclusión
La etiqueta <span> es una herramienta versátil para trabajar con contenido en línea en HTML. Al usarla correctamente:
-
Aplicas estilos y scripts de manera precisa.
-
Mantienes la semántica del documento.
-
Mejoras la mantenibilidad del código.
Recuerda:
-
Úsala para fragmentos pequeños de texto o elementos en línea.
-
Combínala con clases y atributos para mayor control.
-
Evita sustituir etiquetas semánticas como
<strong>o<em>.
¡Ahora puedes aprovechar <span> para personalizar y dinamizar tus proyectos web!