2010-02-06 4 views
33

부모 <div>의 배경을 어떻게 바꿀 수 있습니까? <input> 또는 <a> : focus'd (또는 다른 동적 의사 클래스?상위 요소 : focus'd 요소에 영향을 미침 (순수 CSS + HTML 선호)

<div id="formspace"> 
<form> 
<label for="question"> 
How do I select #formspace for the case when a child is active?</label> 
<input type="text" id="question" name="answer"/></form></div> 
+0

아니! HTTP : //en.wikipedia .org/wiki/Cascading_Style_Sheets # 제한 사항 (두 번째 글 머리 기호) –

+0

아니요, CSS3도 아닙니다. – graphicdivine

+0

감사합니다. 순전히 CSS와 HTML 태그 이동으로 어떤 식 으로든 생각할 수 없었던 것부터 확인합니다. 자바 스크립트를 알고있었습니다. 그것을 할 수 있었고, 단지 내 손을 깨끗하게 유지하고 싶었습니다. –

답변

27

불행히도 CSS는 부모 선택자를 지원하지 않습니다. :(
그래서 그것을 할 수있는 유일한 방법은 jQuery parent method 같은 자바 스크립트를 사용하는 것입니다

업데이트 :. CSS 선택기 레벨 4 부모 선택기를 지원 http://www.w3.org/TR/selectors4/#subject

+0

[부모 셀렉터와 같은 것처럼 보입니다.] (http://css4.rocks/selectors-level-4/subject-of-selector.php) –

6

내가 생각할 수있는 유일한 방법은 자바 스크립트입니다 :

function focusLink(isOnFocus) 
{ 
    if (isOnFocus) 
     document.getElementById('formspace').className = "<make a focus class name here>"; 
    else 
     document.getElementById('formspace').className = "<default class name here>"; 
} 

...

<input onFocus="focusLink(true)" onBlur="focusLink(false)"> 

희망 하시겠습니까?

관련 문제