【发布时间】:2018-08-30 01:03:32
【问题描述】:
在以下示例中,我希望站点名称文本“站点名称”的底部和菜单文本“菜单 1 菜单 2 菜单 3”的底部与它们所在的容器底部对齐(标题)。就像现在一样,站点名称文本在其容器底部边缘上方的一些像素数,而菜单文本在同一边缘上方的不同像素数。我希望两个元素位于同一行。
似乎使用 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>
【问题讨论】:
-
此处布局 - jsfiddle.net/W3ECa