【发布时间】:2015-03-17 01:13:05
【问题描述】:
如何为兄弟姐妹而不是父母设置边距? 例如,我有输入字段、按钮和文本区域。我确实想要这些元素之间的边距,但我不想要父元素的(额外)边距。
我知道我可以为右上角的左下角设置单独的值,但这不适用于 IMO。
body {
background-color: #717074;
font-family: sans-serif;
margin: 1em;
}
.d1 {
background-color: white;
margin: 0 auto;
padding: 1px 1em;
width: 960px;
}
.fw {
width: 100%
}
input {
margin: 5px
}
textarea {
width: 100%
}
<div class=d1>
<form method=post>
<input name=name type=text required placeholder="Naam">
<br>
<input name=email type=email required placeholder="Emailadres">
<textarea name=body rows=5></textarea>
<input type=submit>
</form>
</div>
所以 name 和 email 输入元素之间应该有边距,但在这两个和父 div 之间没有边距(例如)。 我不能通过将左右边距设置为 0 来作弊,因为当名称和电子邮件元素位于同一行时,这会破坏事情。
【问题讨论】:
-
而不是放例如。你能告诉我们你的代码吗?
-
使用
:first-child和:last-child选择器来确保您在开始和结束时没有边距 -
如果一个元素的所有子元素的边距一致,则可以在父元素上设置负填充以抵消子元素和父元素之间的边距。
-
@Touffy 这样的黑客真的有必要吗?
-
@Touffy:填充不能为负数。但在这种情况下,看起来父级上的填充应该被彻底删除。