그래서 내 디자인과 관련하여 CSS 선택기에 대한 질문이 있습니다.CSS 선택기가 작동하지 않습니다
"+", "~"등과 같이 여러 선택기를 사용하여 CSS를 통해 체크 상자를 조작하는 방법에 대해 살펴 보려고합니다. 확인란을 선택하거나 선택 취소 할 때 이벤트를 수행합니다.
왜이 기능이 작동하지 않는지, 아니면 "~"을 사용하는 것이 혼란 스럽습니다. "+"는 첫 번째 요소 다음에 오는 요소와 직접적으로 일치하는 요소를 선택하지만 "~"뒤에 오는 모든 요소를 선택합니다 이전 요소. 이것은 내가 처음이 아니므로 최선을 다하지는 못하지만 ... 나는 내 머리를 감싸려고 노력하고 있습니다. "요소": 여러 셀렉터를 문자열로 표시 할 때 참조 점으로 계산하지 않습니까? 나는 두 명을 jsfiddle에 남겨 뒀다.
나중에 탐색 메뉴로 사용할 예정이지만, 당분간은 우선 선택기가 멈추도록 남겨 두었습니다.
HTML
<div id="container">
<header>
<input type="checkbox" id="navigation_drawer">
<label for="navigation_drawer" id="drawer_open"></label>
<label for="navigation_drawer" id="drawer_close"></label>
<nav id="navigation">
<ul>
<li id="home_page"><a href="#">Home</a></li>
<li id="about_page"><a href="#">About</a></li>
</ul>
</nav>
</header>
</div>
CSS
label#drawer_open{
position: absolute;
top: 2;
right: 0;
margin-right: 1rem;
background-image: url('http://i.imgur.com/Nxafddw.png');
background-image: no-repeat;
width: 35px;
height: 23px;
}
#navigation{
background-color:blue;
}
#navigation_drawer:checked + #container #navigation{
background-color:red;
}
#navigation_drawer:checked + container #navigation{
background-color:red;
}
감사합니다!
편집 : 남자들은 가혹한 사람입니다. xD 예. 코드를 복사 할 때 코드를 복사하고 붙여 넣을 때 실수를 저질렀습니다. 내 잘못. 여기에 원래 문제가 업데이트되었습니다. 여기에도 HTML/CSS가 업데이트되었습니다. 피트에게 업데이트 된 바이올린을 주셔서 감사합니다. 나는 당신에게 그것을 줄 것이지만 그것은 회신 대신에 코멘트이기 때문에 나는 다른 사람의 것을 받아 들일 것입니다. 그것은 다른 방법이기도합니다. 감사합니다 : D
https://jsfiddle.net/y9x8accc/6/
나는 당신의 HTML 코드에서'ID = "래퍼"'이 볼 수 없습니다. –
사실 저는 그것을 "컨테이너"라고 불렀습니다.하지만 내가 복사하여 붙여 넣을 때 나는 닫는 div를 놓쳤습니다. 죄송합니다. 확인 작동 – Burt67
방법 : https://jsfiddle.net/y9x8accc/2/ 라벨을 절대적으로 배치하는 경우 확인란을 선택할 필요는 없습니다.또는 형제 선택기를 사용하십시오. https://jsfiddle.net/y9x8accc/3/ – Pete