Dominando Emmet: Reglas Esenciales de Sintaxis para HTML

Acelerando el Desarollo HTML con Emmet: Una Guía de Sintaxis

Emmet es una potente herramienta que transforma la manera en que los desarrolladores web escriben código HTML y CSS, permitiendo generar estructuras complejas con una mínima cantidad de pulsaciones de teclado. Esta guía explora las reglas de sintaxis fundamentales de Emmet, diseñada para mejorar la eficiencia y reducir el tiempo de codificación.

Emmet opera como un plugin disponible para la mayoría de los editores de código modernos, incluyendo Visual Studio Code, Sublime Text, Atom, y muchos otros. La instalación generalmente sigue el proceso estándar de añadir extensiones o paquetes desde el gestor de plugins de cada editor.

Un ejemplo rápido de lo que Emmet puede lograr: al escribir la siguiente abreviatura y presionar la tecla Tab, se generará una estructura HTML completa:

div#contenedor>p.titulo+ul.lista>li.item$*3{Elemento $ de la lista}^div#pieDePagina

Esto se expandirá a:

<div id="contenedor">
    <p class="titulo"></p>
    <ul class="lista">
        <li class="item1">Elemento 1 de la lista</li>
        <li class="item2">Elemento 2 de la lista</li>
        <li class="item3">Elemento 3 de la lista</li>
    </ul>
</div>
<div id="pieDePagina"></div>

Reglas de Sintaxis Fundamentales de Emmet

1. Estructura HTML Inicial

Para generar la estructura básica de un documento HTML5, simplemente escribe un signo de exclamación:

!

Se expande a:


<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

2. Identificadores (#) y Clases (.)

Utiliza # para IDs y . para clases, justo después del nombre de la etiqueta o de forma implícita (si la etiqueta se omite, Emmet asume <div> por defecto).

  • Elemento con ID:
div#encabezado

Expande a: <div id="encabezado"></div>

  1. Elemento con Clase:
p.descripcion

Expande a: <p class="descripcion"></p>

3. Nodos Hijos (>), Hermanos (+) y Ascensores (^)

  • **Nodos Hijos (>):** Anida elementos.
nav>ul>li>a

Expande a:

<nav>
   <ul>
       <li><a href=""></a></li>
   </ul>
</nav>
  1. **Nodos Hermanos (+):** Crea elementos al mismo nivel.
header+main+footer

Expande a:

<header></header>
<main></main>
<footer></footer>
  1. **Ascensores (^):** Sube un nivel en la jerarquía. Cada ^ asciende un nivel.
div>ul>li^p

Expande a:

<div>
   <ul>
       <li></li>
   </ul>
   <p></p>
</div>

Si usas ^^, subirás dos niveles.

4. Repetición (*)

Multiplica un elemento un número específico de veces.

li*5

Expande a:

<li></li>
<li></li>
<li></li>
<li></li>
<li></li>

5. Agrupación (())

Usa paréntesis para agrupar bloques de código y definir su nivel de anidamiento independientemente de lo que les rodea.

div>(header>h1+p)+section>article*2

Expande a:

<div>
    <header>
        <h1></h1>
        <p></p>
    </header>
    <section>
        <article></article>
        <article></article>
    </section>
</div>

6. Atributos ([])

Define atributos personalizados para un elemento. Los valores se especifican dentro de los corchetes, separados por espacios.

a[href="https://google.com" target="_blank" title="Buscador de Google"]

Expande a:

<a href="https://google.com" target="_blank" title="Buscador de Google"></a>

7. Numeración ($)

El signo $ se utiliza para generar números incrementales, especialmente útil con el operador de repetición *.

  • Numeración básica:
ul>li.item-$*3

Expande a:

<ul>
   <li class="item-1"></li>
   <li class="item-2"></li>
   <li class="item-3"></li>
</ul>
  1. Relleno con ceros (ej. para dos dígitos):
div.caja-$$*3

Expande a:

<div class="caja-01"></div>
<div class="caja-02"></div>
<div class="caja-03"></div>
  1. Inicio de numeración personalizada: Se usa $@N, donde N es el número de inicio.
li.producto$@5*3

Expande a:

<li class="producto5"></li>
<li class="producto6"></li>
<li class="producto7"></li>

8. Texto ({})

Inserta contenido de texto dentro de un elemento.

h2{Título de la sección}+p{Este es un párrafo con el elemento $}*2

Expande a:

<h2>Título de la sección</h2>
<p>Este es un párrafo con el elemento 1</p>
<p>Este es un párrafo con el elemento 2</p>

9. Etiquetas Implícitas

Emmet puede inferir el tipo de etiqueta que deseas crear si no la especificas, basándose en el contexto del padre.

  • Un .clase o #id solo, crea un <div>:
.tarjeta

Expande a: <div class="tarjeta"></div>

  1. Dentro de ul o ol, .clase crea <li>:
ul>.entrada*3

Expande a:

<ul>
   <li class="entrada"></li>
   <li class="entrada"></li>
   <li class="entrada"></li>
</ul>
  1. Dentro de table, tbody, thead o tfoot, .clase crea <tr>.
  2. Dentro de tr, .clase crea <td>.
  3. Dentro de select o optgroup, .clase crea <option>.

Etiquetas: Emmet HTML css DesarrolloWeb productividad

Publicado el 9-26 15:18