我无法弄清楚为什么margin-top
元素的<nav>
(位于<hgroup>
元素之后)会影响margin-top
或<hgroup>
的位置<nav>
。通过向<hgroup>
元素添加上边距,top-margin
元素也向下移动,就好像它也应用了heading {
position: relative;
display: inline-block;
border: 1px solid #333;
}
heading hgroup {
display: inline-block;
font-family: "Avenir";
font-size: 5em;
border: 1px solid yellow;
}
nav {
position: relative;
display: inline-block;
margin: 500px 0 0 -1.618em;
border: 1px solid red;
}
一样
<heading>
<hgroup>
<h1>NERD</h1>
<h1>CO.</h1>
</hgroup>
<nav>
<ul>
<li><a href="#">articles</a></li>
<li><a href="#">podcast</a></li>
<li><a href="#">social</a></li>
<li><a href="#">about</a></li>
<li><a href="#">contact</a></li>
</ul>
</nav>
</heading>
&#13;
CRUD Service
&#13;
答案 0 :(得分:1)
inline-block
元素的行为类似于inline
元素,因为它会受line-height
和vertical-align
等定位属性的影响。将margin-top
的{{1}}增加到nav
左右后,该行的高度将大于500px
的高度。 hgroup
的默认vertical-align
推送baseline
。换句话说,元素根据内联流定位。
请注意,在下面的代码段中,我将hgroup
设置为vertical-align
而top
放置在该行的顶部。
hgroup
&#13;
heading {
position: relative;
display: inline-block;
border: 1px solid #333;
}
heading hgroup {
display: inline-block;
font-family: "Avenir";
font-size: 5em;
border: 1px solid yellow;
vertical-align: top;
}
nav {
position: relative;
display: inline-block;
margin: 550px 0 0 -1.618em;
border: 1px solid red;
}
&#13;