为什么我的页脚内的 2 个 div 位于不同的角落?
Why do my 2 divs inside a footer go in different corners?
我在为一项学校作业制作页脚时遇到了这个问题:两个文本应该在同一行,但一个更高,一个更低
我试着在页脚左侧放一个 link,在右侧放一些文字。出于某种原因,当我将 div 拆分到它们的位置时,它们最终会变成这样。 Link 在左上角,文本在右下角。我试图让它们都垂直居中,但我没有做任何事情让它们都在那里。
我已经成功地将两者都放在了中心,但从来没有同时出现过。这是怎么回事?
这是我的 html:
<footer>
<div class="link_class">
<a href="./" class="link_class">asd</a>
</div>
<div class="copy_class">
<p>© dsa</p>
</div>
</footer>
这里是 css:
footer{
width: 20%;
height: 5%;
background-color: gray;
display: flex;
justify-content: space-between;
}
如果您希望它们在不同的行上,那么
align-items: center;
flex-direction: column;
并省略 justify-content
在您的示例中,原因不是 flex 行为。
本机浏览器样式将边距应用于 'p' 标签(margin-block-start:1em;margin-block-end:1em;)但不应用于 'a' 标签。
要解决它,您有一些简单的选择:
- 应用保证金:0 到您的 'p'
- 将 p 标签更改为另一个没有默认边距的标签。
这里是默认浏览器样式的参考:
https://www.w3schools.com/cssref/css_default_values.asp
只需添加这个,使用 flexbox 的神奇力量将它们彼此对齐。
align-items: center;
footer{
width: 20%;
height: 5%;
background-color: gray;
display: flex;
align-items: center;
}
<footer>
<div class="link_class">
<a href="./" class="link_class">asd</a>
</div>
<div class="copy_class">
<p>© dsa</p>
</div>
</footer>
我在为一项学校作业制作页脚时遇到了这个问题:两个文本应该在同一行,但一个更高,一个更低
我试着在页脚左侧放一个 link,在右侧放一些文字。出于某种原因,当我将 div 拆分到它们的位置时,它们最终会变成这样。 Link 在左上角,文本在右下角。我试图让它们都垂直居中,但我没有做任何事情让它们都在那里。 我已经成功地将两者都放在了中心,但从来没有同时出现过。这是怎么回事?
这是我的 html:
<footer>
<div class="link_class">
<a href="./" class="link_class">asd</a>
</div>
<div class="copy_class">
<p>© dsa</p>
</div>
</footer>
这里是 css:
footer{
width: 20%;
height: 5%;
background-color: gray;
display: flex;
justify-content: space-between;
}
如果您希望它们在不同的行上,那么
align-items: center;
flex-direction: column;
并省略 justify-content
在您的示例中,原因不是 flex 行为。
本机浏览器样式将边距应用于 'p' 标签(margin-block-start:1em;margin-block-end:1em;)但不应用于 'a' 标签。 要解决它,您有一些简单的选择:
- 应用保证金:0 到您的 'p'
- 将 p 标签更改为另一个没有默认边距的标签。
这里是默认浏览器样式的参考: https://www.w3schools.com/cssref/css_default_values.asp
只需添加这个,使用 flexbox 的神奇力量将它们彼此对齐。
align-items: center;
footer{
width: 20%;
height: 5%;
background-color: gray;
display: flex;
align-items: center;
}
<footer>
<div class="link_class">
<a href="./" class="link_class">asd</a>
</div>
<div class="copy_class">
<p>© dsa</p>
</div>
</footer>