2017-02-24 4 views
-1

私の個人的な使い方のためのCSSフレームワークを構築しようとしています。
他のプロジェクトでこの問題が以前に発生しましたが、コードを変更してこの問題を修正できました。私はあなたが行に以下のdivになるため、実行時に空白があるコードスニペットで見ることができるように、これはmarginとpaddingが0に設定されていても、div間に空白があります

html,body{ 
 
    margin:0; 
 
    padding:0; 
 
    width:100%; 
 
    height:100%; 
 
} 
 

 
*{ 
 
    box-sizing:border-box; 
 
} 
 

 
.row{ 
 
    display:block; 
 
    width:100%; 
 
    height:100%; 
 
    margin:0; 
 
    padding:0; 
 
} 
 

 
.col-sm-1,.col-md-1,.col-lg-1{ 
 
    margin:0; 
 
    padding:0; 
 
    display:inline-block; 
 
    width:4.16667%; 
 
    border:1px solid black; 
 
}
<div class="row"> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
    </div>

をなぜ起こるかわかりません。私はクロムでそれを検査しようとしましたが、空白のスペースはボディの一部として表示されます。文字通り余白がなく、パディングもありません

+0

これだけ –

+1

ソリューションは関係なく、それは 'インラインblock'または何か他のかどうかの、同じであるインラインブロックに発生しません。 – Xufox

答えて

1

問題はインラインブロック間の空白です。

<div style="display:inline-block">A</div> <!-- There is a white-space here --><div style="display:inline-block">B</div> 

(醜いが)あなたはシームレスに一緒にdivを充填することによりこれを避けることができます。これは、実際に解析されたのですかタグの間にスペースを排除

<div style="display:inline-block"></div 
><div style="display:inline-block></div> 

!これを回避する

別の方法は、しかし、エンド

+0

float:leftはそれを修正しますが、なぜ私は明確にしたいのですか?それらを新しい行に置くだけです。とにかくありがとうございます:) –

+0

すべてのフローティングコンテンツの後に、クリアで要素を設定する必要があります:両方、そうでなければ、次のコンテンツはどこかに置くことができます... – Psi

0

チャで

clear:both 

を必要とする、

float:left 

を用い

display:inline-block 

である代わりに表示するnged:ブロックと浮動小数点:左;うまく動作します。

html,body{ 
 
    margin:0; 
 
    padding:0; 
 
    width:100%; 
 
    height:100%; 
 
} 
 

 
*{ 
 
    box-sizing:border-box; 
 
} 
 

 
.row{ 
 
    display:block; 
 
    width:100%; 
 
    height:100%; 
 
    margin:0; 
 
    padding:0; 
 
} 
 

 
.col-sm-1,.col-md-1,.col-lg-1{ 
 
    margin:0; 
 
    padding:0; 
 
    display:block; 
 
    float:left; 
 
    width:4.16667%; 
 
    border:1px solid black; 
 
}
<div class="row"> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
     <div class="col-sm-1"> 
 
     </div> 
 
    </div>

関連する問題