我有一个两列布局主要内容区域呈现页面。甚至没有放在一边。我想知道我是否需要一个包装div? 或者我的CSS不对? 我没有发布CSS只是思想可能很重要
@charset "utf-8";
body {
font: 100%/1.4 Verdana, Arial, Helvetica, sans-serif;
background: #FFF;
background-image:url(../assets/bg1.png);
margin: 0;
padding: 0;
color: #000;
}
.sidebar h4 {
padding-bottom: 0;
font-size: 13px;
color: #fff;
text-transform: uppercase;
font-weight: normal;
padding: 7px 7px;
border-bottom: 1px solid #A31923;
background-color: #DE2D3A;
}
/* ~~this fixed width container surrounds the other divs~~ */
/*#container {
width: 960px;
margin: 20px auto;
padding: 10px;
box-shadow: 0 5px 5px 5px #CCCCCC;
background-color: #fff;
}*/
.container {
width: 1260px;
margin: 20px auto;
padding: 10px;
background: #FFF;
box-shadow: 0 0 5px 5px #B8B8B8;
/*margin: 0 auto; the auto value on the sides, coupled with the width, centers the layout */
}
.sidebar {
float: left;
width: 180px;
margin-top: 10px;
}
.sidebar h4 {
padding-bottom: 0;
font-size: 13px;
color: #fff;
text-transform: uppercase;
font-weight: normal;
padding: 7px 7px;
border-bottom: 1px solid #A31923;
background-color: #DE2D3A;
}
.footer {
padding: 10px 0;
background: #CCC49F;
position: relative;
clear: both;
}
.fltrt {
float: right;
margin-left: 8px;
}
.fltlft {
float: left;
margin-right: 8px;
}
.clearfloat {
clear:both;
height:0;
font-size: 1px;
line-height: 0px;
}
.clear {
clear: both;
}
<body>
<div class="container">
<header>
<h2>our website slogan here with header image</h2>
</header>
<nav>
<ul>
<li>X</li>
<li>X</li>
</ul>
</nav>
<aside class="sidebar">
<ul>
<li>
<h4>X</h4>
<ul>
<li>X</li>
<li>X</li>
</ul>
</li>
</ul>
</aside>
<main>
<section>
<article>
<h2>CCCC</h2>
<p>CCC</p>
</article>
<article>
<h1>xXX<h1>
<h2>XXX</h2>
<p>XX</p>
</article>
<article>
<h2>XXX</h2>
<p>V</p>
</article>
</section>
</main>
<div class="clear"></div>
<footer>
<p>XXX.</p>
</footer>
</body>
</html>
答案 0 :(得分:0)
我想知道我是否需要包装div?
不是真的,你可以在没有额外包装的情况下实现它。
或者我的CSS不对?
这就是问题,你的CSS可能会好得多。您正在使用float
,除非有充分理由使用它,否则我们将在2017年:使用flexbox代替并暂时忘记浮点元素。
您的示例没有完整的代码,因此我将使用全宽标题创建一个简单的代码段,旁边的主要内容为180px,以及全宽页脚。所有这些只在一个包装器中:.container
元素。
span{
display: block;
color: white;
padding: 1rem;
}
.container{
display: flex;
flex-wrap: wrap;
}
header{
width: 100%;
min-height: 50px;
background-color: #e74c3c;
}
aside{
flex-basis: 180px;
min-height: 300px;
background-color: #f1c40f;
}
main{
flex: 1;
min-height: 300px;
background-color: #f39c12;
}
footer{
width: 100%;
min-height: 80px;
background-color: #2ecc71;
}
&#13;
<div class="container">
<header>
<span>Header</span>
<!-- Put your content here -->
</header>
<aside>
<span>Aside</span>
<!-- Put your content here -->
</aside>
<main>
<span>Main</span>
<!-- Put your content here -->
</main>
<footer>
<span>Footer</span>
<!-- Put your content here -->
</footer>
</div>
&#13;