2017-05-08 6 views
0

はその問題について、次の例を想像:なぜ100%幅がCSS箱のモデルで100%でないのですか?

HTML:

<div id="wrapper"> 
    <div class="col">col1</div> 
    <div class="col">col2</div> 
    <div class="col">col3</div> 
    <div class="col">col4</div> 
</div> 

はCSS:

body, html { 
    margin: 0; 
    padding: 0; 
} 

#wrapper { 
    margin: 0; 
    padding: 0; 
} 

.col { 
    width: 25%; 
    display: inline-block; 
} 

をこれらの内側のdiv要素は、すべて同じ行にする必要がありますが、そうではありません。私は4 * 25%= 100%という意味ですか?それに

Codepenは:https://codepen.io/anon/pen/qmpWQO

+0

'表示:インラインブロック;'これはあなたの理由 – Martin

+0

ここでこれについての詳細を読んでいますhttp://stackoverflow.com/questions/5078239/how-to-remove-the- space-between-inline-block-elements –

答えて

4

これは、あなたのHTMLでの空白や改行です。

body, html { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
#wrapper { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 

 
.col { 
 
    width: 25%; 
 
    display: inline-block; 
 
}
<div id="wrapper"><div class="col">col1</div><div class="col">col2</div><div class="col">col3</div><div class="col">col4</div></div>

+0

修正してください!しかしレンダリングされていない間にこれが幅に影響するのはなぜですか? –

+0

たとえば、空白はインラインで、幅もあります。ブラウザは単語間の通常のスペースのようにこれらのスペースを処理します。したがって、計算された幅は100%を超えています。 – Huelfe

+0

大変ありがとうございます!私が知っているのは初めてです。奇妙なことに、 –

関連する問題