Lösung für die Ineffektivität der flexiblen Layoutbreite in CSS3

Lösung für die Ineffektivität der flexiblen Layoutbreite in CSS3

In Projekten wird häufig das zweispaltige Layout verwendet. Es gibt viele Möglichkeiten, diesen Effekt zu erzielen.

Bildbeschreibung hier einfügen

Am bequemsten ist jedoch Flex. Legen Sie display:flex für das äußere übergeordnete Element fest und legen Sie dann die Breite des anzupassenden untergeordneten Elements fest.
Dies kann durch flex-grow:1; und ein weiteres mit der Einstellung einer festen Breite erreicht werden, eines ist fest und das andere ist adaptiv.

Der spezifische Code lautet wie folgt:

<!DOCTYPE html>
<html lang="de">
<Kopf>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=Gerätebreite, Anfangsmaßstab=1.0">
  <title>Flex-Breite wird nicht wirksam</title>
</Kopf>
<Text>
  <Stil>
    /* Stil zurücksetzen */
    * {
      Rand: 0px;
      Polsterung: 0px;
    }
    /* Stelle die Anzeige der äußeren Ebene auf Flex ein */
    .Kasten {
      Anzeige: Flex;
      Höhe: 100px;
      Breite: 100 %;
    }
    /* Linke Seite adaptiv*/
    .box .links {
      Flex-Wachstum: 1;
      Hintergrund: rot;
    }
    /* Rechte Seite repariert */
    .box .rechts {
      Breite: 200px;
      Hintergrund: gelb;
    }
  </Stil>
  <!-- Äußerer Kasten -->
  <div Klasse="Box">
    <!-- Links -->
    <div Klasse="links"></div>
    <!-- Rechte Seite -->
    <div Klasse="rechts"></div>
  </div>
</body>
</html>

Das Ergebnis der Ausführung dieses Codes ist wie im Screenshot oben dargestellt, aber dieser Code hat einen kleinen Fehler. Das heißt, wenn sich auf der linken Seite (der adaptiven Seite) Inhalt befindet und die Breite des Inhalts die Breite der linken Seite überschreitet, wird die rechte Seite (feste Breite) kleiner gequetscht und Sie werden feststellen, dass die von Ihnen angegebene feste Breite (200px im Beispiel) nicht wirksam ist oder eine Bildlaufleiste angezeigt wird.
Wir fügen links etwas Inhalt hinzu und lassen ihn über die Breite hinausgehen.

   /*Überschreitung des Inhaltsstils */
    .box .links .inhalt {
      Breite: 1000px;
    }
  <!-- Links -->
    <div Klasse="links">
      <!-- Überschüssiger Inhalt -->
      <div Klasse="Inhalt"></div>
    </div>

Laufergebnisse:

Bildbeschreibung hier einfügen

Der Inhalt überschreitet das Limit und eine Bildlaufleiste wird angezeigt. Dieses Problem lässt sich leicht lösen. Fügen Sie einfach links das versteckte Overflow-Attribut hinzu.

  /* Linke Seite adaptiv*/
    .box .links {
      Flex-Wachstum: 1;
      Hintergrund: rot;
      Überlauf: versteckt;
    } 

Bildbeschreibung hier einfügen

Aber das Problem tritt erneut auf. Es erscheint zwar auf der rechten Seite, aber seine Breite wird kleiner und beträgt weniger als 200.
Dieses Problem ist eigentlich ganz einfach. Fügen Sie einfach min-width:200px; zum Div auf der rechten Seite hinzu und es ist perfekt.

/* Rechte Seite repariert */
    .box .rechts {
      Breite: 200px;
      Mindestbreite: 200px;
      Hintergrund: gelb;
    } 

Bildbeschreibung hier einfügen

Auf diese Weise ist die Kompatibilität unabhängig davon gewährleistet, welchen Bildschirm Sie verwenden und wie Sie Drag & Drop verwenden. . .

Dies ist das Ende dieses Artikels zur Lösung des Problems, dass die Flex-Layoutbreite in CSS3 nicht wirksam wird. Weitere Informationen zur nicht wirksamen Flex-Layoutbreite finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Detaillierte Erklärung zur Synchronisierung von Daten von MySQL mit Elasticsearch

>>:  Der Browser speichert die relevanten HTTP-Header im Cache, um die Anzahl der HTTP-Anfragen zu minimieren

Artikel empfehlen

Wie besteht man die W3C-Validierung?

Neben der Festlegung von Vorschriften für verschi...

So implementieren Sie die Seiten-Screenshot-Funktion in JS

„Seiten-Screenshot“ ist eine Anforderung, die häu...

Docker installiert und führt den RabbitMQ-Beispielcode aus

Ziehen Sie das Bild: [mall@VM_0_7_centos ~]$ sudo...

Detaillierte Erklärung der dynamischen Angular-Komponenten

Inhaltsverzeichnis Anwendungsszenarien So erreich...

JavaScript – Verwenden von Slots in Vue: Slot

Inhaltsverzeichnis Verwenden von Slots in Vue: Sl...

So implementieren Sie eine geplante Sicherung der CentOS MySQL-Datenbank

Das folgende Skript wird für die geplante Sicheru...

Virtueller vsftpd-Benutzer basierend auf MySql-Authentifizierung

Inhaltsverzeichnis 1. MySQL-Installation 1.2 Tabe...

So ändern Sie das Anfangskennwort eines Benutzers in mysql5.7

Wenn Benutzer MySQL-Datenbanken zum ersten Mal in...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...

Node-Skript realisiert automatische Anmelde- und Lotteriefunktion

Inhaltsverzeichnis 1. Einleitung 2. Vorbereitung ...

Detaillierte Erklärung des Prinzips der Docker-Image-Schichtung

Basisbild Das Basisbild hat zwei Bedeutungen: Ist...