Salta el contingut

Etiquetes i Atributs HTML5

Etiquetes de text

<!-- Capçaleres (h1 = la més important, h6 = la menys) -->
<h1>Títol principal</h1>
<h2>Secció</h2>
<h3>Subsecció</h3>

<!-- Paràgrafs i salts -->
<p>Un paràgraf de text normal.</p>
<br>  <!-- Salt de línia -->
<hr>  <!-- Línia horitzontal -->

<!-- Èmfasi -->
<strong>Text important (negreta semàntica)</strong>
<em>Text emfatitzat (cursiva semàntica)</em>
<b>Negreta visual (sense significat semàntic)</b>
<i>Cursiva visual</i>
<u>Text subratllat</u>
<s>Text tatxat</s>
<mark>Text ressaltat</mark>
<small>Text petit</small>
<sub>Subíndex: H<sub>2</sub>O</sub>
<sup>Superíndex: E=mc<sup>2</sup></sup>

<!-- Codi -->
<code>codi_en_linia()</code>
<pre><code>
bloc de
codi preformatat
</code></pre>

<!-- Cites -->
<blockquote cite="https://exemple.com">
    <p>Una cita llarga d'algú famós.</p>
</blockquote>
<q>Una cita curta en línia.</q>

<!-- Abreviatures -->
<abbr title="HyperText Markup Language">HTML</abbr>

Llistes

<!-- Llista no ordenada -->
<ul>
    <li>Element 1</li>
    <li>Element 2</li>
    <li>Element 3</li>
</ul>

<!-- Llista ordenada -->
<ol>
    <li>Primer</li>
    <li>Segon</li>
    <li>Tercer</li>
</ol>

<!-- Llista ordenada amb atributs -->
<ol type="A" start="3">
    <li>Element C</li>
    <li>Element D</li>
</ol>

<!-- Llista de definicions -->
<dl>
    <dt>HTML</dt>
    <dd>HyperText Markup Language</dd>
    <dt>CSS</dt>
    <dd>Cascading Style Sheets</dd>
</dl>

<!-- Llistes niades -->
<ul>
    <li>Fruites
        <ul>
            <li>Poma</li>
            <li>Pera</li>
        </ul>
    </li>
    <li>Verdures</li>
</ul>

Taules

<table>
    <caption>Taula d'alumnes</caption>
    <thead>
        <tr>
            <th scope="col">Nom</th>
            <th scope="col">Nota</th>
            <th scope="col">Aprovada</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Joan García</td>
            <td>7.5</td>
            <td></td>
        </tr>
        <tr>
            <td>Maria López</td>
            <td>9.0</td>
            <td></td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="2">Mitjana</td>
            <td>8.25</td>
        </tr>
    </tfoot>
</table>

Taules accessibles

Usa sempre <thead>, <tbody> i <tfoot>. Afegeix scope="col" o scope="row" als <th> per a millor accessibilitat.

Taules per a maquetació

NO uses <table> per a maquetació visual. Les taules son per a dades tabulars. Per a maquetació usa CSS Flexbox o Grid.

Enllaços

<!-- Enllaç bàsic -->
<a href="https://www.sapalomera.cat">Institut Sa Palomera</a>

<!-- Obertura en nova pestanya -->
<a href="https://exemple.com" target="_blank" rel="noopener noreferrer">
    Obre en nova pestanya
</a>

<!-- Àncora dins de la mateixa pàgina -->
<a href="#seccio-contacte">Ves al contacte</a>
<section id="seccio-contacte">...</section>

<!-- Enllaç a correu electrònic -->
<a href="mailto:info@sapalomera.cat">Contacte per correu</a>

<!-- Enllaç a telèfon -->
<a href="tel:+34972345678">972 34 56 78</a>

<!-- Descàrrega de fitxer -->
<a href="document.pdf" download="nom-del-fitxer.pdf">Descarrega PDF</a>

Imatges

<!-- Imatge bàsica -->
<img src="logo.png" alt="Logo de l'institut" width="200" height="100">

<!-- Imatge responsive -->
<img src="foto.jpg" 
     alt="Descripció de la foto"
     loading="lazy">

<!-- Figura amb peu de foto -->
<figure>
    <img src="diagrama.png" alt="Diagrama de xarxa">
    <figcaption>Figura 1: Diagrama de la xarxa de l'institut</figcaption>
</figure>

<!-- srcset per a imatges responsive -->
<img src="imatge-800.jpg"
     srcset="imatge-400.jpg 400w,
             imatge-800.jpg 800w,
             imatge-1200.jpg 1200w"
     sizes="(max-width: 600px) 400px,
            (max-width: 900px) 800px,
            1200px"
     alt="Imatge responsive">

L'atribut alt

L'atribut alt és obligatori per a accessibilitat. Ha de descriure el contingut de la imatge per a usuaris de lectors de pantalla o quan la imatge no es pot carregar. Per a imatges decoratives, usa alt="".

Multimèdia

<!-- Vídeo -->
<video controls width="640" height="360" poster="miniatura.jpg">
    <source src="video.mp4" type="video/mp4">
    <source src="video.webm" type="video/webm">
    <p>El teu navegador no suporta vídeo HTML5.</p>
</video>

<!-- Àudio -->
<audio controls>
    <source src="audio.mp3" type="audio/mpeg">
    <source src="audio.ogg" type="audio/ogg">
    <p>El teu navegador no suporta àudio HTML5.</p>
</audio>

<!-- Canvas (per a dibuix amb JavaScript) -->
<canvas id="el-meu-canvas" width="400" height="300">
    El teu navegador no suporta canvas.
</canvas>

Formularis

<form action="/enviar" method="post" novalidate>
    <!-- Camps de text -->
    <label for="nom">Nom:</label>
    <input type="text" id="nom" name="nom" placeholder="El teu nom" required>

    <!-- Email -->
    <label for="email">Email:</label>
    <input type="email" id="email" name="email" required>

    <!-- Contrasenya -->
    <label for="pwd">Contrasenya:</label>
    <input type="password" id="pwd" name="pwd" minlength="8">

    <!-- Número -->
    <label for="edat">Edat:</label>
    <input type="number" id="edat" name="edat" min="0" max="120">

    <!-- Data -->
    <label for="data">Data de naixement:</label>
    <input type="date" id="data" name="data">

    <!-- Rang (slider) -->
    <label for="nota">Nota (0-10):</label>
    <input type="range" id="nota" name="nota" min="0" max="10" step="0.5">

    <!-- Llista desplegable -->
    <label for="cicle">Cicle:</label>
    <select id="cicle" name="cicle">
        <option value="">Selecciona un cicle</option>
        <optgroup label="Informàtica">
            <option value="asix">ASIX</option>
            <option value="dam">DAM</option>
        </optgroup>
    </select>

    <!-- Àrea de text -->
    <label for="comentari">Comentari:</label>
    <textarea id="comentari" name="comentari" rows="4" cols="50"></textarea>

    <!-- Caselles de verificació -->
    <fieldset>
        <legend>Habilitats:</legend>
        <label><input type="checkbox" name="habilitat" value="html"> HTML</label>
        <label><input type="checkbox" name="habilitat" value="css"> CSS</label>
        <label><input type="checkbox" name="habilitat" value="js"> JavaScript</label>
    </fieldset>

    <!-- Botons de ràdio -->
    <fieldset>
        <legend>Nivell:</legend>
        <label><input type="radio" name="nivell" value="basic"> Bàsic</label>
        <label><input type="radio" name="nivell" value="mig"> Mig</label>
        <label><input type="radio" name="nivell" value="avanzat"> Avançat</label>
    </fieldset>

    <!-- Pujada de fitxers -->
    <label for="fitxer">Puja el teu CV:</label>
    <input type="file" id="fitxer" name="fitxer" accept=".pdf,.doc">

    <!-- Botons -->
    <button type="submit">Enviar</button>
    <button type="reset">Esborrar</button>
    <button type="button" onclick="alert('Hola!')">Botó custom</button>
</form>

Miniactivitat AC03734

Crea un formulari d'inscripció a un curs amb: nom, cognoms, email, cicle (select), mòduls que vols cursar (checkboxes), nivell d'experiència (radio), data d'inici preferida, comentaris i botó d'enviament. Valida els camps obligatoris amb HTML5 (atributs required, type, min, max).