2014-09-25 66 views
0

我想在後臺.jpeg圖自動縮放到DIV(lineholder)的高度,而不管子DIV的數量(鏈接持有者) - 和在相同的時間有一些文本在父DIV內垂直對齊。IE11不支持背景大小的比例

該代碼在Chrome和Firefox中全部工作 - 但IE11完全忽略了背景大小。

我的HTML標記看起來是這樣的:

<div id="active-container" class="ac1"> 
<div id="lineholder" style= "background-image: url(....); background-repeat: no-repeat; background-size: 44px 100%;"> 

<div id="text"> 
TEST 
</div> 

<div id="linkholder"> 
</div> 

<div id="linkholder"> 
</div> 

</div> 
</div> 

CSS:

#active-container { 
min-width : 240px; 
min-height : 26px; 
height : auto; 
float : left; 
} 

#lineholder { 
position : relative; 
min-width : 240px; 
height : auto; 
overflow : hidden; 
} 

#text { 
position : absolute; 
top : 50%; 
margin : -13px 0 0 0; 
width : 45px; 
height : 26px; 
left : 0px; 
font-size : 8px; 
font-weight : bold; 
line-height : 26px; 
} 

#linkholder { 
margin-left : 45px; 
min-height : 26px; 
width : 190px; 
position : relative; 
} 

IE11只是表明我lineholder的左上角的原始背景圖像 - 而所有其他瀏覽器擴展高度以適應DIV。

看到這裏http://6710.sunnysite.dk/background-size_debug.jpg

背景圖像的CSS是因爲需要一個人與現在的HTML CSS的知識來插入不同的背景圖像多個人lineholders在所有的HTML裏面的圖片;)所以不同class'es等不是一種選擇。

+0

我覺得這就是一個重複:http://stackoverflow.com/questions/22615336/background-size-cover-ie11-not-covering - 全區域 – 2014-09-25 07:05:34

+0

你可能會在那裏找到你的答案 – 2014-09-25 07:06:12

+0

IE瀏覽器不縮放 - 背景寬度也應該固定爲44px,因此它不完全相同;) – 2014-09-25 07:25:29

回答

0

我有一種感覺,這是因爲像素與百分比混合。

background-size: 44px 100%; 

我知道,Safari瀏覽器有一個真正艱難的時間與此(儘管它們有固定的相當多的這些問題,最近)。人們只能假設IE在這方面有相同或相似的問題。

如果您需要確保背景圖像高度爲44px並且寬度爲100%,則需要在其周圍製作一個包裝並將該包裝高度設置爲44px。然後使用標準的背景大小。 (包含,覆蓋,100%等)。

+0

我聽說你說我需要把我的內容放在更多的DIV中來解決它。我會試一試。像素百分比可能是一個原因,但僅使用百分數也不起作用。 (18%100%) – 2014-09-25 08:26:52

+0

不,你已經在Div中擁有它,你只需要將#lineholder的高度設置爲44px,然後將背景大小改爲'contains'或'cover' – michaelcurry 2014-09-25 08:28:53

+0

這是寬度需要爲44px,以便背景在開始隱藏後留下45px的margin-left,然後根據DIV包含多少個孩子,必須取100%。 – 2014-09-25 09:51:31