0

这是一个太基本的问题,但我网站上 div 的行为让我感到困惑。

我以前遇到过同样的问题,所以我确信我做错了,一贯地,或者误解了一些基本的 CSS 规则。

问题:为什么站点右下角的红色 div 标签会清除左侧对应的标签?没有适用于它的“明确”规则!

这是html:

<div id="home-left">
<?php 
echo "Some php=generated content";
?>
</div> <!-- END HOME-LEFT -->

<div id="home-right-container">
<p>Blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah</p>
</div> <!-- END HOME-RIGHT-CONTAINER -->

这是相应的CSS:

#home-left {
width:280px;
margin:0 0 0 20px;
//clear:both; /* STAY CLEAR OF THE SCROLLER-FEATHER-CONTAINER! */
}

#home-left h3 {

    //font-size: 1.128571429rem;
font-size:12px;
    line-height: 1.2;
    font-weight: bold;
text-transform:uppercase;
margin-bottom:10px;
}

#home-left p {
    margin: 0 0 24px;
    margin: 0 0 1.514285714rem;
font-size:11px;
    line-height: 1.5;
}

#home-right-container {
width:100px;
background:red;
float:right;
}
4

4 回答 4

1

左边的 div 实际上正在清除右边的对应部分。这是因为如果元素不是floated,它将基本上占据整个页面宽度的边距。

两种解决方案:

  1. 添加float: leftdiv红色框的左侧。
  2. 添加display: inline-blockdiv下部红色框的左侧。
于 2013-04-16T21:22:19.600 回答
1

因为它出现在文档流右侧的元素之后。

您可以切换元素顺序,这将为您提供所需的结果。或者将另一个元素也浮动到左边,这也可以给出你想要的结果。

于 2013-04-16T21:23:10.480 回答
1

float 允许一个元素浮动到它下面的元素的一侧,而不是它上面的元素。

如果您向左浮动#home-left,则右侧的 div 将在右侧

于 2013-04-16T21:23:26.497 回答
1

只需添加 float: left on style.css Line 235。希望这会有所帮助。

于 2013-04-16T21:27:10.380 回答