2013-03-05 2 views
-2

와 나는 www.something.com/home있는 페이지를 (그리고 난이 스타일을 사용하기 때문에 배경, 빨간색)

body.menu-home .main-bg { 
background: red ; } 

을하지만 사람들이 예를 www.something.com/home/photos 위해에 갈 때 스타일링이 있기 때문에, 또한 빨간색/home 스타일을 따른다. 이걸 어떻게 바꿀 수 있니? 나는 단지/home에있는 빨간색 배경을 원한다.

, 어떤 제안을 나는이

body.menu-home$ .main-bg { 
background: red ; } 

일을 시도하지만 일을 일부러? 임 사용 줌라은 BTW

당신은 항상 당신의 템플릿 index.php 파일이 뭔가를 추가 할 수 있습니다 사전

+1

'$'기호를 사용하여 CSS 스타일을 지정할 수 없다고 생각하면 방문한 페이지에 따라 클래스를 추가해야합니다 (예 : body.home 또는 body.photos 등) –

+0

많은 것들을 절대 혼동하고 있습니다 여기 ... CSS 스타일은 다른 페이지에 적용되지 않습니다. URL과 dom-tree는 어떤 식 으로든 상관 관계가 없습니다. 또한 해당 운영자는 현재 어떤 브라우저에서도 지원되지 않습니다. '!'atm으로 CSS 선택기 레벨 4에서 지정되었지만 문제와 아무 관련이 없습니다. – Christoph

+0

@Cristoph 그럼 OP가 가장 가능성이 있기 때문에 외부 스타일 시트는 물론 스타일이 다른 페이지에 적용됩니다. 그러나 여전히 클래스를 추가하는 것은 그것을 할 것입니다. 또는 특정 페이지에 인라인 스타일을 사용하십시오. – jtheman

답변

1

에 감사합니다 : 그것은 당신의 위치의 감지

$app = JFactory::getApplication(); 
$doc = JFactory::getDocument(); 
$menu = $app->getMenu(); 
if ($menu->getActive() == $menu->getDefault()) { 
     $css = 'body.menu-home .main-bg {' 
       .'background: red;' 
       .'}'; 
     $doc->addStyleDeclaration($css); 
} 

기본 메뉴 항목에, 귀하의 홈페이지라고 가정하고, 그렇다면 해당 CSS 코드를 추가하십시오.

참고 : $doc = JFactory::getDocument();가 이미 정의되어있는 경우,이 도움이

희망 위의 코드에서 제거합니다.

+1

+1'$ css ='가 누락 되었습니까? – Christoph

+0

@Christoph - 그것을 지적 해 주셔서 고맙습니다 :) 내가보기에 또 다른 커피를 만들어야합니다. / – Lodder