특정 요소를 가리키면 배경 이미지가 변하는 사이트가 있습니다. 이미지는 대개 어둡지 만 때로는 밝습니다. 라이트 이미지는 클래스 .whiteImg
이 적용됩니다.CSS3만으로 그 아이를 가져 가면 요소 스타일 변경
나는 배경의 이미지를 잡아 끌고있는 요소의 형제로 설정함으로써 CSS로만 작업 할 수있게되었습니다. 예를 들면 :
HTML :
<ul>
<li>
<a>link 1</a>
<img src="http://foo.com/" />
</li>
<li>
<a>link 2</a>
<img src="http://foo.com/" />
</li>
<li>
<a>link 3</a>
<img src="http://foo.com/" class="whiteImg" />
</li>
</ul>
CSS : 이제 모두가 잘 작동하는지
img{
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
opacity: 0;
transition: opacity 1s;
}
li a:hover + img{
opacity: 1;
}
. 하지만 기본적으로
body{color: #fff;}
이 있는데
.whiteImg
이 표시되면
#000
으로 변경해야합니다. 나는 이것을 jQuery (컬러 플러그인)로 풀려고했지만 애니메이션은 CSS 애니메이션 이후에 발생한다. 그래서 순수한 CSS 솔루션을 찾고 있습니다.
body
color
은
.whiteImg
과 동시에 검은 색으로 변합니다.
어쨌든 이것을 할 수 있습니까? 나는 실제로 작동하지 않습니다 분명히 this post의 말에 영감 있지만
li a:hover + img.whiteImg < body {
color: #000;
}
비슷한 뭔가를 찾고 있어요.
감사합니다.
정말로 전체 페이지의 색을 변경 하시겠습니까? 아니면 그냥 잡은 링크? 후자가 간단히'li a : hover {color : # 000} '이면 충분합니다. 편집 : 또한 왜 절대적으로 배치 된'img' 엘리먼트 대신에 일반 배경 이미지를 사용하지 않을까요? 또한 2, 왜 링크 안에 이미지를 넣지 않습니까? – powerbuoy
'<'제가 놓친 것 같은 유일한 새로운 선택 자입니까? 추신. 유효하지 않습니다. –
아직 CSS3에는 상위 셀렉터가 없습니다. 당신은 이것을 위해 자바 스크립트를 사용해야합니다. http://stackoverflow.com/questions/1014861/is-there-a-css-parent-selector –