2013-01-14 18 views
0

某些想法在IE上正確呈現這個? The:只有當我點擊跨度區域時,活動纔會開始。 我想這樣做,而不使用JavaScript。 在鉻和火狐上運行完美。跨度錨不適用:對IE的主動效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Documento sem título</title> 
<style type="text/css"> 
a 
{ 
    padding:20px; 
    border:1px; 
    display:block; 
} 

a span 
{ 
    width:96px; 
    height:96px; 
    display:block; 
    border:1px solid; 
} 

a:hover 
{ 
    background-color:#ccc; 
} 

a:active 
{ 
    background-color:#666; 
} 

</style> 
</head> 

<body> 
<a href="#">  
    <span>casa</span> 
</a> 
</body> 
</html> 
+0

而IE版本是...? – czachor

+0

在所有版本中。 – claudioivp

+0

看看這個:http://stackoverflow.com/questions/2769392/a-with-an-inner-span-not-triggering-active-state-in-ie-8 – czachor

回答

1

爲此,可以使用的一個元素,其定位正確的在它的上面僞元件固定:

a { 
    position: relative; 
} 
a:before { 
    content: ""; 
    position: absolute; 
    left: 0; 
    right: 0; 
    top: 0; 
    bottom: 0; 
} 

的缺點是你不能選擇裏面的任何文本一個元件。

IE8 +支持僞元素。一種解決辦法IE7將需要CSS表達式,但你不想使用JavaScript ...

+0

非常酷。但我有另一種情況,我有某些文字。所以當我點擊「某些文字」時,什麼都不會發生。任何解決方案 – claudioivp

+0

無法重現問題。 http://jsfiddle.net/WN5bF/ – dave

+0

在IE上,點擊「casa」,然後你會看到它沒有運行效果。 – claudioivp

0

試試這個代碼對你的CSS

ul.active_a li a:link { color: red;} 

這段代碼可以幫助你.. http://jsfiddle.net/easwee/WVrzu/16/

我測試了它IE。它的工作完美。

祝你好運!

+0

只有當標籤「a」內有元素時纔會出現問題, – claudioivp