Display inline-block 会生成一个我无法删除的 margin-bottom
Display inline-block generates a margin-bottom that i can't remove
我尝试了 display、float、width/height 的所有组合,并将所有边距和填充设置为 0,但容器带有 display: inline-block 总是生成一个 margin-bottom,我只能通过添加样式 "margin-bottom: - ... px "
请看一下代码,非常基础index.php
无论如何,我对任何类型的解决方案都持开放态度,我只希望 div“.posts”包含帖子,所以如果有没有 "display: inline-block" 的解决方案,我也可以。
先谢谢大家
首先,您在多个地方使用了#post。这是非常糟糕的做法。使用 ID 应该是唯一的。因此,您将得到非常复杂的 CSS 输出。将它们更改为 .post。参见 https://css-tricks.com/the-difference-between-id-and-class/
其次,.posts 应该是 display: block
,因为您没有将它们排成一行。参见:http://designshack.net/articles/css/whats-the-deal-with-display-inline-block/
第三,您的 .sep 有 margin: 8px 33px
,它正在创建 space。如果您删除该边距,您将不会拥有 space.
我想我也可以 post 这个作为答案:
我不明白为什么它首先需要 inline-block
而不是常规的 block
,但以防万一 - 因为 inline-block
使元素内联,它从 line-height 和 获得额外的高度。如果您设置其父级(在本例中为 #main
的)line-height: 0
,您将不会拥有额外的 space.
您稍后必须通过为您的内部元素提供不同的 line-height
来弥补这一点,例如 .posts { line-height:1.5 }
,否则您的文本将没有任何高度。
您看到的 space 是给予字母 descender 高度的 space,例如小写 y 或 g 当元素的显示值设置为 inline-block;
时。当您将元素设置为 display: inline-block;
.
时,您实际上是在将其视为文本
要修复,请从您的 .posts
DIV 中删除 display: inline-block;
。您的布局不需要它。
您可以将font-size:0
属性添加到class post中,并根据您的要求更改其在post class中的值
我尝试了 display、float、width/height 的所有组合,并将所有边距和填充设置为 0,但容器带有 display: inline-block 总是生成一个 margin-bottom,我只能通过添加样式 "margin-bottom: - ... px "
请看一下代码,非常基础index.php
无论如何,我对任何类型的解决方案都持开放态度,我只希望 div“.posts”包含帖子,所以如果有没有 "display: inline-block" 的解决方案,我也可以。
先谢谢大家
首先,您在多个地方使用了#post。这是非常糟糕的做法。使用 ID 应该是唯一的。因此,您将得到非常复杂的 CSS 输出。将它们更改为 .post。参见 https://css-tricks.com/the-difference-between-id-and-class/
其次,.posts 应该是 display: block
,因为您没有将它们排成一行。参见:http://designshack.net/articles/css/whats-the-deal-with-display-inline-block/
第三,您的 .sep 有 margin: 8px 33px
,它正在创建 space。如果您删除该边距,您将不会拥有 space.
我想我也可以 post 这个作为答案:
我不明白为什么它首先需要 inline-block
而不是常规的 block
,但以防万一 - 因为 inline-block
使元素内联,它从 line-height 和 #main
的)line-height: 0
,您将不会拥有额外的 space.
您稍后必须通过为您的内部元素提供不同的 line-height
来弥补这一点,例如 .posts { line-height:1.5 }
,否则您的文本将没有任何高度。
您看到的 space 是给予字母 descender 高度的 space,例如小写 y 或 g 当元素的显示值设置为 inline-block;
时。当您将元素设置为 display: inline-block;
.
要修复,请从您的 .posts
DIV 中删除 display: inline-block;
。您的布局不需要它。
您可以将font-size:0
属性添加到class post中,并根据您的要求更改其在post class中的值