28172 sujets

CSS et mise en forme, CSS3

upload/1654761944-84660-capture.jpg Bonjour, je débute dans les media queries, je ne comprend pas pourquoi mon code css @media n'est pas chargé par google chrome alors qu'il fonctionne très bien sur firefox.
Est-ce que qqn pourrais me dire d'où viens mon erreur ? Ou si il me manque un morceau de code ?
J'ai lu un poste qui disait d'ajouter un meta viewport mais cela ne fonctionne pas non plus ... ou alors j'ai pas tout compris.

Le principe est tout simple : changer les couleurs de fonds des div lorsque la fenêtre deviens carré.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document sans nom</title>
</head>

<style type="text/css">
  .Div1{
    background-color: darkred;
  }
  .Div2{
    background-color: darkblue;
  }

@media (height <= 100vw){
  .Div1{
    background-color: grey;
  }
  .Div2{
    background-color: yellow;
}
</style>

<body>
  <div class="Div1">La div Rouge deviens grise</div>
  <div class="Div2">La div Bleu deviens jaune</div>
</body>
</html>

Modifié par Luckywi (09 Jun 2022 - 10:06)
Je ne connais pas cette notation "height <= 100vw".
Habituellement ça s'écrit "@media (max-height:100px)".
Je pense que FF applique tout le temps le CSS et Chrome jamais.
Si tu voulais vérifier que tu est en mode paysage il y a "@media (orientation: landscape)"
Non, ce n'est pas lié au mode paysage, c'est pour un affichage d'encart pub. Une même page doit pouvoir s'afficher sous 3 formats différents, et je voudrais utilisé cette notion de hauteuy <= largeur pour déterminé l'affichage lorsque la pub est charger dans le format carré... et ensuite en bannière horizontale avec @media (height < 40vw)...

Il y'a peut-être un autre moyen, mais ça me paraissait évident de l'écrire comme ça.
Je ne voulais pas travaillé en px car les smartphones ont tous des taille différent. Et je trouvais plus judicieux de travaillé sur un rapport de taille hauteur / largeur.
Modifié par Luckywi (09 Jun 2022 - 10:37)
Modérateur
Salut !

Effectivement comme le dit kerlutinoec "height <= 100vw" est une nouvelle syntaxe (niveau 4) https://developer.mozilla.org/fr/docs/Web/CSS/Media_Queries/Using_media_queries#am%C3%A9liorations_syntaxiques_avec_la_sp%C3%A9cification_de_niveau_4

Et quand on va vérifier sur Can I use seul Firefox le reconnait pour le moment : https://caniuse.com/mdn-css_at-rules_media_range_syntax

La syntaxe a utiliser pour le moment est celle de kerlutinoec
max-height:100px


Bonne journée
Modifié par _laurent (09 Jun 2022 - 10:37)
Modérateur
Luckywi a écrit :
Non, ce n'est pas lié au mode paysage, c'est pour un affichage d'encart pub. Une même page doit pouvoir s'afficher sous 3 formats différents, et je voudrais utilisé cette notion de hauteuy &lt;= largeur pour déterminé l'affichage lorsque la pub est charger dans le format carré... et ensuite en bannière horizontale avec @media (height &lt; 40vw)...

Il y'a peut-être un autre moyen, mais ça me paraissait évident de l'écrire comme ça.
Je ne voulais pas travaillé en px car les smartphones ont tous des taille différent. Et je trouvais plus judicieux de travaillé sur un rapport de taille hauteur / largeur.


max-height: 100vw

marche aussi hein, il y a eu un quiproquo sur l'unité
Meilleure solution
Merci beaucoup _Laurent. je viens de tester et ça marche très bien ! j'ai bloquer là dessus toute l'après midi hier, tu me sauve !
Je ne savait pas qu'il y avait différente niveau de CSS plus ou moins bien supporté...
Modérateur
Luckywi a écrit :
Merci beaucoup _Laurent. je viens de tester et ça marche très bien ! j'ai bloquer là dessus toute l'après midi hier, tu me sauve !

C'est kerlutinoec Smiley ravi mais il y a eu un bug de compréhension entre vous haha

Luckywi a écrit :
Je ne savait pas qu'il y avait différente niveau de CSS plus ou moins bien supporté...

Le CSS évolue, on voit sans cesse apparaitre de nouvelles propriétés (et c'est cool !) mais du coup il faut le temps qu'elles soient testées, validée et prise en compte donc ca peut prendre un peu de temps. Si tu as un doute, https://caniuse.com/ est ton ami mais c'est aussi marqué sur la doc dans le tableau de compatibilité : https://developer.mozilla.org/en-US/docs/Web/CSS/@media#browser_compatibility (Range syntax from Media Queries Level 4
Experimental)

Bonne journée
Sur ton éditeur, il existe des plugins liés à caniuse : la propriété n'est alors pas de la même couleur que les autres lorsqu'elle est mal supportée.