私はいくつかのDIVをインラインブロックとして表示しています。ブラウザからそれらの間に間隔が自動的に適用されるように見えます。マージン/パディングは0に設定されています。負のマージンを使用せずにこれを修正する方法はありますか?余白のないインラインブロック?
答えて
サム、あなたが見ているスペースは実際には空白です。そのため、パディングとマージンを削除することは何もしません。私に説明させてください。
HTML
<div>
a
a
a
a
</div>
が、これはそれがレンダリングされます方法です:
a a a a
...右?あなたはこれを持っている場合
<div>
<div style="display:inline-block"></div>
<div style="display:inline-block"></div>
<div style="display:inline-block"></div>
</div>
...あなたは同じものを得るでしょう:あなたは、これは持っている場合
ので、
block [space] block [space] block
は今...この問題には多くのさまざまなソリューションがあります。私は、最も一般的なHTMLで空白をコメントアウトされたと信じて:
<div>
<div style="display:inline-block"></div><!--
--><div style="display:inline-block"></div><!--
--><div style="display:inline-block"></div>
</div>
でも、私はそれを好きではない - 私は、できるだけきれいなHTMLを維持することを好みます。私の好みの方法は、親のfont-sizeを0に設定してから、インラインブロック自体に目的のフォントサイズを戻すことです。
div {
font-size: 0; /* removes the whitespace */
}
div div {
display: inline-block;
font-size: 14px;
}
元の余白をオフセットするために、余白を使用する必要はありません。
代わりに、以下でそれらを上書きすることができます。
* { margin:0; }
か:
.div { margin:0; }
それは要素の特定だ場合。
EDIT:
問題が意図しない空白の結果である可能性が表示されます。例:
<div style="display:inline-block">
...
</div>
<div style="display:inline-block">
...
</div>
2つのディバイダの間に空白が存在するため、ブラウザは結果として空白を印刷します。これを修正するには、次のように変更する必要があります。
<div style="display:inline-block">
...
</div><div style="display:inline-block">
...
</div>
お楽しみください!
インラインブロックは、IE6は、これはそのために使用したものである
をハック元々ある:に浮かべ要素
- ので、同様同じ水平線に複数のブロック状要素を配置する 浮動しないで(例外的なケースを浮かべることができない場合)
- インラインelemenあなたたいが、お互いの横に複数のdivを持つfloatを使用してくださいあれば、そのつもりはの多くを解決するインライン要素は、パディングやマージン
を持つことができるようにするにはまだ 残りのインライン
敬具 SP
について詳細を発行
inline-blockはハックではなく、要素がテキストの一部であるかのように流れるようにします。 floatの使用に関するあなたのアドバイスは悪いです。浮動小数点の不必要な使用は保守性の問題を引き起こし、あなたのサイトが異なるスクリーン/ウィンドウサイズに反応しないことを意味し、設計が貧弱である可能性があります。 – Jake
インラインブロックにはいくつかの問題があります。ゆったりとした緩みです。フロートは理想的な解決策ではありませんが、IE6ではインラインブロックがありませんので、私はなぜフォールバックとして浮動するのでしょうか。 –
私はあなたがそのスペースを削除するためにdisplay: inline-block
とfloat: left
の両方を使用することができます方法は私のために親コンテナの作品に単語の間隔を変更することhttps://jsfiddle.net/1ex5gpo3/2/
.parent {
word-spacing: -1em;
}
.child {
word-spacing: normal;
display: inline-block;
}
を発見した別の方法を反対したら、コメントしてください。
ここにplunkr:https://plnkr.co/edit/Sn3NG77asiXO8UrrpxWD?p=preview
- 1. 余白と余白ではない不明なスペース
- 2. 予期しない画像リンク内の余白/余白
- 3. ボタンがパッド内の余白や余白に反応しない
- 4. CSSをインラインブロック空白
- 5. dompdf:A4ページの白い余白
- 6. ボタンの余白 - 左余白左の画像の左余白
- 7. インラインブロック要素間の空白
- 8. HTMLページの余分な余白のソース?
- 9. クロム開発ツールの余分な余白
- 10. intellijのアイデアディストリップフリーモードの左余白または右余白なし
- 11. サファリ:フレックスボックスと余分な余白
- 12. 余白のない描画マップR
- 13. グラデーションの背景に白い余白IOS
- 14. リストビューの余白
- 15. 余分な空白行
- 16. DefaultPageSettings.Margins余白を追加しない
- 17. html5 css余分な白いスペース右端
- 18. 内側の要素に余白と余白が付いているスティッキーフッタ(Ryan Fait)
- 19. 画面の端まで伸びる画像の余白(余白なし)
- 20. 余白:要素
- 21. 余白ボックスプロットMatplotlib
- 22. 余白の削除
- 23. パディングのマージン、余白
- 24. ボーダーボックスのパーセントパディング/余白
- 25. テーブルビューセルの左余白
- 26. インラインコンテナの余白は余白になりません。どうして?
- 27. インラインリストの余白または余白の使用
- 28. 余白が0に設定されている場合、余白が空白になる
- 29. IEとCHROMEのフッタの下にある不思議な余白/余白、FirefoxはいいCSSです。
- 30. ダイアログの右余白と左余白を追加する方法
+1 - どちらも良い解決策です。 – Wex