我一直在使用JS脚本遇到一些问题,并已将问题隔离开来。 我的div完全搞砸了。 我正在寻找的布局是:
wrapper - whole page. header left menu 1 right content (stretches to / past left menu item 3) left menu 2 left menu 3 footer
我希望菜单项包含在div中,该div与右内容div的高度相同。
这是我的代码:
<html>
<head>
<title>Bliss</title>
<link rel="stylesheet" type="text/css" href="styling1.css" />
</head>
<body>
<div id="wholewrap">
<div id="header">header</div>
<div id="middlewrap">
<div id="menuwrap">
<div id="1" class="floatleftnw">1</div>
<div id="1" class="floatleftnw">2</div>
<div id="1" class="floatleftnw">3</div>
</div><!-- end of menu-->
<div id="right" style="float:right; display:inline;">right</div>
</div><!-- end of middlewrap-->
<div id="footer">
footer
</div >
</div><!-- end of whole wrap-->
</body></html>
我拥有的css(根据styling1.css)是:
@charset "utf-8";
/* CSS Document */
html, body {
margin: 0px;
padding: 0px;
}
body {
font-family: Verdana, Arial, sans-serif;
font-size: 11px;
text-align: center;
line-height: 1.8em;
background:#fff;
}
#wholewrap {
width:1000px;
margin-left:auto;
margin-right:auto;
}
#right {
margin-left:220px;
width:740px;
margin-bottom:40px;
float:right;
display:inline;
}
.floatleftnw {
float:left;
}
#middlewrap {
height:800px;
width:1000px;
}
#menuwrap {
height:800px;
width:200px;
display:inline;
border:1px solid blue;
}
.clearer {
font-size: 0px;
height: 0px;
width: 100%;
display: block;
clear: both;
}
谁能看到我哪里出错了?当我重写这个布局(最后一小时或者两小时)时,我打开了我的div,并确保我立即关闭它,甚至评论它。代码在DreamWeaver中没有显示任何错误,但是当我在firebug中查看时,div没有按照假设运行,即菜单包裹周围应该有一个蓝色边框。右边应该与左侧菜单内联(我可以获得菜单包裹的边框,但是只要我将内联添加到右边的属性中,它就会被破坏。)
谢谢
答案 0 :(得分:2)
inline
属性与块布局不同,并且不具有边框,边距等块功能。您需要使用display: block
或display: inline-block
。
如果您想要左侧的垂直菜单,可以为float: left
添加#menuwrap
并删除其他浮动和display: inline
。请参阅示例here
答案 1 :(得分:2)
在ur css和html中改变一点
#menuwrap {
background-color: #D3C5C5;
float: left;
height: 100%;
width: 30%;
}
#right {
height: 100%;
width: 70%;
float:left;
display:block;
background-color: #fDc3C5;
}
.floatleftnw {
float:left;
clear:both;
}
<div id="wholewrap">
<div id="header">header</div>
<div id="middlewrap">
<div id="menuwrap">
<div id="1" class="floatleftnw">1</div>
<div id="1" class="floatleftnw">2</div>
<div id="1" class="floatleftnw">3</div>
</div><!-- end of menu-->
<div id="right">right</div>
</div><!-- end of middlewrap-->
<div id="footer">
footer
</div >
</div><!-- end of whole wrap-->
<强> Working DEMO
强>
答案 2 :(得分:1)
我有一个结构相似的网站。我左侧的菜单实际上位于div部分,名为“left”。您应该将左侧部分和右侧部分向左浮动,如下所示:
#left {
text-align: left;
width: 180px;
float: left;
margin: 20px 0 0 0;
}
#right {
text-align: left;
width: 800px;
float: left;
font-size: 10pt;
margin: 20px 0 0 0;
}
并且页脚应该具有(clear:both;)以便它可以左右移动。 不过,我不确定你的“中间包裹”在做什么......?
页脚部分应该是这样的:
#footer {
width: 980px;
line-height: 50px;
background-color: #FFF;
clear: both;
color: #000;
border-top: 1px dotted #D1D1D1;
border-bottom: 1px dotted #D1D1D1;
margin: 10px 0;
}
希望它有所帮助。
答案 3 :(得分:0)
上述答案是正确的。如果你想要导航和主要内容的两个div相同的高度你只是在#right上错过了一个高度。
http://jsfiddle.net/MD2KT/1/这是阻止的元素和指定的高度。