Comment obtenir des DIVs Flottantes à l'intérieur de largeur fixe DIV continuer à l'horizontale?
J'ai un DIV conteneur avec une fixe en hauteur et en largeur (275x1000px). Dans cette DIV, je veux mettre plusieurs DIVs flottantes chacun avec une largeur de 300px, et horizontal (axe des x) barre de défilement apparaît pour permettre à l'utilisateur de faire défiler à gauche et à droite pour afficher tout le contenu.
C'est mon CSS pour l'instant:
div#container {
height: 275px;
width: 1000px;
overflow-x: auto;
overflow-y: hidden;
max-height: 275px;
}
div#container div.block {
float: left;
margin: 3px 90px 0 3px;
}
Le problème est que les DIVs flottantes ne va pas continuer au-delà de la largeur du conteneur. Après avoir mis trois de la DIV flottante est qu'ils vont continuer sur la sous. Si je change d'overflow-y pour auto, puis la barre de défilement verticale s'affiche et je peux faire défiler vers le bas.
Comment puis-je changer cela pour faire les DIVs flottantes continuer sans passer les uns en dessous des autres?
Vous devez vous connecter pour publier un commentaire.
Le truc c'est que seuls les éléments qui se comportent comme inline par défaut va se comporter correctement lorsque la valeur inline-block dans Internet Explorer, de sorte que l'intérieur des conteneurs doivent être <span> au lieu de <div>.
CSS:
HTML:
L'astuce ici est le "white-space: nowrap" la propriété de la société mère qui dit simplement tous les éléments enfants de continuer à l'horizontale et le "display: inline-block" de la propriété de ses enfants. Vous n'avez pas besoin d'ajouter de tout autre bien pour faire ce travail.
JS Fiddle: http://jsfiddle.net/2c4jfetf/
Vous avez besoin d'un supplément de div avec une grande largeur pour contenir les blocs, puis elles s'étendent plus large que le div conteneur et de ne pas tomber sur une nouvelle ligne.
Le code HTML:
Le CSS:
Envelopper votre flottait divs dans un autre div avec la plus grande largeur.
La table de la solution devrait fonctionner très bien.
Si vous ne voulez pas utiliser des tableaux, vous pouvez aussi mettre tous .bloc divs dans un autre div à l'intérieur de la #container et de donner cet "entre-deux-div" fixe est calculé de la largeur à l'aide de javascript après le chargement de la page.
Bien sûr, si vous savez déjà comment beaucoup d' .les blocs que vous avez /si le nombre est fixe, vous pouvez donner de l'entre-deux-div" une largeur fixe à l'aide de css.
On dirait que vous vous faites de la galerie avec des div à l'?
Quels sont exactement vous à l'aide des divs pour?
Il peut être plus facile d'utiliser une ul/li avec s'étend à l'intérieur de la batterie au lithium pour obtenir le même effet sans les maux de tête de divs flottantes.
Utilisation:
Ou ajouter une compensation div ci-dessous les trois divs avec le style:
Mettre les divs vous voulez faire défiler dans un tableau comme suit:
Edit:
J'ai essayé 3 de ces solutions - ils tous fonctionnent très bien dans Google Chrome), mais le premier (container1) ne fonctionne pas sous IE (allez comprendre) - de sorte que la DURÉE de solution obtient mon vote 🙂 :
Edit 2:
J'ai couru cette page de test par le biais de browsershots.org pour voir comment les différents navigateurs gérer.
Conclusion: la compatibilité du Navigateur suce. 🙂
http://browsershots.org/http://dot-dash-dot.com/files/test_div2.htm
La table solution travaillé le plus souvent - mais la durée de l'option (qui est plus propre) seulement cassé sur les navigateurs, je n'ai jamais entendu parler. 🙂
Mon Ex:
div width: 850px
gridview
templatedcolumn
ItemTemplate
fin ItemTemplate
fin templatedcolumn
fin gridview
fin div
le bouton a gauche du milieu(réel) bouton de droite qui s'étend sur lequel ce n'est pas flottante, comme il n'y avait div extérieure avec une largeur fixe.
J'ai dû utiliser un autre div avec une largeur de 140px à l'extérieur du bouton , à l'intérieur de l'itemtemplate puis il a travaillé.
Espérons que cette aide!!!
Merci
Harish