J'ai besoin de créer un style DIV contenant plusieurs autres DIV. Il est demandé que ces DIV ne s'enroulent pas si la fenêtre du navigateur est redimensionnée pour être étroite.
J'ai essayé de le faire fonctionner comme ci-dessous.
<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>
Cela fonctionne dans la plupart des cas. Cependant, dans certains cas particuliers, le rendu est incorrect. J'ai trouvé que le conteneur DIV passait à 3000px de largeur dans RTL de IE7; et cela s'avère compliqué.
Existe-t-il un autre moyen de ne pas emballer un conteneur DIV?
Réponses:
Essayez d'utiliser
white-space: nowrap;
dans le style conteneur (au lieu deoverflow: hidden;
)la source
Si je ne veux pas définir une largeur minimale parce que je ne connais pas la quantité d'éléments, la seule chose qui a fonctionné pour moi était:
Mais uniquement dans Chrome et Safari: /
la source
Ce qui suit a fonctionné pour moi sans flotter (j'ai modifié un peu votre exemple pour un effet visuel):
Les div peuvent être séparés par des espaces. Si vous ne voulez pas cela, utilisez à la
margin-right: -4px;
place demargin: 5px;
for.slide
(c'est moche mais c'est un problème délicat à résoudre ).la source
</div><!-- --><div class="slide">
si vous souhaitez supprimer les espaces supplémentaires entre eux. Le style de bloc en ligne fait que l'espace blanc dans votre code est pris comme espace dans le document HTML.</div><?php ?><div class="slide">
renders comme</div><div class="slide">
dans le code source.dot("body").div(dot.iterate(4, function(i){return dot.div("something something something something").class("slide");})).class("container")
Le combo dont vous avez besoin est
sur le parent et
sur les enfants
la source
Cela a fonctionné pour moi:
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
la source
overflow: hidden
devrait vous donner le bon comportement. Je suppose queRTL
c'est foiré parce que vous avezfloat: left
sur le pardiv
.En plus de ce bug, vous avez le bon comportement.
la source
Essayez d'utiliser
width: 3000px;
pour le cas d'IE.la source
Aucune de ces réponses n'a fonctionné pour moi.
Dans mon cas, j'avais besoin d'ajouter ce qui suit au contrôle utilisateur que j'avais créé:
la source
La
min-width
propriété ne fonctionne pas correctement dans Internet Explorer, ce qui est probablement la cause de vos problèmes.Lisez des informations et un script brillant qui corrige de nombreux problèmes CSS IE .
la source
vous pouvez utiliser
pour votre conteneur et donc éviter le
overflow: hidden;
. Il devrait faire le travail si vous l'avez utilisé uniquement à des fins de déformation.la source
la source
Utiliser
display:flex
etwhite-space:nowrap
la source
La
<span>
balise est utilisée pour regrouper des éléments en ligne dans un document.(la source)
la source