我试图将一个菜单浮动到页面的左侧,当它变得足够大以到达下面的内容时,Firefox会完全按照它应该的方式将内容弹出。除了边境。
下面是一个屏幕截图,其中包含几个项目:
另一个里面有几样东西
“Box4”按预期移动,但其边框仍在左侧。O.O
#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;
}
<?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<br />line break</div>
</div>
</body>
</html>
6条答案
按热度按时间pbossiut1#
我认为你不能单独使用css,因为你在和正常的流做斗争。元素通常是堆叠在彼此的顶部,并试图要求一个移动的方式,因为你去下的页面是不是这样的工作原理。
kqlmhetl2#
box4在其css中应该有一个
clear:both;
属性。它应该能起作用。我刚刚测试了它,它做了你想要的。rjee0c153#
你可以通过像这样更新你的#box4规则来解决这个问题:
Edit#box4 below a long sidenav css:
4xy9mtcn4#
在“box 4”div上方包含下面的行。
因此,您的代码应该如下所示:
Cheers!!!
v1l68za45#
你可以将#box4浮动到左边。
然而,它不会具有100%的宽度。
正如你所理解的,这是不可修复的,因为100%的宽度总是会搞砸一些事情。你不能有它在100%的宽度,但不采取100%时,推动…
kse8i1jr6#
您在container外遗漏了box4。你可以检查下面的片段。