2013-06-29 59 views
0

所以我想當用戶點擊一個div,另一個div改變顏色。對於我:CSS - 類似「已點擊」屬性?

CSS

.div1, .div2{ background: blue; } 
    .div1:active + .div2 { background: red; } 

HTML

<div class="div1">Some text</div> 
<div class="div2">Other text</div> 

就這樣,當用戶點擊DIV1,在DIV2變化的背景,但只有當用戶仍然在鼠標按下。

我想製作類似:visited屬性,其中用戶在div1中單擊一次,並且div1保持顏色已更改。

+4

這似乎是JavaScript的工作...... –

+0

@DavidConstantine jQuery的,可能... – TMS

回答

3

可以使用checkbox hack

HTML:

<input type="checkbox" id="toggle"> 
<label for="toggle"><div class="div1">Some text</div></label> 
<div class="div2">Other text</div> 

的CSS:

input[type=checkbox] { 
    position: absolute; 
    top: -9999px; 
    left: -9999px; 
} 
.div1, .div2{ 
    background: blue; 
    } 
#toggle:checked ~ .div2{ 
    background: red; 
} 

jsfiddle

+0

感謝您關注「CSS」。無論如何要檢查它後無法檢查嗎? –

0

試試這個

<div class="div1" onclick="style.backgroundColor = '#ff0000';" >some text</div> 
<div class="div2">Other text</div> 
+0

這甚至沒有意義,請閱讀我的問題! –

0

你可以使用js函數用於這一目的..

function change_color() 
{ 
document.getElementById('change').className = 'active'; 
} 

CSS

.div{ background: blue; } 
.active{ background: red; } 

htnl

<div class="div" id="click" onclick="change_color()">Some text</div> 
<div class="div" id="change">Other text</div> 
0

如果不通過IE大驚小怪,那麼你可以做的以下:

http://jsfiddle.net/seemly/8NgpS/

HTML:

<div class="div1">Some text</div> 
<div class="div2">Other text</div> 

CSS:

div { 
    width:200px; 
    height:200px; 
} 
.div1 { 
    background:#c00; 
} 
.div2 { 
    background:#0c0; 
} 
.div1:active + div { 
    background:#00c; 
}