2013-03-29 4 views
0

하나의 XML, 하나의 XSLT 및 하나의 CSS를 사용하여 간단한 블로그 스타일 웹 사이트를 만들려고합니다. XML에 대한 항목을 하나만 볼 수있는 옵션이 있기를 바란다. javascript 나 php 없이도이 작업을하고 싶다. : target 선택자를 사용하여이 작업을 수행하려고합니다.대상 선택기가 아닌 요소를 선택합니까?

달성하고자하는 동작은 다음과 같습니다.

  • index.html을 하나의 단지 = "하나"
  • 있는 index.html #이 만 ID로 항목을 표시해야합니다 ID로 항목을 표시해야합니다 모든 것을
  • index.html을 번호를 표시해야합니다 = "2"

등등.

마지막 형제를 표시하는 솔루션을 찾았지만 적합하지 않습니다. 내 xslt 테이블에 항목을 켭니다 및 어떻게 동적으로 해당 솔루션에 맞게 xml 구문 분석 할 볼 수 없습니다.

CSS로이 작업을 수행 할 수있는 방법이 있습니까? 아니면 PHP 학습을 시작해야합니까?

+1

'.entry : not (: target)' – Pavlo

+0

: 선택자를 사용하지 않는 방법에 대해 두뇌를 해보려고했는데 올바른 방법을 찾지 못하는 것 같습니다. div : target + div : not (: target)을 선택하고 싶습니다 (대상이 아닌 모든 형제 div를 선택하십시오). 그러나 이전 div가 아닌 div 만 선택합니다. 그것이 의미가있는 경우 : < – user2225516

+0

div에 클래스를 추가 한 다음 요소 이름이 아닌 클래스 이름을 선택하십시오. 그리고 예, CSS에는 "이전 형제 선택기"가 없습니다. – Pavlo

답변

0

이것은/또는 명제 여야합니다 ... PHP를 배우십시오. 그것은 당신에게 도움이 될 것입니다.

하지만 CSS 전용 솔루션 (약간의 .htaccess 매직 사용)에서는 index.html을 index.html # all로 다시 작성할 수 있으며 배치 div의 ID를 모두 (또는 래퍼 ID is), 다음을 설정합니다 : #all에 대한 목표 CSS는 모든 것을 표시합니다. 이것은 정상적인 페이지에 기본적으로 모든 것을 숨길 수

#all .YouWantToHide { 
    display:none; 
} 

#all:target .YouWantToHide, #one:target, #two:target { 
    display:block; 
} 

는이 #all 대상에 쇼를 ((방문하지 않을 것이다, 그냥 보여주고 다른 이상 숨길 특정 항목에 대한 톤을 설정)하는 이제 기본 페이지가 됨), 필요에 따라 특정 항목이 표시되고 다른 항목은 숨겨집니다.

+0

그리고 .htaccess를 index.hml #로 리다이렉트 시켰습니까? 나는 그것을 할 수 있었지만, htaccess 없이는 URL에 목표가없는 모든 것을 숨겼다. htaccess를 살펴보고 시도해보십시오. – user2225516

+0

그래, htaccess를 다시 쓰지 않고도 작동하지 않을 것이다. 일단 당신이 그것을 설정하면, 그것은 매끄러 워야합니다. – PlantTheIdea

+0

나는 간단하게 (내가 말할 수있는 한) "redirect /index.htm /index.htm#all"을 시도했지만 500 개의 내부 서버 오류가 발생했습니다. 변경 권한을 0644로 시도했지만 도움이되지 않았습니다. D (호스트는 상장)입니다. – user2225516

관련 문제