2016-10-10 2 views
-1

웹 페이지의 서식을 편집하는 응용 프로그램을 만들고 있습니다. 선택한 div의 모든 하위 div의 배경색을 변경하려고하지만 현재 코드는 div 내의 이미지를 사라지게합니다.이미지를 숨기지 않고 모든 하위 요소의 배경색을 변경하십시오.

.blah *:not(img) { 
    background-color: #fffdd0 !important; 
} 

시도한 : not() 이미지에 적용되지 않는 형식을 만들려고했는데 아무 것도 변경하지 않았습니다. 배경색을 이미지에 적용하지 않거나 이미지를 숨기지 않는 방법이 있습니까?

+0

에 오신 것을 환영합니다! 코드 도움말을 찾는 질문에는 ** 자체적으로 ** [** Stack Snippet **] (https://blog.stackoverflow.com/2014/09/introducing-runnable)에 질문을 ** ** 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. -javascript-css-and-html-code-snippets /). [** 최소, 완전하고 검증 가능한 예제를 만드는 방법 **] (http://stackoverflow.com/help/mcve) –

+4

이 문제를 재현 할 수 없습니다 : http://jsbin.com/yodiga/ 편집? html, css, 출력 –

+0

@FabianSchultz와 동의 https://jsfiddle.net/4b4Lam1o/ – DaniP

답변

0

내 생각에 imgchildren이 아니지만 .blah div의 grandchildren이라고 생각합니다. 그것이 코드가 작동하지 않는 이유입니다. 그래서 (내 경우 .child)를 img의 부모는 배경을 취득하고 이미지가 background-color 스타일을하지 않지만 그래서 배경 이미지 아래에 나타납니다

이 같은 (모르는를 시도 할 수 귀하 HTML 구조 또는 그것이 얼마나 복잡한) 스택 오버플로

div *:not(.child) { background-color: #fffdd0 !important;} 
 
.parent > .child *:not(img){ background-color: red !important;}
<div class="parent"> 
 
<p>Child Text</p> 
 
<h1>Child Heading</h1> 
 
    <div class="child"> 
 
     <img src="http://placehold.it/350x150"> 
 
     <p>grandChild Text</p> 
 
    </div> 
 
</div>

+1

예. 나는 설명했다. 'img'가'background-color' 스타일을 얻지는 못했지만, 그것은 부모입니다, div의 자식입니다. 배경색을 얻습니다. 그것이 배경색이 이미지 아래에 나타나는 이유입니다. –

+1

나는이 질문을 이해한다. 그는 자신의 현재 코드가 이미지를 사라지게 만든 다음': not (img)'셀렉터를 사용하여 시도했지만 여전히 배경이 img에 적용되었다고 말합니다 (그렇지 않다면 이미지의 부모에 적용됩니다. div의 자식)'. 배경 색상을 이미지에 적용하지 못하게하는 방법이 있습니까? 나는 그의 질문에 대답했다. 문제는 img가'div.blah'의 직접적인 자식이 아니라'.grandchild'입니다. –

+0

그 관점에서 보면 ... 질문 자체가 정보가 부족하기 때문에 좋은 대답이라고 추측합니다. 내 의견을 삭제하고 답변의 스팸을 피하기 위해 downvote를 제거합니다. 잘된 친구 – DaniP

관련 문제