2010-07-27 79 views
4

好吧,所以我有一個跨度,背景位於左側,20px填充左側,以防止文本被渲染在圖像上方...漂亮標準。當白色空間IE忽略填充:nowrap

我還在span上設置了white-space:nowrap來阻止線條纏繞。

span是一個大約200px寬的div。如果跨度中的文本長度超過包含div的長度,突然間填充開始被忽略,文本呈現在bg圖像的頂部。如果我離開空格,這會停止:正常。此外,包含div有溢出:自動設置(正在呈現滾動條)。

使用IE8 ...這是一件已知的事情嗎?是否有一個標準的解決,我一直沒能找到任何:(

回答

2

您可能需要發佈更多的代碼,但是從我的耳朵你的HTML看起來像這樣

<div class="container"><span class="text">Text asdf asdf</span></div> 

和你CSS看起來像這樣

.container 
{ 
    overflow:auto; 
    width:200px; 
} 
.text 
{ 
    background:... 
    white-space:nowrap; 
    padding-left:20px; 
} 

在這個簡單的模型您的填充將消失,因爲跨度內嵌式地顯示,將妥善停止施加填充,因爲它運行的空間了右側。爲了正確地得到您的請遵循填充規則,您需要更改到display:block這會迫使你進行其他的改變,如果你想讓它與div中的其他項流動,而不是它自己的行。

+0

真正的瀏覽器不停止顯示填充,div只是獲得更多的溢出,以適應元素。將.text設置爲display:block也不起作用。 儘管感謝這篇文章,但我意識到我對代碼細節很重視,但以實例爲後盾並不實際。 – arw 2010-07-27 22:38:46

0

我對此沒有答案,但它看起來像Firefox(3.6)也忽略了填充。希望這有一個修復...