Ich muss einen Container-DIV-Stil erstellen, der mehrere andere DIVs enthält. Es wird darum gebeten, dass diese DIVs nicht umbrochen werden, wenn die Größe des Browserfensters auf eine enge Größe geändert wird.
Ich habe versucht, es wie unten zu machen.
<style>
.container
{
min-width: 3000px;
overflow: hidden;
}
.slide
{
float: left;
}
</style>
<div class="container">
<div class="slide">something</div>
<div class="slide">something</div>
<div class="slide">something</div>
<div class="slide">something</div>
</div>
Dies funktioniert in den meisten Fällen. In einigen besonderen Fällen ist das Rendern jedoch falsch. Ich habe festgestellt, dass der Container DIV in RTL von IE7 auf 3000px Breite geändert wurde. und es wird unordentlich.
Gibt es eine andere Möglichkeit, einen Container DIV nicht zu verpacken?
Antworten:
Versuchen Sie es
white-space: nowrap;
im Container-Stil (anstelle vonoverflow: hidden;
)quelle
Wenn ich keine minimale Breite definieren möchte, weil ich die Anzahl der Elemente nicht kenne, hat mir nur Folgendes geholfen:
Aber nur in Chrome und Safari: /
quelle
Folgendes hat bei mir ohne Schweben funktioniert (ich habe Ihr Beispiel ein wenig geändert, um einen visuellen Effekt zu erzielen):
Die Divs können durch Leerzeichen getrennt sein. Wenn Sie dies nicht möchten, verwenden Sie
margin-right: -4px;
stattmargin: 5px;
für.slide
(es ist hässlich, aber es ist ein schwieriges Problem, damit umzugehen ).quelle
</div><!-- --><div class="slide">
wenn Sie die zusätzlichen Leerzeichen zwischen ihnen entfernen möchten. Der Inline-Block-Stil bewirkt, dass der Leerraum in Ihrem Code als Leerzeichen im HTML-Dokument aufgenommen wird.</div><?php ?><div class="slide">
Renderings wie</div><div class="slide">
im Quellcode.dot("body").div(dot.iterate(4, function(i){return dot.div("something something something something").class("slide");})).class("container")
Die Combo, die Sie brauchen, ist
auf die Eltern und
auf die Kinder
quelle
Das hat bei mir funktioniert:
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
quelle
overflow: hidden
sollte Ihnen das richtige Verhalten geben. Meine Vermutung ist, dassRTL
das durcheinander ist, weil Siefloat: left
auf dem eingekapseltendiv
s haben.Neben diesem Fehler haben Sie das richtige Verhalten.
quelle
Versuchen Sie,
width: 3000px;
für den Fall von IE zu verwenden.quelle
Keines der oben genannten hat bei mir funktioniert.
In meinem Fall musste ich dem von mir erstellten Benutzersteuerelement Folgendes hinzufügen:
quelle
Die
min-width
Eigenschaft funktioniert in Internet Explorer nicht ordnungsgemäß. Dies ist höchstwahrscheinlich die Ursache für Ihre Probleme.Lesen Sie Informationen und ein brillantes Skript, das viele IE-CSS-Probleme behebt .
quelle
Sie können verwenden
für Ihren Container und vermeiden Sie deshalb die
overflow: hidden;
. Es sollte den Job machen, wenn Sie es nur zum Verzerren verwendet haben.quelle
quelle
Verwenden Sie
display:flex
undwhite-space:nowrap
quelle
Das
<span>
Tag wird verwendet, um Inline-Elemente in einem Dokument zu gruppieren.(Quelle)
quelle