Isu dan cabaran dengan menjajarkan imej dalam Flexbox
P粉068510991
P粉068510991 2024-02-26 00:26:26
0
2
423

Saya telah mengusahakan halaman utama yang saya bangunkan baru-baru ini dan mengalami sedikit kesukaran untuk menjajarkan item saya dalam kotak fleksibel. Kotak flex pertama hendaklah mengandungi tiga (3) imej dan semua imej hendaklah dalam garisan menegak di bawah satu sama lain.

Ini juga penting untuk flexbox kedua saya.

Ini kod saya:

.flexcontainer-1 {
  display: flex;
  justify-content: flex-start;
  align-items: left;
  height: auto;
  width: auto;
}

.flexcontainer-2 {
  display: flex;
  justify-content: flex-end;
  align-items: right;
  height: auto;
  width: auto;
}
<div class="flexcontainer-1">
  <!-- Übersicht über alle Immobilien mit entsprechenden Bildern -->
  <h4>Unsere Immobilien</h4>
  <!-- Weiterleitung über Anchor innerhalb des Images zu Einzelbeschreibung, -->
  <!-- Übergabe der ID aus Datenbank in den Anchor -->
  <p>
    <a href="db_immobilien_desc_b.php?id=2">
      <img src="../images/haus2.jpg" alt="Beschreibung Haus2"></a>
  </p>
  <p>
    <a href="db_immobilien_desc_b.php?id=3">
      <img src="../images/haus3.jpg" alt="Beschreibung Haus3"></a>
  </p>
  <p>
    <a href="db_immobilien_desc_b.php?id=4">
      <img src="../images/haus4.jpg" alt="Beschreibung Haus4"></a>
  </p>
</div>
<div class="flexcontainer-2">
  <p>
    <a href="db_immobilien_desc_b.php?id=5">
      <img src="../images/haus5.jpg" alt="Beschreibung Haus5"></a>
  </p>
  <p>
    <a href="db_immobilien_desc_b.php?id=6">
      <img src="../images/haus6.jpg" alt="Beschreibung Haus6"></a>
  </p>
  <p>
    <a href="db_immobilien_desc_b.php?id=7">
      <img src="../images/haus7.jpg" alt="Beschreibung Haus6"></a>
  </p>
</div>

Ia sentiasa mewujudkan jurang dalam penjajaran kedua imej, malangnya saya tidak menemui penyelesaian untuk masalah ini.

Saya amat menghargai sebarang petua atau cadangan dan cara untuk menambah baik pengekodan saya.

Terima kasih banyak-banyak terlebih dahulu.

Salam hormat,

Lukas

Saya cuba menggunakan atribut justifiy-contentalign-items tetapi itu tidak berkesan untuk saya.

P粉068510991
P粉068510991

membalas semua(2)
P粉795311321

Terdapat pelbagai cara untuk melaksanakan reka letak ini, grid CSS, Flexbox dan reka letak berbilang lajur semuanya berfungsi (dengan cara yang berbeza).

Perkara pertama yang saya cadangkan ialah mengubah suai HTML. Secara semantik, anda nampaknya menunjukkan senarai sifat, yang dengan serta-merta mencadangkan bahawa senarai harus digunakan (sama ada tersusun atau tidak tertib); <figure>

Dengan semakan ini, setelah dibungkus dengan

...), HTML di atas mungkin menjadi seperti ini: <main> 标记(或 <section><article>

Unsere Immobilien

  • Beschreibung Haus2
    PlaceKitten image: 1
  • Beschreibung Haus3
    PlaceKitten image: 2
  • Beschreibung Haus4
    PlaceKitten image: 3
  • Beschreibung Haus5
    PlaceKitten image: 4
  • Beschreibung Haus6
    PlaceKitten image: 5
  • Beschreibung Haus6
    PlaceKitten image: 6
Gunakannya dengan reka letak berbilang lajur dan tambahkan ulasan penjelasan dalam CSS:

/* CSS custom properties used to provide common theming
   to multiple elements: */
:root {
  --commonSpacing: 1em;
}

/* a simple CSS reset to remove default margins,
   and padding; ensuring all browsers use the
   same sizing algorithm for content, and also
   applying the same font-size and font-family: */
*,
 ::before,
 ::after {
  box-sizing: border-box;
  font-family: system-ui;
  font-size: 16px;
  margin: 0;
  padding: 0;
}

/* to emphasise the heading: */
h4 {
  font-size: 1.8em;
  margin-block: calc(0.5 * var(--commonSpacing));
  text-align: center;
}

main {
  /* setting the size of the inline axis (width, in English and
     Latin languages) to 80 viewport width units, with a minimum
     size of 30 root-em units, and a maximum size of 1300 pixels: */
  inline-size: clamp(30rem, 80vw, 1300px);
  /* centering the element on the inline axis: */
  margin-inline: auto;
}

ul {
  /* using multi-column layout,
     ensuring two columns: */
  column-count: 2;
  /* removing default list-markers: */
  list-style-type: none;
  /* centering the 
elements within the
  • : */ text-align: center; } li { /* ensuring that the
  • doesn't have its contents spread over columns, leaving unsightly orphans at the end, or beginning, of a column: */ break-inside: avoid; /* spacing the elements out: */ margin-block-end: var(--commonSpacing); }
  • Unsere Immobilien

    • Beschreibung Haus2
      PlaceKitten image: 1
    • Beschreibung Haus3
      PlaceKitten image: 2
    • Beschreibung Haus4
      PlaceKitten image: 3
    • Beschreibung Haus5
      PlaceKitten image: 4
    • Beschreibung Haus6
      PlaceKitten image: 5
    • Beschreibung Haus6
      PlaceKitten image: 6

    Demo JS Fiddle.

    Ini juga boleh dilakukan menggunakan grid CSS, walaupun nombor dengan grid akan mengalir dari kiri ke kanan dan kemudian dari atas ke bawah:

    /* CSS custom properties used to provide common theming
       to multiple elements: */
    :root {
      --commonSpacing: 1em;
    }
    
    
    /* a simple CSS reset to remove default margins,
       and padding; ensuring all browsers use the
       same sizing algorithm for content, and also
       applying the same font-size and font-family: */
    *,
    ::before,
    ::after {
      box-sizing: border-box;
      font-family: system-ui;
      font-size: 16px;
      margin: 0;
      padding: 0;
    }
    
    main {
      /* setting the size of the inline axis (width, in English and
         Latin languages) to 80 viewport width units, with a minimum
         size of 30 root-em units, and a maximum size of 1300 pixels: */
      inline-size: clamp(30rem, 80vw, 1300px);
      /* centering the element on the inline axis: */
      margin-inline: auto;
    }
    
    
    /* to emphasise the heading: */
    h4 {
      font-size: 1.8em;
      margin-block: calc(0.5 * var(--commonSpacing));
      text-align: center;
    }
    
    ul {
      /* using grid layout: */
      display: grid;
      /* spacing adjacent elements: */
      gap: var(--commonSpacing);
      /* defining two columns, each taking one fraction of
         the available space:*/
      grid-template-columns: repeat(2, 1fr);
      list-style-type: none;
      text-align: center;
    }

    Unsere Immobilien

    • Beschreibung Haus2
      PlaceKitten image: 1
    • Beschreibung Haus3
      PlaceKitten image: 2
    • Beschreibung Haus4
      PlaceKitten image: 3
    • Beschreibung Haus5
      PlaceKitten image: 4
    • Beschreibung Haus6
      PlaceKitten image: 5
    • Beschreibung Haus6
      PlaceKitten image: 6

    Demo JS Fiddle.

    Selain itu, gunakan susun atur yang fleksibel:

    /* CSS custom properties used to provide common theming
       to multiple elements: */
    :root {
      --commonSpacing: 1em;
    }
    
    
    /* a simple CSS reset to remove default margins,
       and padding; ensuring all browsers use the
       same sizing algorithm for content, and also
       applying the same font-size and font-family: */
    *,
    ::before,
    ::after {
      box-sizing: border-box;
      font-family: system-ui;
      font-size: 16px;
      margin: 0;
      padding: 0;
    }
    
    main {
      /* setting the size of the inline axis (width, in English and
         Latin languages) to 80 viewport width units, with a minimum
         size of 30 root-em units, and a maximum size of 1300 pixels: */
      inline-size: clamp(30rem, 80vw, 1300px);
      /* centering the element on the inline axis: */
      margin-inline: auto;
    }
    
    
    /* to emphasise the heading: */
    h4 {
      font-size: 1.8em;
      margin-block: calc(0.5 * var(--commonSpacing));
      text-align: center;
    }
    
    ul {
      /* using flexbox layout:  */
      display: flex;
      /* shorthand for:
        flex-direction: row;
        flex-wrap: wrap; */
      flex-flow: row wrap;
      /* setting a gap between adjacent elements: */
      gap: var(--commonSpacing);
      /* removing default list-markers: */
      list-style-type: none;
    }
    
    li {
      /* allowomg the 
  • to expand to take up more room: */ flex-grow: 1; /* setting the size of the element to be 45% of that of the parent; flex-basis always refers to the inline-axis of flex-items, which can be modified by updating the flex-direction of the parent: */ flex-basis: 45%; /* centering the content within the
  • : */ text-align: center; }
  • Unsere Immobilien

    • Beschreibung Haus2
      PlaceKitten image: 1
    • Beschreibung Haus3
      PlaceKitten image: 2
    • Beschreibung Haus4
      PlaceKitten image: 3
    • Beschreibung Haus5
      PlaceKitten image: 4
    • Beschreibung Haus6
      PlaceKitten image: 5
    • Beschreibung Haus6
      PlaceKitten image: 6
    P粉347804896

    Anda nampaknya menggunakan h4 dalam bekas pertama.

    Dapatkan elemen ini daripada flexcontainer-1.

    Untuk mencapai hasil yang diinginkan, anda harus melakukan ini

    .container {
      display: flex;
      gap:10px;
    }
    
    .item {
      height: 50px;
      width: 100px;
      background-color: blue
    }
    
    .box {
      display: flex;
      flex-direction: column;
      gap: 10px
    }
    House 1
    House 2
    House 3
    House 4
    House 5
    House 6
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan