Accueil

Traduction

Tutoriel HTML - sommaire

Tutoriel HTML5 - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

HTML5 - nouveaux attributs de balise

Dans le chapitre précédent nous avons vu que la balise INPUT type ="text" dispose désormais de nouveaux attributs.

Je vous renvoie à ce chapitre.
HTML 5 - formulaires nettement améliorés

Avec HTML5 on peut associer à tout élément des attributs data-* et aux éléments de type block l'attribut contenteditable.

Les attributs data-*

C'est l'un des grandes nouveautés de HTML5. Le développeur peut associer à chaque élément des données en créant ses propres attributs.
Seule condition : le nom de chaque attribut doit commencer par "data-".
C'est pour cette raison que l'on parle des attributs data-*.
Ces attributs personnalisés peuvent ensuite être manipulés par CSS et JavaScript.

Exemple

Faisons un peu de biologie aquatique !

?
?

Le code CSS

Les image ayant l'attribut "data-non" seront ombrées.
Les éléments figure centrés horizontalement dans la page.

Le code HTML

Les images sont contenues dans une balise FIGURE.

Le script

function info()
{
	var image1 =document.querySelector("#image1") ; 
	var legende1 =document.querySelector("figcaption") ; 
	var nom1 = image1.dataset.nom;
	var description1 =image1.dataset.description;
	legende1.textContent = nom1 + " "  + description1 ; 
	
	var image2 =document.querySelector("#image2");
	var legende2 =document.querySelectorAll("figcaption")[1];
	var nom2 = image2.dataset.nom ; 
	var description2 =image2.dataset.description ; 
	legende2.textContent = nom2 + " " + description2;
}

La fonction remplit chacune des balises figcaption associée à une image via la méthode dataset.
La syntaxe est alors : élément.dataset.attribut

Attention dans cette syntaxe l'attribut personnalisé doit être débarassé du préfixe "data-" .

Rendre une boite éditable

Avec HTML5 tous les éléments peuvent devenir éditables et non plus seulement les zones de texte des formulaires (balises INPUT & TEXTAREA).

Exemple politique (lol)

Vous pouvez corriger, compléter le texte contenu ci-dessous dans un DIV.

Poutine est un fou dangereux !

Code CSS & HTML

La boîte DIV a l'attribut contenteditable= 'true'.
Vous pouvez donc modifier le contenu comme s'il s'agissait d'un élément TEXTAREA.

Le script

La fonction affiche le nouveau contenu de la boîte identifiée "boite" puis rend la boite non éditable. Pour modifier de nouveau le contenu de la boite actualisez la page !

Le chargement paresseux des images

La norme HTML5 propose un nouvel attribut pour les éléments IMG : loading.

Diminuer le temps d'attente de l'internaute est un facteur clé dans le succès d'un site.
De nombreuses techniques sont employées pour améliorer le temps de chargement d'une page.
L'une d'entres elles consiste à afficher en priorité tous les éléments situés au dessus de la "ligne de Flottaison". La "ligne de Flottaison" représente la partie visible d'une page web.
Concernant les images la technique du lazy Loading ou "Chargement Paresseux" permet de ne charger que les images situées au dessus de la ligne de flottaison.

Le chargement paresseux est intéressant pour des images lourdes.

Exemple

Quatre images lourdes

musée de la gendarmerie musée de la gendarmerie musée de la gendarmerie musée de la gendarmerie

Chaque image pèse entre 2 et 3 mégas.

Le code correspondant

Notez l'attribut loading ="lazy"