服务器端开发人员在这里,试图教自己一些造型。
我试图从this site复制标题部分(id=topbar
)。我最初的努力未能将h1
(scott hanselman)与导航列表项(约,博客等)对齐 - 我主要是试验float: left
和display: inline
来克服块性质h1
- 我失败了!
在chrome dev工具中使用CSS时,我不明白他是如何在containerInner
中很好地对齐这些项目的。我发现当我切换继承的margin
属性(css的第4-9行)时,导航项目会低于h1
,正如我期望的那样作为块元素。
我的问题是,是什么让h1
没有占用所有可用的水平空间?好像我对float
和display
属性的猜测错过了标记。
到目前为止,我的努力是: HTML
<!doctype html>
<head>
<meta charset="utf-8">
<title>first last</title>
<link rel="stylesheet" href="blog_style.css" type="text/css" />
</head>
<body>
<div class="container">
<div class="top-ribbon-outer">
<div class="top-ribbon-inner">
<h1>first last</h1>
<nav>
<ul>
<li>item1</li>
<li>item2</li>
<li>item3</li>
<li>item4</li>
</ul>
</nav>
</div>
</div>
</div>
</body>
</html>
CSS:
body {
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 15px;
margin-left: 50px;
}
.top-ribbon-outer {
width: 100%;
height: 50px;
color: white;
background-color: black;
position: relative;
}
.top-ribbon-inner {
height: 20px;
}
h1 {
margin-bottom: 0px;
margin-top: 0px;
float: left;
/*display: inline;*/
}
li {
float: left;
padding-left: 15px;
padding-right: 15px;
}
ul {
list-style-type: none;
}
答案 0 :(得分:2)
您需要display:inline-block
使用ul
和h1
标头。所以试试这个
h1 {
margin-left: 10px;
margin-top: 10px;
float: left;
display: inline-block;
}
ul {
list-style-type: none;
display:inline-block;
float:right;
}
答案 1 :(得分:0)
无需设置父亲的身高。只需使用overflow: hidden
,它就会正确覆盖它的漂浮孩子
CSS:
body {
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 15px;
margin-left: 50px;
}
.top-ribbon-outer {
width: 100%;
color: white;
background-color: black;
position: relative;
}
.top-ribbon-inner {
overflow: hidden;
}
h1 {
margin: 0;
float: left;
padding: 5px;
}
nav {
float: right;
}
li {
float: left;
padding-left: 15px;
padding-right: 15px;
}
ul {
list-style-type: none;
}
<强> Demo 强>