Je veux en avoir un <div>
avec un ID avec défilement horizontal, mais le problème est qu’il doit être réactif et non avec une largeur fixe.
html, body {margin: 0; padding: 0;}
#myWorkContent{
width:530px;
height:210px;
border: 13px solid #bed5cd;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
#myWorkContent a {
display: inline-block;
vertical-align: middle;
}
#myWorkContent img {border: 0;}
<div id="myWorkContent">
<a href="assets/work/1.jpg"><img src="http://placekitten.com/200/200/" height="190"></a>
<a href="assets/work/2.jpg"><img src="http://placekitten.com/120/120/"/></a>
<a href="assets/work/3.jpg"><img src="http://placekitten.com/90/90/" height="90" width="90"></a>
<a href="assets/work/4.jpg"><img src="http://placekitten.com/50/50/" height="190"></a>
<a href="assets/work/5.jpg"><img src="http://placekitten.com/100/100/"></a>
<a href="assets/work/6.jpg"><img src="http://placekitten.com/200/200/" height="190"></a>
</div><!-- end myWorkContent -->
Merci à http://jsfiddle.net/clairesuzy/FPBWr/
Le problème est avec ce 530px. Je voudrais utiliser 100% à la place. Mais alors j'ai obtenu le défilement de la page et le défilement de la DIV va à droite, ne peut pas l'obtenir, aucune idée?
Voici un article en serbe sur la solution http://www.blog.play2web.com/index.php?id=18
Il suffit de définir votre largeur sur auto:
#myWorkContent{
width: auto;
height:210px;
border: 13px solid #bed5cd;
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
De cette façon, votre div peut être aussi large que possible afin que vous puissiez ajouter autant d'images de chat que possible; 3
La largeur de votre div se développera en fonction des éléments enfants qu'elle contient.
Ci-dessous a fonctionné pour moi.
Hauteur et largeur sont prises pour montrer que, si vous 2 enfants de ce type, il défilera horizontalement, puisque la hauteur de l'enfant est supérieure à la hauteur du parent défiler verticalement.
CSS parent:
.divParentClass {
width: 200px;
height: 100px;
overflow: scroll;
white-space: nowrap;
}
Enfants CSS:
.divChildClass {
width: 110px;
height: 200px;
display: inline-block;
}
Pour faire défiler horizontalement uniquement:
overflow-x: scroll;
overflow-y: hidden;
Pour faire défiler verticalement uniquement:
overflow-x: hidden;
overflow-y: scroll;
Assurez-vous simplement d'ajouter box-sizing:border-box;
à ton #myWorkContent
.
Je l'ai compris de cette façon:
* { padding: 0; margin: 0 }
body { height: 100%; white-space: nowrap }
html { height: 100% }
.red { background: red }
.blue { background: blue }
.yellow { background: yellow }
.header { width: 100%; height: 10%; position: fixed }
.wrapper { width: 1000%; height: 100%; background: green }
.page { width: 10%; height: 100%; float: left }
<div class="header red"></div>
<div class="wrapper">
<div class="page yellow"></div>
<div class="page blue"></div>
<div class="page yellow"></div>
<div class="page blue"></div>
<div class="page yellow"></div>
<div class="page blue"></div>
<div class="page yellow"></div>
<div class="page blue"></div>
<div class="page yellow"></div>
<div class="page blue"></div>
</div>
J'ai l'emballage à 1000% et dix pages à 10% chacune. J'ai configuré la mienne pour qu'il y ait toujours des "pages" représentant chacune 100% de la fenêtre (code couleur). Vous pouvez faire huit pages avec un wrapper à 800%. Je suppose que vous pouvez laisser de côté les couleurs et avoir sur la page continue. J'ai également mis en place un en-tête fixe, mais ce n'est pas nécessaire. J'espère que cela t'aides.