Warum werden unterschiedliche Angaben bei meinem responsiven Webdesign nicht ausgeführt?

1 Antwort

Hier wäre interessant zu wissen, wie dass dazugehörige HTML ausschaut. Unabhängig dessen scheint es so, dass du die Werte für die Breiten eher willkürlich gesetzt hast und nicht weil sie so in der Form wirklich Sinn ergeben würden.

Wie und womit überprüfst du denn, ob die Media Queries angewendet werden? Ich kann in dem CSS jetzt kein Fehler entdecken. Wobei du in diesem Fall auch gänzlich ohne Media Queries dasselbe oder ein recht ähnliches Ergebnis erreichen würdest.

min() Function:

.content {
  /* min-width: 100% - 2em, max-width: 75em */
  width: min(100% - 2em, 75em);
}

CSS Nesting, Media Queries:

.content {
  --_content-width: 90%;
  /* Variable, Calc-Function as fallback */
  width: var(--_content-width, calc(100% - 2em));
  
  /* 600px / 16 = 37.5em */
  @media(min-width: 37.5em) {
    --_content-width: 80%;
  }
  
  /* 468px / 16 = 48em */
  @media(min-width: 48em) {
    --_content-width: 60%;
  }
}
Woher ich das weiß:Berufserfahrung – UI/UX Designer, Full-Stack Developer
Visierhoch 
Fragesteller
 14.03.2024, 09:34

@medmonk

Hallo und danke für die Antwort.

Ich hatte vermutet, dass ich bei den Media Queries einen Fehler gemacht habe, da ja die Ansicht für Smartphones korrekt funktioniert. Dann wird wahrscheinlich irgendein Eintrag, bei den CSS - Anweisungen etwas überschreiben.

Also werde ich jetzt mal mit dem "auskommentieren" beginnen.

Vielen Dank nochmal.

1
medmonk  14.03.2024, 18:28
@Visierhoch

Ich habe dein CSS eins zu eins übernommen und keiner Fehler entdeckt. Was zur visuellen Kontrolle hilfreich sein kann, wenn du einfach eine sichtbare Eigenschaft festlegst. Beispielsweise das Ändern der Hintergrundfarbe.

Die „screen” Angabe kannst du eigentlich auch weglassen und nicht zwingend mit angegeben werden muss. Damit kannst du dir dann etwas Schreibarbeit sparen. Ansonsten halt ohne MQ und stattdessen mit CSS-Funktionen arbeitest.

.content {
  width: 90%;
  background-color: red;
}

@media(min-width: 600px){
  .content {
    width: 80%;
    background-color: green;
  }
}

@media(min-width: 768px){
  .content {
    width: 80%;
    background-color: blue;
  }
}

Alternativ neuer mit CSS Nesting:

.content {
  width: 90%;
  background-color: red;
  
  @media(min-width: 600px) {
    width: 80%;
    background-color: green;
  }

  @media(min-width: 768px) {
    width: 60%;
    background-color: blue;
  }
}

LG medmonk

0