2016-04-15 16 views
0

問題を示すペンを作成しました。div間の1pxスペース

* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
body { 
 
    background-color: #fffeed; 
 
} 
 
#menu { 
 
    height: 60px; 
 
    border-bottom: 1px solid black; 
 
} 
 
#menu > div { 
 
    border-right: 1px solid black; 
 
    display: inline-block; 
 
    height: 20px; 
 
    width: 90px; 
 
    padding: 20px 0; 
 
    text-decoration: none; 
 
    text-align: center; 
 
    position: relative; 
 
} 
 
#menu > div > a { 
 
    text-decoration: none; 
 
    color: black; 
 
}
<div id="wrapper"> 
 
    <header> 
 
    <div id="menu"> 
 
     <div><a href="#">bio</a> 
 
     </div> 
 
     <div><a href="#">blog</a> 
 
     </div> 
 
     <div><a href="#">contact</a> 
 
     </div> 
 
    </div> 
 
    </header> 
 
</div>

あなたはChromeデベロッパーツールでメニューをチェックすると、すべてのdivの間の1ピクセルのギャップがあります。 私はボーダーを無効にし、マージンとパディングを0に設定しましたが、私は離れません。 私はそれを修正するためにばかげているか、私は知らない。 私はラインハイトを試しました:0px; vertical-align:top;しかし、私のために働いた人たちのほうがニー。私は大いに助けいただければ幸いです 、

ジョエル

+2

その空白http://stackoverflow.com/questions/5078239/how-to-remove -the-space-in-inline-block-elements –

答えて

0

にボーダー幅を設定してみてください

<div id="wrapper"> 
    <header> 
    <div id="menu"> 
     <div><a href="#">bio</a> 
     </div><div><a href="#">blog</a> 
     </div><div><a href="#">contact</a> 
     </div> 
    </div> 
    </header> 
</div> 

</div>

の直後に <div>が始まることに注意してください。オリジナルのマークアップで

、これらの点で</div><div>原因テキストノード間のあなたの改行やスペース - http://software.hixie.ch/utilities/js/live-dom-viewer/はあなたに何が起こっているのはかなり良いアイデアを提供します。ここではこれらのテキストノードを取り除く質問の空白を削除

enter image description here

セクションのスナップショットです。


これらのテキストノードは、(視覚的な書式設定モデルに従って - https://www.w3.org/TR/2011/REC-CSS2-20110607/visuren.html#anonymousを参照してください)匿名インラインボックスを引き起こします。これらの匿名のインラインボックスは包含ブロック(すなわち#menu)のプロパティを継承するので、#メニューのfont-sizeを0に設定する(リンクされた複製にanswerで提案されているオプションの1つ)も理論的にほとんどのブラウザで)ギャップを取り除きます(子divのフォントサイズを修正する余分なCSSを追加します)

+0

この質問を偽装として閉じてみませんか? –

+0

この種の質問が非常に頻繁に行われることを認識するのに十分な担当者がいます。あなたはあなたのデューデリジェンスをして、あなたがそれらに答える前に質問が重複していないことを確認するようにしてください。 – cimmanon

+0

重複して申し訳ありません、それを行うつもりはありませんでした。 しかし、その間のスペースが空白としてカウントされる理由を私に説明できますか? – huhnmonster

0

ちょうどあなたがあなたのマークアップを持っている空白を削除して、あなたが良いだろう0

* { 
    margin: 0px; 
    padding: 0px; 
    border-width: 0px; 
} 
関連する問題