gpt4 book ai didi

html - 如何使用 CSS 将文本与容器底部对齐?

转载 作者:太空狗 更新时间:2023-10-29 16:43:40 24 4
gpt4 key购买 nike

在下面的示例中,我希望站点名称文本“站点名称”的底部和菜单文本“菜单 1 菜单 2 菜单 3”的底部与它们所在的容器底部对齐( header )。就像现在一样,站点名称文本在其容器底部边缘上方有一些像素,而菜单文本在同一边缘上方有不同数量的像素。我希望这两个元素位于同一行。

似乎使用 line-height 可以通过不同值的试验和错误来降低它,但结果在浏览器中并不一致(例如,我可以在 Safari 和 Chrome 中使它们齐平,但 Firefox 看起来不同)。必须有更好的方法吗?

此外,除了我已经完成的方式之外,还有其他更好的方法可以强制菜单进入右下角吗?

谢谢!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<style type="text/css">


html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
margin: 0;
padding: 0;
border: 0;
}

body {
text-align: center;
}

#container {
margin:0 auto;
margin-top:20px;
width:800px;
border:1px solid red;
text-align: left;
}

#header {
float:left;
position:relative;
width:100%;
border:1px solid green;
}

#sitename {
float:left;
left:0px;
bottom:0px;
margin:0;
padding:0;
border:1px solid blue;
}

#sitename h1 {
font-weight: normal;
}

#menu {
position:absolute;
right:0;
bottom:0;
line-height:1em;
float:right;
list-style: none;
border:1px solid blue;
}

#menu ul li {
list-style: none;
float:left;
padding: 0 0 0 15px;
}

#sitename h1 {
font-size: 3em;
}

</style>
</head>

<body>

<div id="container">

<div id="header">
<div id="sitename">
<h1>site name</h1>
</div>
<div id="menu">
<ul id="nav">
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
</ul>
</div>
</div>

<div id="content">
<p>here is some content.</p>
</div>

<div id="footer">
<p>here is the footer.</p>
</div>

</div> <!-- container -->
</body>
</html>

最佳答案

您不需要将 h1 包装在 div 中。它已经是一个 block 级元素。试试这个代码:

<!-- CSS -->
#header {
float:left;
position:relative;
width:100%;
border:1px solid green;
height: 100px;
}

#sitename {
position: absolute;
float:left;
left:0px;
bottom:0px;
margin:0;
padding:0;
border:1px solid blue;
font-weight: normal;
font-size:3em;
}

#menu {
position:absolute;
right:0;
bottom:0;
line-height:1em;
float:right;
list-style: none;
border:1px solid blue;
}

#menu ul li {
list-style: none;
float:left;
padding: 0 0 0 15px;
}

<!-- HTML -->
<div id="header">

<h1 id="sitename">site name</h1>

<div id="menu">
<ul id="nav">
<li>menu1</li>
<li>menu2</li>
<li>menu3</li>
</ul>
</div>

</div>

关于html - 如何使用 CSS 将文本与容器底部对齐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com