テキストを4列に分割しましたが、Safariで完全に機能します。GoogleChromeで2列しか表示されないのはなぜですか。
Chrome 55.0.2883.95(64-bit)でテスト済み
どんな助けでも大歓迎です。
#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>
追加 display: flex;
から#people
CSSのID:
#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>
それが役に立てば幸い
display:inline-block
をdisplay:block
に置き換えます。
caniuse によると、Chrome問題については、コンテナに-webkit-perspective:1;
を追加する必要があります。
#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>
display: flex;
を#people
IDに追加すると、すべてのブラウザで正常に機能し、display:inline-block;
クラスに.keeptogether
を使用する必要がなくなります。
あなたはコードスニペットを確認することができます:
#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>
お役に立てば幸いです。
私はWordPressテーマに同様の方法を使用しました。Firefoxでかなり見栄えがよく、全画面幅のChromium/Chromeで4つの代わりに2つの列を表示します。
ページ(レンガ)あたりの投稿数を増やすと、スペースを埋めるために列の数が増えます。
Chromeでは、次のコラムに進む前に3つ以上のレンガをレンダリングしているようです。
なぜdisplay: inline-block
を与える必要があるのですか? column
プロパティを使用する概念は、指定されたコンテンツ全体を同じ幅の列に分割することです。したがって、inner-divを削除すると、すべてのコンテンツが指定された数の列に適切に配置されます。
これは、現在のコードからinline-block
を削除した場合にも機能します。
#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>
Chrome 80.0でこの問題が発生した後、解決策は質問へのコメントからでした:
.childbrick {
break-inside: avoid-column;
}
これにより、Chromeでの列の奇妙な欠落と、display:inline-block;
を使用しない場合に発生する列分割の両方が修正されました。
コメント はこの回避策のFirefoxの問題を参照していますが、Firefoxバージョン73ではそのような問題は見つかりませんでした。
この問題に関する私の経験から、私は-webkitが最後に来る必要があることを発見しました(そうでなければ、それは非Webkitを使用しようとして失敗すると思います)
column-count: 2;
-moz-column-count: 2;
-webkit-column-count: 2;