固定幅の div 要素内に、高さ固定の inline-block 要素を多数配置します。
兄弟となる要素の間には、一定の余白を入れたいと考えますが親要素である div 要素の外枠との間には余白を入れたくありません。このような場合、どのようにするのが最もスマートでしょうか?
(追記: 右側の余白は可変ですが、最小値は 0 になるようにしたいです。)
ただし、inline-block 要素の幅と個数は不定であり複数行にわたる場合もあります。
CSS
1div { width: 800px; text-align: left;} 2a { 3 display: inline-block; 4 margin:0 1rem 0;/*これだと外枠との間に余白ができてしまう*/ 5}
html
1<div> 2 <a href="a.png">a.png</a> 3 <a href="ab.png">ab.png</a> 4 <a href="abc.png">abc.png</a> 5 ....... 6</div>
いただいた回答をもとに、実装してみました。
これでほぼ、期待通りの挙動になることが確認できます。
ただ、やはり左側は小細工が必要になるケースもありそうですね(右側でも実装可)。
おそらく他に方法はないと思われますので、もう少し待って別の回答がつかなければ、ベスト回答とさせていただきます。
css
1* { padding:0;margin:0;box-sizing: border-box;} 2body { 3 padding:50px; 4 font-size:0; 5} 6#over { 7 width:100px; 8 height:100px; 9 background:red; 10} 11#left { 12 display: inline-block; 13 position:relative; 14 width:100px; 15 height:200px; 16 background:black; 17 z-index:1000; 18} 19#wrap { 20 display: inline-block; 21 width: 330px; 22 margin-left:-10px; 23 text-align: left; 24 background:yellow; 25} 26a { 27 display: inline-block; 28 margin-left: 10px; 29 width:100px; 30 height:100px; 31 background:blue; 32}
html
1<body> 2<div id="over"></div> 3<div id="left"></div> 4<div id="wrap"><a></a><a></a><a></a><a></a></div> 5</body>
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/16 05:06
2020/09/16 16:04
2020/09/17 01:47
2020/09/17 01:56
2020/09/17 05:08
2020/09/17 05:10 編集
2020/09/18 03:17