2013-08-05 4 views
1

동일한 부모를 공유하는 일부 요소에 대해 CSS에 몇 가지 규칙을 쓰고 있습니다.부모가 같은 자식을위한 CSS 선택자

#parent_id li 
#parent_id label, 
#parent_id input, 
#parent_id select { ... } 

상위 ID를 반복하지 않으려면 다른 구문이 있습니까?

+1

[http://stackoverflow.com이/질문/8,999,568/CSS-IS-는-가능한 투 - 다중 상이한 하위 요소-내의-A-상위 메뉴 [1] [1] : HTTP : //stackoverflow.com/questions/8999568/css-is-it-possible-to-select-multiple-different-child-elements-within-a-parent 이 질문의 중복 가능 –

+0

'parent_id'는'li','label','input' 및'select' 요소 이외의 다른 것을 포함합니까? – Spudley

답변

1

CSS native는 이것을 지원하지 않습니다. 하지만 SASS를 사용할 수 있습니다/LESS :

#parent_id { 
    label, input, select { ... } 
} 
1

간단한 CSS에서는 불가능합니다. 이를 달성하려면 LESS을 시도하십시오.

2

당신이 선택하고 그 요소는 부모 요소 내의 모든 요소가있는 경우, 당신은 단지 부모 요소에 스타일을 적용 할 수 :이 아래로 상속되어야에

#parent_id { 
    .... 
} 

스타일 있도록 내부 요소 그 스타일도 얻습니다.

또 다른 옵션은 보편적 * 선택 사용할 수 있습니다 :이 적어도 한 수준 parent_id 요소 아래의 모든 요소에 영향을 미칠 것

#parent_id * { 
    .... 
} 

을하지만 parent_id 자체. parent_id에 평범한 텍스트가 있어도 영향을받지 않으려면 사용할 수 있습니다.

세 번째 옵션은 HTML 마크 업을 변경하여 영향을주고 싶은 요소가 클래스를 갖도록하는 것입니다. 그런 다음 CSS는 대신 해당 클래스를 참조 할 수 있습니다.

은 (BTW - 네, LESS/SASS/등 알고 있어요,하지만 난 다른 everone 같은 대답을 게시에 많은 가치가 있었다 생각하지 않았다)

+0

계단식이 아닙니다. 그건 상속이야. 모든 스타일이 상속되는 것은 아니므로 부모 요소에서 지정하는 것만으로도 거의 항상 작동 할 수 있습니다. – BoltClock

+0

@BoltClock - 당신이 날 잡았습니다; 용어를 수정했습니다. 당신이 옳습니다. 모든 스타일이 계승되는 것은 아니지만, 그렇지 않은 이유는 제가 두 번째 옵션을 주었기 때문입니다.(그는 그가 사용하고있는 스타일을 지정하지 않았기 때문에 양쪽 모두를 제공하는 것이 가장 좋다고 생각했다) – Spudley

+0

'#parent_id *'는 부모보다 한 레벨 아래에있는 모든 요소를 ​​대상으로하지 않을 것이고 * 아래의 * 모든 * 요소를 대상으로 할 것입니다 부모. 요소의 직접적인 자식만을 목표로 삼는다면'#parent_id> *'가 사용되어야합니다. – Elise