我需要创建一个两列布局:
- 左栏固定,右栏流动;
- 每个栏目都有一个窗口,包括标题(带选项卡和菜单)和正文。
固定/流动的布局已经实现了,但是在右栏中有一个头部div(选项卡)和正文div(窗口2的主体)之间有间隙:
我创建了一个Fiddle示例: http://jsfiddle.net/4sk3bkde/
当我使用.clear类来清除浮动时,问题似乎会发生:
.clear:after {
content: "";
display: table;
clear: both;
}
HTML代码如下:
<div class="wrapper clear">
<div class="fixed">
<div class="window">
<div class="head clear">
<ul class="tabs clear">
<li>Tab 1</li>
<li>Tab 2</li>
</ul>
<a class="menu" href="#">Menu</a>
</div>
<div class="body">
Body of window 1
</div>
</div>
</div>
<div class="fluid">
<div class="window">
<div class="head clear">
<ul class="tabs clear">
<li>Tab 1</li>
<li>Tab 2</li>
</ul>
<a class="menu" href="#">Menu</a>
</div>
<div class="body">
Body of window 2
</div>
</div>
</div>
</div>
而 CSS 代码是:
.clear:after {
content: "";
display: table;
clear: both;
}
.fluid,
.fixed {
border: 1px solid black;
box-sizing: border-box;
-moz-box-sizing: border-box;
}
.fixed {
float: left;
width: 250px;
}
.fluid {
margin-left: 250px;
}
div.window {
}
div.head {
border: 1px solid red;
}
ul.tabs {
list-style: none;
list-style-type: none;
margin: 0;
padding: 0;
float: left;
}
ul.tabs li {
list-style: none;
list-style-type: none;
margin: 0;
padding: 0;
float: left;
}
a {
display: inline-block;
float: right;
}
为什么我在使用clear时会遇到这个问题?如何解决?
为什么我在使用clear时会遇到这个问题?如何解决?