2012-07-22 47 views
0

使用下面的代碼,我在IE7到IE9的背景圖像周圍得到一個邊框。爲什麼?爲什麼即使邊框設置爲無,圖像在IE中仍然有邊框?

<tr> 
    <td class="wishes"> 
     <a class="clickable"> 
      <img class="alreadyWished" border="0" width="19" height="16" 
       alt="Already Wished"/><br /> 
      Already Wished 
     </a> 
    </td> 
</tr> 

<style> 
.clickable 
{ 
    outline:none; 
    cursor:pointer; 
    border:none; 
} 

.wish 
{ 
    background-image:url(../images/wished.jpg); 
    background-repeat:no-repeat; 
    border:none; 
    outline:none; 
} 

.alreadyWished 
{ 
    background-image:url(../images/alreadyWished.jpg); 
    background-repeat:no-repeat; 
    border:none; 
    outline:none; 
} 
</style> 

回答

0

這對我來說有點奇怪。 爲什麼不在.clickable上使用不同的類,並避免使用沒有「src」的「img」。

看看我做什麼,你可能需要使用一些JS的用類來代替階級「.wish」「.alreadyWished」

<tr> 
<td class="wishes"> 
    <a class="clickable .wish"></a> 
</td> 

.clickable.wish { background:url("wished.jpg") no-repeat center left; padding-left:25px; /* padding equal to your width of the background image + 10-15px */} 
.clickable.alreadyWished { background:url("alreadyWished.jpg") no-repeat center left; padding-left:25px; /* padding equal to your width of the background image + 10-15px */} 
0

在CSS中,border不接受'none'的值。將其設置爲0.原因是,邊界屬性的存在表明存在邊界,因此說'無'是沒有意義的。

另外,HTML中沒有屬性'img'的邊框。

1

這是IE中的錯誤。 CSS的specs say

8.5.3邊框樣式

...

沒有
無邊框;計算出的邊界寬度爲零。

IE不關心。您需要額外設置border-width: 0。 (或border: 0 none;),如果你想使用組合名稱。

相關問題