2013-04-29 4 views
0

탐색 링크의 배열을 보유하고있는 파일이 있으므로 탐색 메뉴에 새 링크를 추가하려면 수동으로 여러 개를 변경하지 않고 하나의 파일에서 수행 할 수 있습니다 . 그러나 각 메뉴 링크 (카테고리)에는 다른 a : hover 색상이 필요하지만 현재 코딩이 작동하지 않습니다.CSS/PHP 변경 호버 색상 링크

다음은해야하는 색상과 함께, 메뉴 항목이 저장되는 파일의 : 다중 인덱스 배열의 호버 색상 (일부는 비어 있습니다) : 여기

<?php 

$CATEGORIES = array(
    array("culture", "#f9993c"), 
    array("nature", "#59AF56"), 
    array("science", "COLOUR"), 
    array("society", "COLOUR"), 
    array("technology", "COLOUR") 
    ); 

?> 

파일의이 그 두 번째 색상으로 모든 링크가 홀수 마우스 오버에 "#의 59AF56"로 나오고 있기 때문에, 당신이 그런 스타일을 교환 할 수없는 추측하고있어

<?php 

$count_categories = count($CATEGORIES); 
$incr_categories = 0; 

while($incr_categories != $count_categories) { 
    // Change main_right_sub a:hover 
    echo "<style>#main_right_sub a:hover { color: ".$CATEGORIES[$incr_categories][1]."; } </style>"; 

    // Print Nav Items 
    echo "<a href='category.php?cat?=".$CATEGORIES[$incr_categories][0]."'>".strtoupper($CATEGORIES[$incr_categories][0])."</a>"; 

    // Increment Count 
    $incr_categories++; 
    if ($incr_categories != $count_categories) { 
     echo "&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;"; 
    } 
} 

?> 

: 메뉴 항목을 인쇄 다중 색인 배열에서. 어떤 도움을 주시면 감사하겠습니다! 에 의해 중 (

<a href="category.php?cat=culture" class="culture">CULTURE</a> 

그리고 필요한 색상으로 각 링크 클래스에 대한 CSS 스타일을 정의 :

답변

0

먼저 각각의 요소로 후로드되지 않습니다 그렇게 생각 할수 있겠지, 브라우저는 그래서 당신의 최후의 수단은 기본적으로 자바 스크립트

<a 
    href="link.php" 
    onMouseOver="this.style.color='#FFF'" 
    onMouseOut="this.style.color='#000'" 
>Text</a> 

무엇 당신이 할 수있는 것은 인라인 CSS 스타일을 활용 무엇이든 당신의 모든 요소에 우선 순위가 가장 높은 규칙을 사용하지만, 불행하게도 :hover 지지자하지 않습니다 그러나 최적의 방법은 의심 할 여지없이 클래스를 사용하고, 모든 콜론 티에 클래스를 부여하고, 필요에 따라 이러한 클래스를 원하는 요소에 추가하는 것입니다.

+0

완벽하게 작동합니다. 감사합니다. – DorianHuxley

1

당신은 결과 링크가 예를 들어, 다음과 같습니다 있도록 링크를 CSS 클래스 등의 카테고리를 설정할 수 있습니다 PHP 코드 또는 정적 CSS 파일에 정의하여 그것들을 생성하는 예를 들어, 문화 링크를 위의 예에서와 같이 :. 모든 CSS의

#main_right_sub a.culture:hover 
{ 
    color: #f9993c; 
} 
+0

새 메뉴 항목을 추가 할 때 추가 수정이 필요합니다. 나는 일을 한 파일에서 변경할 필요가 있도록 나머지는 자동으로 수행되지만 어쨌든 고마워요. – DorianHuxley

+0

최악의 시나리오에서는''을 HTML 코드에서 동일한 파일로 차단하고 그 안에 CSS 코드를 넣으십시오. – pilsetnieks