J'essaye de placer deux divs côte à côte et d'utiliser le CSS suivant pour cela.
#left {
float: left;
width: 65%;
overflow: hidden;
}
#right {
overflow: hidden;
}
Le code HTML est simple, deux div gauche et droite dans un div wrapper.
<div id="wrapper">
<div id="left">Left side div</div>
<div id="right">Right side div</div>
</div>
J'ai essayé maintes fois de chercher une meilleure solution sur StackOverflow et sur d'autres sites, mais je n'ai pas trouvé l'aide exacte.
Ainsi, le code fonctionne bien à première vue. Le problème est que la div de gauche obtient le remplissage/marge automatiquement à mesure que j'augmente la largeur (%). Donc, à 65% de la largeur, la div de gauche a du rembourrage ou une marge et n’est pas parfaitement alignée sur la div de droite, j’ai essayé de remplir/margin 0 mais pas de chance. Deuxièmement, si je fais un zoom sur la page, la division droite glisse sous la division gauche, Son affichage n’est pas fluide.
Note: Je suis désolé, j'ai beaucoup cherché. Cette question a été posée à plusieurs reprises mais ces réponses ne m'aident pas. J'ai expliqué quel est le problème dans mon cas.
J'espère qu'il y a un correctif pour cela.
Je vous remercie.
EDIT: Désolé, problème HTML, il y avait deux div "box" à la fois à gauche et à droite, ils avaient un remplissage en%, donc le côté gauche a montré plus de remplissage en raison de la largeur supérieure. Désolé, le CSS ci-dessus fonctionne parfaitement, son affichage fluide et corrigé, désolé de poser la mauvaise question ...
Utiliser ce CSS pour mon site actuel. Cela fonctionne parfaitement!
#sides{
margin:0;
}
#left{
float:left;
width:75%;
overflow:hidden;
}
#right{
float:left;
width:25%;
overflow:hidden;
}
Essayez plutôt un système comme celui-ci:
HTML:
<section class="container">
<div class="one"></div>
<div class="two"></div>
</section>
CSS:
.container {
width: 80%;
height: 200px;
background: aqua;
margin: auto;
padding: 10px;
}
.one {
width: 15%;
height: 200px;
background: red;
float: left;
}
.two {
margin-left: 15%;
height: 200px;
background: black;
}
Vous ne devez faire flotter qu'un seul div si vous utilisez une marge avec marge égale à la largeur du premier div. Cela fonctionnera quel que soit le zoom et n'aura pas de problèmes de sous-pixels.
C'est facile avec une flexbox:
#wrapper {
display: flex;
}
#left {
flex: 0 0 65%;
}
#right {
flex: 1;
}
<div id="wrapper">
<div id="left">Left side div</div>
<div id="right">Right side div</div>
</div>
Voici ma réponse pour ceux qui sont googler:
CSS:
.column {
float: left;
width: 50%;
}
/* Clear floats after the columns */
.container:after {
content: "";
display: table;
clear: both;
}
Voici le code HTML:
<div class="container">
<div class="column"></div>
<div class="column"></div>
</div>