2017-09-28 8 views
0

私はCSSグリッド仕様でいくつかのテストを行っていますが、私の最初のテストで問題が発生しています。私は、3列の中心グリッドを作成し、グリッド内のdivを列の幅を埋めるようにしたいと考えました。これは動作しますが、私は右を参照してください。1pxのマージンを期待していなかった。3列の中央にCSSグリッドがあり、右側に1ピクセルのマージンがあります

enter image description here

.wrapper { 
 
    max-width: 400px; 
 
    margin: 0 auto; 
 
    background-color: red; 
 
} 
 

 
.grid { 
 
    display: grid; 
 
    grid-template-columns: 1fr 1fr 1fr; 
 
} 
 

 
.cell { 
 
    background-color: grey; 
 
}
<div class="wrapper"> 
 
    <div class="grid"> 
 
    <div class="cell">a</div> 
 
    <div class="cell">b</div> 
 
    <div class="cell">c</div> 
 
    </div> 
 
</div>

私は、これは割合丸めの問題に関係しています期待しています。ブラウザを拡大縮小すると、余白が消えることがあります。

フレックスボックスでこれを修正して細胞を成長させることができますが、私はむしろcss-gridでこれを処理する方法を知っています。

答えて

0

これは数学であり、修正できませんでした。たとえば、あなたは100 3に分けた場合、あなたは、あなたが

grid-template-columns: repeat(3, 1fr); 

代わりの

grid-template-columns: 1fr, 1fr, 1fr; 
使用することができところで33.33333333333333のようなもの..........

を取得します

+0

私は丸めの問題を認識していますが、グリッドの「線」を考慮すると、最後の行が親コンテナの端にあり、エッジに右端を塗りつぶすことが考えられます。それだけでなく、Firefoxも完璧に表現します。 – brspnnng

+0

あなたはあまりにも多くの知性をCSSから求めます。あなたが400ピクセルのdivを持っていて、それを3ピクセル完全な分数に分割することを頼むなら、それは不可能です。必要な場合は、親のdivの幅を小さくする必要があります(マイケルが示唆したように)。 –

+0

ええ、誰かが私の特定の問題を指摘するこの記事に私を指摘しました。 https://www.smashingmagazine.com/2017/09/css-grid-gotchas-stumbling-blocks/#im-having-trouble-with-my-percentages – brspnnng

関連する問題