我正在尝试将菜单浮动到页面的左侧,当它变得足够大以达到下面的内容时,Firefox将内容完全按照应有的方式进行颠覆...除了边框 .
这是一个包含几个项目的屏幕截图:
而另一个有几个项目
“Box 4”按预期移动,但其边框位于左侧 . O.o
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<link rel="stylesheet" href="css/main.css" />
</head>
<body>
<div id="menu">
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</div>
<div id="title">
<img src="img/logo.png" alt="logo" />
<span id="title_text">Title</span>
</div>
<div id="container">
<div id="box1" class="topbox">
<div class="title">Box 1 Title</div>
<div class="content">Content goes here</div>
</div>
<div id="box2" class="topbox">
<div class="title">Box 2 Title</div>
<div class="content">Content goes here</div>
</div>
<div id="box3" class="topbox">
<div class="title">Box 3 Title</div>
<div class="content">Content goes here</div>
</div>
</div>
<div id="box4">
<div class="title">Box 4 Title</div>
<div class="content">Content goes here
line break</div>
</div>
</body>
</html>
CSS:
#menu {
float: left;
width: 100px;
padding-left: 0px;
}
#menu ul {
margin: 0px;
padding: 10px;
}
#title {
margin-left: 100px;
border: 1px #F00 dashed;
height: 40px;
font-size: 20pt;
}
#title_text {
display: inline-block;
vertical-align: top;
margin-top: 5px;
}
#container {
margin-left: 100px;
}
.topbox {
width: 30%;
height: 200px;
display: inline-block;
margin-top: 5px;
margin-bottom: 10px;
margin-right: 2px;
margin: none;
border: 1px #F00 solid;
}
.topbox .title {
text-align: center;
border-bottom: 1px #000 solid;
padding-top: 1px;
}
.content {
padding: 2px;
}
#box4 {
border: 1px #000 solid;
width: 100%;
}
#box4 .title {
display: inline;
border-right: 1px #000 solid;
border-bottom: 1px #000 solid;
padding-left: 2px;
padding-right: 2px;
}
#box4 .content {
display: inline;
}
6 回答
我认为你无法单独使用css,因为你正在与正常的流程作斗争 . 元素通常堆叠在一起,并试图让一个人在你走下页面时移开方向并不是这样的 .
box4在其css中应该有一个
clear:both;
属性 . 它应该做的伎俩 . 我只是测试它,它做你想要的 .您可以通过更新#box4规则来解决此问题:
Edit #box4下面有一个长边的css:
在“box4”div上方包含以下行 .
因此,您的代码应如下所示:
干杯!!!
你可以将#box4浮动到左边..
然而它不会有100%的宽度..
正如你所说,这是不可修复的,因为100%的宽度总会弄乱一些东西..你不能把它放在100%的宽度但是在推动时不会占用100%...
你错过了 box4 以外的 box4 . 你可以查看下面的片段 .