2012-02-25 15 views
2

www.example.com/#signupのようなURLを持っている場合、ブラウザはidがsignupのHTML要素にフォーカスを当てるだけです。URLのCSSセレクタ

要素のCSSスタイルがそのように集中している場合は変更できますか?

など。 idがsignupのdiv要素があるとしたら、www.example.comと入力するとdivの背景が白くなり、www.example.com/#signupと入力すると黄色になります。サインアップフォームのように。これはすべて可能ですか?

答えて

5
:target { background-color: yellow; } 

:target擬似クラスはまさにこれを行います。

+0

ニース...これは古いブラウザでも機能しますか? – federicot

+0

わかりません。おそらく正直ではないが、それはJSによって是正することができる: 'var a = document.getElementById(location.hash.substr(1)); if(a)a.style.backgroundColor = 'yellow'; ' –

+0

@John Doe:IE8以前ではありません。 – BoltClock

1

ページが読み込まれ、対応するCSSクラスが適用されると、window.location.hashプロパティを読み取ることができます。次のようなもの:

<script type='text/javascript> 
function init(){ 
    var hash = window.location.hash.substr(1); 
    var element = document.getElementById(hash); 
    if(element){ 
     element.className += " emphasize"; 
    } 
} 
</script> 

<body onload="init()"> 
... 
</body> 
+0

ありがとう、私はそれを試してみる – federicot