Div Box ragt über Rand hinaus?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

1) Das figcaption-Element heißt so, weil es eine Beschriftung zu einem figure-Element liefert. Nicht zu einem Link.

Also:

<a href="#schuh">
  <figure class="produkt">
    <!-- div with img ... -->
    <figcaption class="beschreibung">
      <!-- .... -->
    </figcaption>
  </figure>
</a>

Folgendermaßen ändert sich auch dieser Selektor:

 .produkt a {
  display: flex;
}

zu:

.produkt {
  display: flex;
}

Wenn das Bild erst bei kleineren Auflösungen über dem Text stehen soll, dann füge diesen Selektor nur in einem entsprechenden Media-Query ein. Bei dir wäre es der erste:

@media screen and (min-width: 751px) {

2) Die Properties height und width würde ich aus dem .produkt-Selektor entfernen. Sie sorgen sonst dafür, dass die Texte über die Box laufen, wenn nicht mehr genügend Platz für sie vorhanden ist.

Thoss 
Fragesteller
 02.07.2021, 12:13

Hallo, und danke für deine Hilfe. Im html stimmt jetzt alles, aber im CSS habe ich noch einen Fehler. Irgendwie steht der Text immer noch neben dem Bild wenn das Browserfenster kleiner als 750px ist, aber wenn das Fenster größer ist, dann ist es darunter. Könntest du dir das nochmal anschauen? Danke! Hier ist mein Code:

  @media screen and (min-width: 751px){
    #produkte {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        flex-direction: column;
    }
    .produkt {
        max-width: 700px;
    }
}
  
    .produkt {
        border: solid #e4e4e4;
        background-color: white;
        padding: 10px;
        margin: 20px;
        text-align: left;
    }
    .produkt img {
        width: 180px;
        padding: 15px;
    }
    a {
        font-size: x-large;
        color:#3f79e6;
        display: flex;
        text-decoration: none;
    }

    @media screen and (max-width: 750px){
      #produkte {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        flex-direction: column;
        flex-wrap: wrap;
      }
      .produkt  {
          display: flex;
      }
    }
0
regex9  02.07.2021, 12:58
@Thoss

Im untersten Media Query fliegt .produkt raus. Sein display-Property gehört dafür in den obersten Media Query.

0

Du nutzt doch eh schon Media Queries im CSS.
Einfach für kleinere Screens die feste Breite von 700px rausnehmen. Und ggfs. das Bild dann floaten lassen.

Woher ich das weiß:Berufserfahrung – Entwicklung von Apps und Websites