div的高度
我正在尝试根据内容设置div的大小。 请参阅完整代码here。 基本上我的问题在于div:content
在HTML代码中查找注释:错误
必须添加一个标签p,我清楚地表明div与末端对齐。 没有这个清楚,div将削减图像。
实际上我想知道更好的方法来完成这项任务。
似乎有一个很好的地方p没有任何内容只有一个明确的类,所以这个问题不会发生。 你推荐我什么?有更好的方法来完成这项任务吗?
目标不是让绳索内容:
HTML
<div id="header">
<div class="headerLeft" />
</div>
<div id="waycontact">
<div class="contactPaula">
<p>paulaMACHADO</p>
<p>crea 11111/D-MG</p>
<p>(00) 0000 0000</p>
</div>
<div class="contactBeatriz">
<p>beatrizDAMAS</p>
<p>crea 22222/D-MG</p>
<p>(00) 0000 0000</p>
</div>
<div class="address">
<p>av. xxxxxxxl, yyy, sl. zzz, centro - belo horizonte - mg</p>
<p>cep: 00000-000 - telefax: (00) 0000 0000</p>
<p><a href="mailto:xxxxx@yyyy.com.br">xxxxx@yyyy.com.br</a></p>
</div>
</div>
<div id="content">
<img class="left" alt="Arquitetura" src="http://cdn.archdaily.net/wp-content/uploads/2009/05/1265154380_107-silos-090511-west-view-a4-allard-architecture-528x304.jpg" />
<h2>Sobre a empresa</h2>
<p>A AMSD é focada em qualidade..</p>
<p class="clear" /> <!--Wrongly!! -->
</div>
<div id="footer">
<a class="current" href="#">home</a>
|
<a href="#">quem somos</a>
|
<a href="#">blog</a>
|
<a href="#">na mídia</a>
|
<a href="#">fale conosco</a>
</div>
CSS
body
{
font-size: 0.87em;
font-family: Calibri, Arial, Georgia, Verdana, Tahoma, Microsoft Sans Serif;
margin: 0;
padding: 0;
color: #666666;
}
a:link
{
color: rgb(124,71,111);
text-decoration: underline;
}
a:visited
{
color: rgb(41, 12, 36);
}
a:hover
{
color: rgb(91,25,79);
text-decoration: none;
}
a:active
{
color: #AB6D9C;
}
p
{
margin:2px;
}
ul
{
list-style-type: square;
}
li
{
line-height: 165%;
}
div#header
{
width:1024px;
margin:5px auto;
height:150px;
background-color: rgb(91,25,79);
}
div.headerLeft
{
height:100%;
width:900px;
border-right:10px solid rgb(169, 171, 174);
background-color: rgb(124,71,111);
}
div#footer
{
margin-top:10px;
text-align:center;
position:relative;
font-size: 1.27em;
}
div#content
{
margin:auto 40px;
width:200;
border:2px solid red;
}
/* Others
-----------------------------------------------------------*/
div.contactPaula p, div.contactBeatriz p
{
padding:0px;
margin:0px;
}
div.contact, div.contactPaula, div.contactBeatriz
{
margin-bottom:15px;
margin-top:0px;
}
div.contactBeatriz
{
float:right;
text-align:right;
}
div.contactPaula
{
float:left;
text-align:left;
}
div.address
{
text-align:center;
margin-bottom:30px;
}
div#waycontact
{
width:340px;
margin:20px 40px;
}
.clear, div.address, div#footer, div#waycontact
{
clear:both;
}
.left
{
float:left;
}
a.current
{
font-weight:bold;
}
答案 0 :(得分:2)
要使容器展开以填充浮动元素,请为其指定溢出属性:
div.wrapper {
overflow: auto;
}
答案 1 :(得分:2)
添加“溢出:隐藏;”到div#内容所以它看起来像下面这样。您不需要单独的clear属性和p标记。祝你好运:)
div#content
{
margin:auto 40px;
width:200;
border:2px solid red;
overflow:hidden;
}
答案 2 :(得分:0)
比使用空<div class="clear">
更好的方法是使用'cearfix'方法。
这是直接从HTML5Bolierplate 借来的一个例子,只是将它应用于给你带来麻烦的div。
在您的情况下,#content
将成为#content.clearfix
/* The Magnificent Clearfix: Updated to prevent margin-collapsing on child elements.
j.mp/bestclearfix */
.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
/* Fix clearfix: blueprintcss.lighthouseapp.com/projects/15318/tickets/5-extra-margin-padding-bottom-of-page */
.clearfix { zoom: 1;