2012-10-23 22 views
2

我想用跨度內格跨度內的div不正確的樣式

DIV是用來放一個紅色水平線

<div style="background-color:red;"> 
</div> 

跨度內使用DIV把元素向右

<div style="background-color:red;"> 
<span style="float:right;"> 
ABC 
</span> 
</div> 

水平線沒有得到紅的顏色,只有ABC顯示在正確的,事實上不存在的div風格升作用ike寬度:900px .. ....爲什麼?

+1

加overflow:auto更改您的div的樣式定義 – Madbreaks

回答

5

我建議:

<div style="background-color:red; text-align:right;">ABC</div> 

否則,你需要添加overflow:auto到您的div的樣式定義,如果你想充分利用<span>在你原來的例子。

乾杯

+0

溢出自動工作! – paul

4

添加overflow:auto到div:

<div style="background-color:red;overflow:auto;"> 
<span style="float:right;"> 
ABC 
</span> 
</div>​ 

jsFiddle example

浮動內寬度使格基本上崩潰,並添加溢出規則允許它重新獲得跨度。

2

浮動不給你任何高度。你需要跟進它clear。試試這個:

<div style="background-color:red;"> 
    <span style="float:right;"> 
    ABC 
    </span> 
    <div style="clear: both;"></div> 
</div> 
+1

雖然這可能會起作用,但添加額外的DOM元素以實現正確使用CSS的功能通常被認爲是黑客行爲。 – Madbreaks

-2

您需要添加屬性overflow:hidden;在你的DIV中。 下面我提到的代碼:

<div style="background-color:red; text-align:right; overflow:hidden;"> ABC </div>