28188 sujets

CSS et mise en forme, CSS3

Pages :
Modérateur
(reprise du message précédent)

boteha_2 a écrit :
Hello gcyrillus,
Je ne connaissais pas<del> ni <ins> mais c'est bien approprié et sémantique.


Ravi de te faire découvrir quelque chose, ces deux là vont de paires avec les attributs cite et datetime.

;)
Modifié par gcyrillus (22 Dec 2024 - 08:19)
Bonjour,

Dans le codepen une solution qui ménage la chèvre et le chou.

En écran large les promotions sur deux lignes, je sais que cela fonctionne bien.

En petit écran sur une ligne avec code de gcyrillus.

Cela oblige à surcharger un peu le code html et mettre des éléments en display none.

Cette surcharge est-elle rédhibitoire pour le référencement ou l'accessibilité ?

PS: pour l'accessibilité j'ai noté l'importance de l'attribut role, ce sera fait.

Raphael a écrit :
Par contre attention à l'accessibilité : "display" modifie le comportement également pour les assistances techniques.
Pour cela, il vaut mieux s'assurer que les roles ARIA soient bien appliqués (table, rowgroup, row, cell, etc.) :
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/rowheader_role

Modifié par boteha_2 (22 Dec 2024 - 12:19)
Bonjout,

Nu Html Checker n'aime pas role :

Warning: The table role is unnecessary for element table.

Error: The role attribute must not be used on a tr element which has a table ancestor with no role attribute, or with a role attribute whose value is table, grid, or treegrid.

Warning: The row role is unnecessary for element tr.

Error: The role attribute must not be used on a th element which has a table ancestor with no role attribute, or with a role attribute whose value is table, grid, or treegrid.

Warning: The columnheader role is unnecessary for element th.

etc...

Qui croire ?
Bonjour,

Un nouveau codepen pour une version achevée.

Cela fait un paquet de code CSS.

Prochaine étape dynamiser le point de rupture : le tableau passe en 3 colonnes dès que la fenêtre devient trop étroite pour le 7 colonnes (dont la largeur dépend du contenu).

JS obligé, pas moyen en CSS ?

Je m'y mets un plus tard.
Bonjour,

Le premier boulot consiste à comparer la largeur de la fenêtre avec celle du tableau.

Assez nul en JS j'ai essayé dans le codepen :

var a = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;

var t = document.getElementById('test').offsetWidth;

if (a < t) {alert ("oups")}


Aucune alerte, voyez-vous où est l'erreur ?
Administrateur
Je ne suis pas sûr de pouvoir t'aider en JS, mais mon petit doigt me dit toujours qu'il faut afficher des console.log quand on cherche quelque chose.

Tu peux voir ce que cela renvoie ?

var a = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
console.log("Largeur de la fenêtre:", a);

var test = document.getElementById('test');
console.log("Élément test:", test);

if (test) {
    var t = test.offsetWidth;
    console.log("Largeur de l'élément:", t);
    
    if (a < t) {
        alert("oups");
    }
}
Bonjour Raphaël,

Merci de ton suivi.

J'ai copié ton code dans le codepen et ouvert la console mis il ne se passe rien.

Comprends pas pourquoi car le code est simple...

Dois-je ouvrir une nouvelle discussion dans le forum javascript ?
Administrateur
boteha_2 a écrit :

J'ai copié ton code dans le codepen et ouvert la console mis il ne se passe rien.

Au contraire, il y a des infos intéressantes dans la console :
- "Largeur de la fenêtre:" 1077
- "Largeur de l'élément:" 1061
upload/1735468646-1-console.jpg
Raphael a écrit :
Au contraire, il y a des infos intéressantes dans la console :
- "Largeur de la fenêtre:" 1077
- "Largeur de l'élément:" 1061


D'accord, j'ai vu.
Modifié par boteha_2 (29 Dec 2024 - 12:12)