Seite mithilfe von CSS vertikal teilen

Lesezeit: 4 Minuten

Benutzer-Avatar
Maxim Gerschkowitsch

Tut mir leid, Leute, für die wirklich einfache Frage, aber ich habe versucht, ein Div nach links und eins nach rechts mit vordefinierten Breiten entlang dieser Linien zu schweben

<div style="width: 100%;">
    <div style="float:left; width: 80%">
    </div>
    <div style="float:right;">
    </div>
</div>

Obwohl dies “meistens” funktioniert, scheint es die anderen Elemente auf der Seite darunter durcheinander zu bringen.

Was ist also der richtige Grund, eine HTML-Seite mit CSS vertikal in zwei Teile zu teilen, ohne andere Elemente auf der Seite zu beeinflussen?

Benutzer-Avatar
Ashwini Agarwal

du kannst verwenden..

<div style="width: 100%;">
   <div style="float:left; width: 80%">
   </div>
   <div style="float:right;">
   </div>
</div>
<div style="clear:both"></div>

Jetzt wird das darunter liegende Element nicht beeinflusst.

  • Obwohl dies funktionieren würde, gilt es als schlechte Praxis, Elemente hinzuzufügen, deren einzige Funktion darin besteht, “Inhalte zu löschen”.

    – Tieson T.

    26. Juli 2012 um 5:00 Uhr

  • Was ist dann die beste Vorgehensweise in diesen Fällen? (Ich habe mich schon eine Weile gefragt, wie man “clearfix” divs vermeidet)

    – Attila Fulop

    5. Februar 2013 um 16:32 Uhr

  • Was ist, wenn ich eine Linie zwischen ihnen brauche? Ich kann die linke | rechte Grenze nicht verwenden, da ich nicht weiß, welche die ganze Zeit größer sein wird …

    – gcb

    23. März 2013 um 6:12 Uhr

Benutzer-Avatar
Bugräder94

Fügen Sie einfach overflow:auto; zu übergeordneten div

<div style="width: 100%;overflow:auto;">
    <div style="float:left; width: 80%">
    </div>
    <div style="float:right;">
    </div>
</div>

Arbeitsdemo

  • du hast gerade gesetzt height: 400px; auf beiden Seiten.

    – gcb

    23. März 2013 um 6:11 Uhr

  • Vielen Dank für das Arbeitsbeispiel! Aus irgendeinem Grund hat Ihres funktioniert und das Akzeptierte nicht. Ich wundere mich warum…

    – Cole Henrich

    9. April 2021 um 0:32 Uhr

Benutzer-Avatar
Herr Ausländer

Ich denke, Ihre Elemente auf der Seite sind durcheinander, weil Sie Ihre Floats nicht löschen, sehen Sie sich das an

Demo

HTML

<div class="wrap">
    <div class="floatleft"></div>
    <div class="floatright"></div>
    <div style="clear: both;"></div>
</div>

CSS

.wrap {
    width: 100%;
}

.floatleft {
    float:left; 
    width: 80%;
    background-color: #ff0000;
    height: 400px;
}

.floatright {
float: right;
    background-color: #00ff00;
    height: 400px;
    width: 20%;
}

Benutzer-Avatar
Ankur

Es kann auch eine Lösung geben, beides zu haben float zu left.

Probieren Sie das aus:

Arbeitsdemo

PS Dies ist nur eine Verbesserung von Ankits Antwort

Benutzer-Avatar
Sternenstaub

Schauen Sie sich diese Geige an:

http://jsfiddle.net/G6N5T/1574/

CSS/HTML-Code:

.wrap {
    width: 100%;
    overflow:auto;
}

.fleft {
    float:left; 
    width: 33%;
background:lightblue;
    height: 400px;
}

.fcenter{
    float:left;
    width: 33%;
    background:lightgreen;
    height:400px;
    margin-left:0.25%;
}

.fright {
float: right;
    background:pink;
    height: 400px;
    width: 33.5%;
    
}
<div class="wrap">
    <!--Updated on 10/8/2016; fixed center alignment percentage-->
    <div class="fleft">Left</div>
    <div class="fcenter">Center</div>
    <div class="fright">Right</div>
</div>

Dies verwendet das CSS float -Eigenschaft für linke, rechte und zentrierte Ausrichtung von divs auf einer Seite.

Benutzer-Avatar
Raunak Mitra

Alternativ können Sie auch eine spezielle Funktion namens verwenden linearer Gradient () Funktion, um den Browserbildschirm in zwei gleiche Hälften zu teilen. Sehen Sie sich das folgende Code-Snippet an:

body
{
  background-image:linear-gradient(90deg, lightblue 50%, skyblue 50%);
}

Hier, linearer Gradient () Die Funktion akzeptiert drei Argumente

  1. 90deg zum vertikal Teilung des Bildschirms. (In ähnlicher Weise können Sie verwenden 180deg für horizontale Bildschirmteilung)
  2. lightblue Farbe wird verwendet, um die linke Hälfte des Bildschirms darzustellen.
  3. skyblue Farbe wurde verwendet, um die rechte Hälfte des geteilten Bildschirms darzustellen. Hier, 50% verwendet wurde gleich Teilung des Browser-Bildschirms. Sie können jeden anderen Wert verwenden, wenn Sie keinen möchten gleich Teilung des Bildschirms. Hoffe das hilft. 🙂 Viel Spaß beim Programmieren!

Benutzer-Avatar
Vikas Gupta

Hier ist der Flex-Box-Ansatz:

CSS

 .parent {
  display:flex;
  height:100vh;
  }
  .child{
    flex-grow:1;
  }
  .left{
    background:#ddd;
  }
  .center{
    background:#666;
  }

  .right{
    background:#999;
  }

HTML

<div class="parent">
    <div class="child left">Left</div>
    <div class="child center">Center</div>
    <div class="child right">Right</div>
</div>

Sie können das gleiche in versuchen js Geige.

1206440cookie-checkSeite mithilfe von CSS vertikal teilen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy