2016-05-31 3 views
0

다음과 같은 CSS 클래스를 대상으로하는 쉬운 방법이 있는지가 팽창 약간의 원인이 될 수 있기 때문에이 궁금 : 나는 끈적 끈적한 헤더를 사용하지 않으려는 어디, 다른 하나의 페이지가CSS 콤비 선택

을 다른 요소가 해당 페이지에 고정되어 사용되기 때문입니다. 내가 20 배 이상 선택기 클래스를 사용하도록 종료하고 20 페이지의 끈적 끈적한 헤더를 사용하지 않으려면

.page-id-xx .header-is-sticky .header { 
position: static; 
} 

있지만 페이지-ID-XX는 : 지금까지 내가 사용하여 이러한 클래스를 선택 변화. 그것은 다음과 같이 것 : 나는 궁금

.page-id-1 .header-is-sticky .header, 
.page-id-2 .header-is-sticky .header, 
.page-id-3 .header-is-sticky .header, 

and so on ... 

을의 .header 클래스를 대상으로보다 지능적인 방법은 어쩌면 일부 combiselectors의 도움이 있다면? 또는 빠른 자바 스크립트 스 니펫이 있습니까? 요소의 ID (#subnav)를 검사하여 if 루프를 만들 수 있습니다.이 페이지는 해당 페이지의 헤더에 번갈아 붙어 있어야합니다. 사전에

감사합니다 :)

답변

2

아마도 불필요한 특이성?

당신이 절대적으로 부모의 선택 (즉 page-id-n)가 필요합니까하지 않을 경우, 다음 분명히 아주 조금 더 우아한 것 다음

.header-is-sticky .header { 
    position: static; 
} 

는 CSS 셀렉터를 활용

CSS는 일련의 attribute selectors을 제공하여 속성에 대한 다양한 제약 조건에 따라 특정 요소를 대상으로 지정할 수 있습니다. starts-with 및 contains 선택자는 여기에서 필요에 따라 작동합니다.

/* This will match any element that has a class attribute that starts with "page-id" */ 
[class^="page-id"] .header-is-sticky .header { 
    position: static; 
} 

/* This will match any element that has a class attribute that contains "page-id" */ 
[class*="page-id"] .header-is-sticky .header { 
    position: static; 
} 
+0

안녕하세요. 빠른 답장을 보내 주셔서 감사합니다. 예, 헤더를 끈적 거리지 않아야하는 페이지를 식별하려면 page-id-xx가 필요합니다. 다른 페이지에서는 헤더가 계속 끈적 거림을 나타내야합니다. 모든 페이지는 ID 다음에 숫자를 추가하여 고유 한 페이지 ID를 가지며 심지어 헤더가 계속 sticky되어야하는 페이지까지도 포함합니다 (따라서 클래스의 이름은 page-id-1, page-id-2, page-id-3입니다). ... 등). 따라서 클래스 "page-id"에 대한 하나의 글로벌 인수가 문제를 해결하지 못합니다. 모든 페이지가 고유 번호와 함께 추가 번호를 얻습니다. ( – DoUtDes

+0

그러면 CSS 선택기 방식이 도움이 될 것입니다. 당신의 페이지 클래스가 당신의 엘레멘트에 존재하는 첫 번째 것이고, "contains"가 예상대로 작동해야만 "starts with"이 작동 할 것이라는 점을 주목해라. –

+0

나는 끈적한 헤더가 세계적으로 사용되도록 노력했다. 모든 페이지에는 "page-id"클래스가 있습니다. 예를 들어 100 개의 하위 페이지가 있으며 그 중 모든 페이지에는 처음에 page-id가 있습니다. 페이지 ID-1의 고정 헤더를 비활성화하려는 경우까지 page-id-20 (of 100). id 21-100이있는 페이지는 다른 요소가 끈적 거리지 않도록 끈끈한 헤더가 있어야합니다. 페이지 1의 끈적 끈적한 요소를 대상으로하는 방법이 있습니까? -20 그리고 그 경우에는 .header 클래스에 따라 CSS 규칙을 정의하시오? 당신의 인내심을 가져 주셔서 감사합니다;) – DoUtDes