2011-04-27 71 views
1

我有一個<p>標記,周圍填充9px。在FF和IE8中看起來不錯,但不是IE7。它「縮小」<p>標籤。由於<p>標籤具有用於背景的半透明PNG,因此您可以看到它不像其他2個瀏覽器中那樣碰到包含<div>的右側,因此對於查看者來說這變得很明顯。有沒有指定尺寸的IE7填充解決方法?

沒有進入「爲什麼」,我的問題是這樣的:有沒有辦法讓填充9px的填充的<p>標記填充IE7中的可用空間,而不必指定寬度(像素或百分比) ?

謝謝!

的HTML代碼示例:

<a href="#"> 
    <img class="off" src="image1.png" /> 
    <img class="on" src="image2.png" /> 
    <p>Some copy.</p> 
</a> 

樣品的CSS代碼:

a { 
    position: absolute; 
    top: 100px; 
    left: 100px; 
} 

a img.on { 
    visibility: hidden; 
    position: absolute; 
    top: -10px; 
    left: -10px; 
} 

a:hover img.on, a:hover p { 
    visibility: visible; 
} 

a p { 
    position: absolute; 
    visibility: hidden; 
    bottom: 0px; 
    left: 0px; 
    padding: 8px; 
    background: url(bg.png) repeat; 
} 
+0

你可以請張貼一些代碼嗎?或鏈接? – 2011-04-27 16:49:47

+0

@faraz:剛發佈。 – linnium 2011-04-27 17:16:23

回答

0

你舉的例子並不能真正幫助我,因爲它並沒有真正說明問題。嘗試設置你的p的寬度和高度爲100%。你可能會發現這會使它稍大,在這種情況下,你需要將IE6/7的寬度和高度設置爲直接像素大小的高度和寬度減去填充值(x2作爲其兩側)。

0

不幸的是,由於第二張圖片比第一張圖片大,所以將<p>設置爲100%寬度確實會使圖片太長。

我在JQuery中創建了一個動態解決問題的解決方案。它通過從中獲得頂點值(在CSS中定義),將其乘以2,然後從第一個圖像的寬度(.off)中減去它來設置<p>寬度。這似乎是一種更好的方法,因爲您可以更新CSS中的填充而無需更新JQuery代碼,並且不必將靜態寬度信息放入CSS文件中。這似乎適用於所有瀏覽器。

相關問題