J'ai un texte divisé en 4 colonnes et cela fonctionne parfaitement dans Safari. Je ne sais pas pourquoi je ne vois que 2 colonnes dans Google Chrome.
Testé avec Chrome 55.0.2883.95 (64 bits)
Toute aide serait grandement appréciée.
#people{
-webkit-column-count:4;
-moz-column-count:4;
column-count:4;
-webkit-column-gap:.5em;
-moz-column-gap:.5em;
column-gap:.5em;
padding-bottom:2px;
font-size:18px;
line-height:21px;
}
.keeptogether{
display:inline-block;
width:100%
}
<div id=people>
<div class=keeptogether>
A<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>B<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>C<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
D<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>E<br>
fhdjsklfhs<br>
<br>F<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>G<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>H<br>
fhdjsklfhs<br>
<br>I<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>J<br>
<br>K<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
L<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>M<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>N<br>
fhdjsklfhs<br>
<br>O<br>
fhdjsklfhs<br>
<br>P<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<span class=yes><br></span>
</div>
<div class=keeptogether>
Q<br>
<br>R<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>S<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>T<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>U<br>
<br>V<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>W<br>
<br>X<br>
<br>Y<br>
fhdjsklfhs<br>
<br>Z<br>
fhdjsklfhs<br>
</div>
</div>
Ajoutez display: flex;
à votre #people
dans votre css:
#people{
display: flex;
-webkit-column-count: 4; /* Chrome, Safari, Opera */
-moz-column-count: 4; /* Firefox */
column-count: 4;
-webkit-column-gap:.5em;
-moz-column-gap:.5em;
column-gap:.5em;
padding-bottom:2px;
font-size:18px;
line-height:21px;
}
.keeptogether{
display:inline-block;
width:100%;
}
<div id=people>
<div class="keeptogether">
A<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>B<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>C<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
</div>
<div class="keeptogether">
D<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>E<br>
fhdjsklfhs<br>
<br>F<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>G<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>H<br>
fhdjsklfhs<br>
<br>I<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>J<br>
<br>K<br>
fhdjsklfhs<br>
</div>
<div class="keeptogether">
L<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>M<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>N<br>
fhdjsklfhs<br>
<br>O<br>
fhdjsklfhs<br>
<br>P<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<span class="yes"><br></span>
</div>
<div class="keeptogether">
Q<br>
<br>R<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>S<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>T<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>U<br>
<br>V<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>W<br>
<br>X<br>
<br>Y<br>
fhdjsklfhs<br>
<br>Z<br>
fhdjsklfhs<br>
</div>
</div>
J'espère que ça a aidé
Remplacez display:inline-block
par display:block
.
Selon caniuse , pour le problème Chrome, vous devez ajouter -webkit-perspective:1;
sur le conteneur.
#people{
-webkit-column-count:4;
-moz-column-count:4;
column-count:4;
-webkit-column-gap:.5em;
-moz-column-gap:.5em;
column-gap:.5em;
padding-bottom:2px;
font-size:18px;
line-height:21px;
-webkit-perspective:1;
}
.keeptogether{
display:block;
width:100%
}
<div id=people>
<div class=keeptogether>
A<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>B<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>C<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
D<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>E<br>
fhdjsklfhs<br>
<br>F<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>G<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>H<br>
fhdjsklfhs<br>
<br>I<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>J<br>
<br>K<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
L<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>M<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>N<br>
fhdjsklfhs<br>
<br>O<br>
fhdjsklfhs<br>
<br>P<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<span class=yes><br></span>
</div>
<div class=keeptogether>
Q<br>
<br>R<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>S<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>T<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>U<br>
<br>V<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>W<br>
<br>X<br>
<br>Y<br>
fhdjsklfhs<br>
<br>Z<br>
fhdjsklfhs<br>
</div>
</div>
Si vous ajoutez display: flex;
à #people
ID, cela fonctionne correctement dans tous les navigateurs et vous n'avez pas besoin de display:inline-block;
pour .keeptogether
classe.
Vous pouvez vérifier l'extrait de code:
#people {
-webkit-column-count:4;
-moz-column-count:4;
column-count:4;
-webkit-column-gap:.5em;
-moz-column-gap:.5em;
column-gap:.5em;
display: flex;
padding-bottom:2px;
font-size:18px;
line-height:21px;
}
.keeptogether {
width:100%
}
<div id=people>
<div class=keeptogether>
A<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>B<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>C<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
D<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>E<br>
fhdjsklfhs<br>
<br>F<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>G<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>H<br>
fhdjsklfhs<br>
<br>I<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>J<br>
<br>K<br>
fhdjsklfhs<br>
</div>
<div class=keeptogether>
L<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>M<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>N<br>
fhdjsklfhs<br>
<br>O<br>
fhdjsklfhs<br>
<br>P<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<span class=yes><br></span>
</div>
<div class=keeptogether>
Q<br>
<br>R<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>S<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>T<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>U<br>
<br>V<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
fhdjsklfhs<br>
<br>W<br>
<br>X<br>
<br>Y<br>
fhdjsklfhs<br>
<br>Z<br>
fhdjsklfhs<br>
</div>
</div>
J'espère que ça aide.
Pourquoi avez-vous besoin de donner display: inline-block
? Le concept d'utilisation de la propriété column
consiste à diviser l'ensemble de votre contenu en colonnes de largeur égale. Donc, si vous supprimez votre inner-div, tout le contenu est correctement aligné sur un nombre donné de colonnes.
Cela fonctionne également si vous supprimez inline-block
de votre code actuel.
#people {
-webkit-column-count: 4;
-moz-column-count: 4;
column-count: 4;
-webkit-column-gap: .5em;
-moz-column-gap: .5em;
column-gap: .5em;
padding-bottom: 2px;
font-size: 18px;
line-height: 21px;
}
/* you don't need this property
.keeptogether {
display: inline-block;
width: 100%;
}
*/
<div id="people">
A<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>B<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>C<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> D
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>E<br> fhdjsklfhs
<br>
<br>F<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>G<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>H<br> fhdjsklfhs
<br>
<br>I<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>J<br>
<br>K<br> fhdjsklfhs
<br> L
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>M<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>N<br> fhdjsklfhs
<br>
<br>O<br> fhdjsklfhs
<br>
<br>P<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<span class="yes"><br></span> Q
<br>
<br>R<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>S<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>T<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>U<br>
<br>V<br> fhdjsklfhs
<br> fhdjsklfhs
<br> fhdjsklfhs
<br>
<br>W<br>
<br>X<br>
<br>Y<br> fhdjsklfhs
<br>
<br>Z<br> fhdjsklfhs
<br>
</div>
J'ai utilisé une méthode similaire pour un thème WordPress. Il semble très bien dans Firefox et affiche deux colonnes au lieu de quatre dans Chromium/Chrome pour la largeur plein écran.
Lorsque j'ai augmenté le nombre de publications par page (briques), le nombre de colonnes a augmenté pour remplir l'espace.
Chrome semble rendre trois briques ou plus avant de passer à la colonne suivante.
D'après mon expérience avec ce problème, j'ai découvert que -webkit doit venir en dernier (sinon je suppose qu'il essaie d'utiliser le non-webkit et échoue)
column-count: 2;
-moz-column-count: 2;
-webkit-column-count: 2;