【发布时间】:2014-11-28 17:20:50
【问题描述】:
我想要一个绿色背景的导航栏 100% 填充屏幕宽度,并且文本和徽标位于导航栏的中心。
这是我的html和css
*{
margin: 0;
padding: 0;
}
html {
width: 100%;
}
body {
font-family: 'Open Sans', sans-serif;
font-style: normal;
font-weight: normal;
background-color: #e9eaed;
margin: 0;
padding: 0;
}
nav {
width: 100%;
background-color: #93bf2e;
font-size: 14px;
font-weight: bold;
color: white;
margin: 0;
padding: 0;
}
#navMain {
width: 1096px;
margin-left: auto;
margin-right: auto;
margin-top: 0;
margin-bottom: 0;
padding: 0;
}
#navLeft {
width: 431px;
margin: 0;
padding: 15px 0 15px 40px;
display:inline-block;
}
#navRight {
width: 431px;
margin: 0;
padding: 15px 40px 15px 0;
text-align: right;
display:inline-block;
}
#navCenter {
width:146px;
margin: 0;
padding: 0;
display:inline-block;
vertical-align:middle;
}
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../CSS/Homepage.css">
<title>Home</title>
</head>
<body>
<nav>
<div id="navMain">
<div id="navLeft">Home My Page</div>
<div id="navCenter"><img src="../GeneralImages/logo.png"></div>
<div id="navRight">Create Story Log Out</div>
</div>
</nav>
</body>
</html>
我使用Display:inline-block 将 3 个 DIV 保留在同一行中。中心 div 宽度为 146。中心 div 包含一个 146 像素宽度的图像。但问题是我将包含 3 个其他 DIV 的主 DIV 的宽度设置为 1096。如果我将左侧(左侧填充 40 像素)和右侧(右侧填充 40 像素)DIV 宽度设置为 435,则右侧 Div 被推到第二行。这很奇怪,因为数学是正确的(435 + 40 + 435 + 40 + 146)。但是如果我将左右 DIV 的宽度设置为 431,它们在同一行。这意味着 8 个像素以某种方式神秘地丢失了 div 边框。请您帮忙去掉那些边框。
【问题讨论】:
标签: html