5542 sujets

Sémantique web et HTML

Hello les amis,

Je suis à la recherche d'avis concernant le déplacement d'élément en JS pour le côté problématique du responsive.

Le problème concerne principalement la navigation qui bouge entre mobile, tablette, et PC (y'a d'autres blocs, mais moins "important").
Dans les faits, il n'est pas possible "d'ordorer" mes éléments avec Flexbox, oubliez cette idée bande de coquinou ! Du coup, mon plan B était de déplacement en JS, qui fonctionne parfaitement.

Cependant, Chrome met une demis seconde à afficher correctement les éléments au bon endroit, et ce malgré le cache (contrairement à Mozilla et co.). Le problème est sur chaque changement de page.

Du coup, y'a un débat actuellement dans mon agence :

- dupliqué 3x la navigation (les 1 ou 2 autres bloques), affichée/cachée suivant les devices (putain c'est moche ! Encore une idée de dev backend)
- laissé comme ça, fuck les utilisateurs de Chrome, ils sont pas nombreux sur ce browser t'façon (idée de mon moi maléfique)
- dégradation progressive (qui me semble être la meilleur solution, mais vous connaissez le proverbe : on a pas le temps)

Ici, tout le monde ou presque veut dupliquer le code. On parle pas d'une navigation à deux liens : mais bien de 150 lignes dupliquées (environ hein).

Et vous, comment gérez-vous ces problèmes ?

Merci beaucoup !
Bonjour,
ILeG3nDz a écrit :
Le problème concerne principalement la navigation qui bouge entre mobile, tablette, et PC (y'a d'autres blocs, mais moins "important"). Dans les faits, il n'est pas possible "d'ordorer" mes éléments avec Flexbox, oubliez cette idée bande de coquinou ! Du coup, mon plan B était de déplacement en JS, qui fonctionne parfaitement.

Du coup on ne sait pas de quoi il s'agit, donc difficile de donner un avis. Qu'est-ce qui fait par exemple que l'on ne puisse pas utiliser flexbox ?

Un peu de code html peut-être ?
Modifié par Olivier C (05 Jan 2017 - 16:10)
Hello Olivier,

Je peux pas poster mon HTML, mais il ne s'agit pas seulement d'une ligne de flex-child, donc pas d'order possible. Les éléments doivent directement d'être déplacer à un autre endroit sur la page, ce n'est pas donc une question d'order.
Mais du coup on passe de quoi à quoi ? De quel type de menu parle-t-on ? Si on ne sait rien on poste dans le vide et pourquoi nous poser la question avec si peu d'élément ?

Un menu fixe qui se transformerait en menu sandwich ne poserait pas de problème, il ne peut donc s'agir de cela... un menu géant non plus... du coup je ne vois pas.
Salut Olivier.

Olivier C a écrit :
Si on ne sait rien on poste dans le vide et pourquoi nous poser la question avec si peu d'élément ?


Je suis un peu confus. Comme je l'ai indiqué, il ne s'agit pas uniquement d'une navigation. Plusieurs bloc sont concerné. Encore une fois, ce n'est pas un problème de transformation, il s'agit simplement d'un déplacement.

Les blocs concernés change non seulement visuellement (mais ça on s'en fou), mais surtout bouge de place dans le layout.

L'idée était d'avoir un avis sur ce genre de méthode, si des personnes ont déjà eu le problème de devoir déplacer des éléments entre les device, et s'il avait le même problème "visuel" au chargement de la page.
Modifié par ILeG3nDz (06 Jan 2017 - 08:56)
S'il y a un problème de chargement, soit le script dépend d'une bibliothèque volumineuse lente à charger (ex jQuery), soit le script par lui-même est mal configuré (avec par exemple une transition déclarée par défaut sur toutes les règles). Sinon à part un problème de maintenance je ne vois pas trop.

Je ne suis pas adepte des menus dupliqués puis mis en display:none selon les devices.

Personnellement je préfère réaliser la navigation principale en CSS uniquement (ainsi, même en cas de javascript indisponible, la navigation reste toujours ready). Si l'on cherche à éviter d'éventuels télescopages entre les règles, dans un soucis de maintenance, il suffit de mettre le style dans des media queries délimitant un min-width et un max-width. Le positionnement pourra se faire en absolute si l'on y tient.
Salut Olivier,

Merci à toi pour ta réponse. Ce n'est pas un problème (à priori) de chargement de script. Néanmoins je vais voir pour utiliser un peu moins de JS (il s'agit la de JS pure, aucun chargement de lib à côté).

Merci pour ton avis ! Smiley smile