2011-03-28 83 views
0

我只是在玩CSS定位,並且對瀏覽器中呈現的元素有些懷疑?請有人向我解釋爲什麼這是? enter image description hereCSS定位在瀏覽器中的不一致性

HTML代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
<head> 
<title>Untitled Document</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 
<div style="background:#ccc;height:150px;width:300px;"> 
parent div 
    <div style="background:#ff0;height:50px;position:absolute;"> 
     child div 
    </div> 
</div> 
</body> 
</html> 

1.爲什麼是顯示在網上與父DIV在IE6的內容,但不是在Safari孩子的div?

2.當我定位子div絕對,它失去了它的寬度?但是,如果我指定寬度:繼承它在Safari中得到它的完整寬度,但不是在IE6中[我知道IE中不支持繼承]。

謝謝

+3

爲什麼要支持IE6?它應該_die_! – Kyle 2011-03-28 09:30:30

+0

@凱爾我知道IE6應該會死,不幸的是還有一些大型企業公司仍在使用它。我只是在玩耍,發現了這個問題,所以我想我會要求得到一些建議和解釋 – manraj82 2011-03-28 09:33:23

回答

3
  1. 絕對定位的塊級元素都應該活在自己的格式化的內容。此外,由於div是一個塊級元素,因此該子代應該換行,而不是內聯父代的內容。當然,不能指望IE6知道這一切。

  2. 如果你不給它們一個寬度,絕對定位的塊級元素不會展開以適應它們的容器。