2011-08-06 8 views
2

可能重複:
How to write a:hover in inline CSS?如何分配:懸停答:訪問等使用樣式屬性只

我需要生成一些自包含的HTML代碼,所以我不能使用任何外部樣式表或樣式標籤。

其中一個要求是,一個鏈接必須有一個hover,visited狀態等。我知道如何做到這一點與樣式表,但我怎麼能做到內聯?即我應該放在style屬性:

<a style="???" href="http://example.com">Link</a> 
+3

下面是值得一讀的東西:http://stackoverflow.com/questions/1033156/how-to-write-ahover-in-inline-css – ninetwozero

+0

爲什麼你不能在樣式表或樣式標籤中做到這一點? – Pelshoff

+0

因爲我無法訪問嵌入代碼的''標籤。 –

回答

1

您可以用JavaScript進行管理:

var links = document.getElementsByTagName("a"); 

for(var i = 0; i < links.length; i++) { 
    if(links[i].className == "hoverThis") { 
     DoHover(links[i]); 
    } 
} 

function DoHover(link_element){ 
    link_element.onmouseover = function(){ 
    this.style.display = "block"; 
    } 

    link_element.onmouseout = function(){ 
    this.style.display = "none"; 
    } 
} 

只需添加相應的類(本例中「hoverThis」)到你想要的鏈接元素過度影響,並根據需要改變效果。

1

對於那些有興趣,我最終只是我的代碼之前添加<style>標籤:

<style>.my-link:hover { text-decoration:underline !important; }</style> 

因爲<style>標籤應該是<head>內這不是標準。但它適用於最新版本的IE,Firefox,Safari和Chrome。無論如何可能發生的最糟糕的情況是:懸停狀態不適用於選定的鏈接。

+1

你的意思是'',當然'

'是一個完全不同的元素:) – BoltClock

+0

哎呀,我已經更新了答案。 –