簡體   English   中英

CSS Sprites 和 PHP 使用動態菜單突出顯示不使用循環 function

[英]CSS Sprites and PHP using dynamic menu highlighting not working with loop function

在這個網站上: http://jumpthru.net/newsite/vision/

我正在使用 CSS 精靈進行導航,並使用 PHP else 語句來顯示當前頁面的活動 state。 除了包含循環/博客帖子的頁面( http://jumpthru.net/newsite/commentary/ )之外,所有頁面都正常工作

我需要為此頁面以不同的方式調用 php 嗎?

PHP:

<?php
if ( is_page('vision') ) { $current1 = 'visionside a'; }
elseif  ( is_page('team') ) { $current2 = 'teamside a'; }
elseif  ( is_page('commentary') ) { $current3 = 'blogside a'; }
elseif  ( is_page('organizations') ) { $current4 = 'orgside a'; }
?>

CSS:

#sidebarnav ul#sidenav li.<?php echo $current1; ?> {
background:url(http://jumpthru.net/newsite/wp-content/themes/twentyten/images/side/vision2.png)  0px -106px !important;

}

#sidebarnav ul#sidenav li.<?php echo $current2; ?> {
background:url(http://jumpthru.net/newsite/wp-content/themes/twentyten/images/side/team2.png)  0px -106px !important;

}

#sidebarnav ul#sidenav li.<?php echo $current3; ?> {
background:url(http://jumpthru.net/newsite/wp-content/themes/twentyten/images/side/content2.png)  0px -106px !important;

}

#sidebarnav ul#sidenav li.<?php echo $current4; ?> {
background:url(http://jumpthru.net/newsite/wp-content/themes/twentyten/images/side/org2.png)  0px -106px !important;

}

任何幫助將不勝感激!

我有一個與您正在尋找的解決方案有點不同,但對您正在做的事情來說是一個更好的解決方案。

PHP:

<?php 

if ( is_page('vision') ) 
  $page = 'vision';
elseif ( is_page('team') )
  $page = 'team';
elseif ( is_page('commentary') )
  $page = 'blog';
elseif  ( is_page('organizations') ) 
  $page = 'org';

?>

<body id="page-<?php echo $page; ?>">
...

注意上面的 PHP :如果你有一個get_page_id() function,你可以簡化很多。 只需使用<body id="page-<?php get_page_id(); ?>">

HTML:

<ul id="sidenav">
    <li class="visionside"><a href="#">...</a></li>
    <li class="teamside"><a href="#">...</a></li>
    <li class="blogside"><a href="#">...</a></li>
    <li class="orgside"><a href="#">...</a></li>
</ul>

CSS:

body#page-vision #sidenav li.visionside a,
#sidenav li.visionside a:hover {
   ...
}

注意上面的 CSS:上面列出了兩行,您可以一起設置樣式 - 當前的 state 和 hover66ED39E2EA69A94188。 這將使當前 state 在您 hover 超過導航時顯示,無論哪個導航是“當前”導航。

看到您有興趣使用 CSS Sprites,我絕對建議您閱讀這篇文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM