我正在尝试将菜单 float 到页面左侧,当它变得足够大以显示下面的内容时,Firefox 会完全按照应有的方式将内容推到...除了边框。
这是一些元素的截图:
另一个有几个元素
“方框 4”按预期移到上方,但其边框仍留在左侧。哦
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<br />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;
}
最佳答案
我认为您无法单独使用 css 来完成此操作,因为您正在与正常流程作斗争。元素通常堆叠在彼此的顶部,当您向下浏览页面时试图让一个元素移开,这不是这样工作的。
关于CSS Float 边框重叠问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275641/