php
  • css
  • wordpress
  • offset
  • 2013-03-04 62 views 0 likes 
    0

    我在我的網站上使用wordpress,marblesandmore.com,並且有一個我目前正在調整的主題。 該網站在使用WordPress使用菜單功能的構建和項目使用的Cufón和CSS。菜單項沒有相同的高度

    問題如下: - 最後2個項目有偏移...? - 這隻在Chrome和IE中可見。

    PHP的使用:

    <div id="menu"> 
          <?php $menuClass = 'nav superfish clearfix'; 
          $menuID = 'secondary-menu'; 
          $secondaryNav = ''; 
          if (function_exists('wp_nav_menu')) { 
           $secondaryNav = wp_nav_menu(array('theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => $menuID, 'echo' => false, 'walker' => new description_walker())); 
          }; 
          if ($secondaryNav == '') { ?> 
           <ul id="<?php echo $menuID; ?>" class="<?php echo $menuClass; ?>"> 
            <?php if (get_option('estore_swap_navbar') == 'false') { ?> 
             <?php show_categories_menu($menuClass,false); ?> 
            <?php } else { ?> 
             <?php if (get_option('estore_home_link') == 'on') { ?> 
              <li <?php if (is_home()) echo('class="current_page_item"') ?>><a href="<?php bloginfo('url'); ?>"><?php esc_html_e('Home','eStore') ?></a></li> 
             <?php }; ?> 
    
             <?php show_page_menu($menuClass,false,false); ?> 
            <?php } ?> 
           </ul> <!-- end ul#nav --> 
          <?php } 
          else echo($secondaryNav); ?> 
    </div> <!-- #menu --> 
    

    的CSS:

    ul#secondary-menu { padding: 24px 0px 0px 23px; margin-top:24px; } 
    ul#secondary-menu li { padding-right: 20px; } 
    ul#secondary-menu li.current_page_item > a > strong, ul#secondary-menu li.current-menu-item > a > strong { color:#ede7c2; } 
    ul#secondary-menu li a strong { color:#000000; text-transform: lowercase; font-size:16px; font-weight:normal; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); margin-bottom:-3px; } 
    ul#secondary-menu li a span { color: #828282; font-family: arsmaquettepro,Helvetica, sans-serif; /*text-shadow: 1px 1px 1px #2d2d2d;*/ } 
    ul#secondary-menu li a:hover { text-decoration: none; } 
    ul#secondary-menu li a:hover strong { color: #ede7c2; } 
    ul#secondary-menu li a:hover span, ul#secondary-menu li > a > span { color: #7b786a; } 
    

    應該有第4項和接下來的2

    任何想法,沒有任何區別是什麼原因造成的偏差?

    Marblesandmore.com

    編輯:下面的答案似乎是正確的,所以解決方案必須是在子菜單中的CSS:

    ul#secondary-menu ul { width: 178px; background: url(images/secondary-dropdown.png) repeat-y; padding: 3px 0px 15px; box-shadow: 3px 6px 7px 1px rgba(0, 0, 0, 0.5); -moz-box-shadow:3px 6px 7px 1px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 3px 6px 7px 1px rgba(0, 0, 0, 0.5); border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-top-left-radius: 0px; -moz-border-radius-topleft: 0px; -webkit-border-top-left-radius: 0px; border-top-right-radius: 0px; -moz-border-radius-topright: 0px; -webkit-border-top-right-radius: 0px; border: 1px solid #ffffff; border-top: none; } 
    ul#secondary-menu li:hover ul, ul#secondary-menu li.sfHover ul { left:0px; top:43px; } 
    ul#secondary-menu li:hover ul ul, ul#secondary-menu li.sfHover ul ul { left:173px; top:-3px; border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border: 1px solid #232323; }       
    ul#secondary-menu ul li { background: url(images/secondary-dropdown-bottom.png) repeat-x bottom left; padding: 0px 0px 2px 2px; } 
    ul#secondary-menu ul li a { display: block; padding: 9px 3px 9px 28px; width: 145px; /*font-weight: bold; */font-size:14px; color: #000000; font-family: arsmaquettepro, Helvetica, Arial, sans-serif; /*text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); background: url(images/secondary-dropdown-bullet.png) no-repeat 15px 17px;*/ } 
    ul#secondary-menu ul li a:hover { background-color: #383838; color: #ede7c2; } 
    
    +0

    指定URL鏈接.. – 2013-03-04 11:07:03

    +0

    或錯誤 – 2013-03-04 11:12:10

    +0

    PFF的任何圖像,愚蠢的我, marblesandmore.com – 2013-03-04 11:14:15

    回答

    0

    最後2對象只能有一個16像素高度,而其他菜單對象有18px。

    編輯:對不起,我剛剛意識到這個答案有多糟糕,沒有告訴你問題在哪裏。將嘗試檢查它。

    我認爲這與最後2個菜單項沒有子菜單有關,不知何故這些子菜單的ul標籤似乎將2px添加到高度。

    好吧,這不是一個「很好」的解決方案,說實話很難看,但我認爲它的工作原理。您可以通過使用它們的ID並在頂部添加一個頁邊空白來針對菜單中最後兩項。

    #menu-item-3606, #menu-item-3604 { 
    margin-top: 2px; 
    } 
    

    只記得,如果u曾經以任何方式更改這些菜單項,他們將有新的標識符,所以你需要改變的ID在CSS。正如我所說,不是一個好的解決方案,但它的工作。

    如果由於某種原因將子菜單添加到這兩個菜單項中,也會出現問題。

    +0

    你是對的!解決了這個問題! 現在我必須弄清楚2個像素來自哪裏!非常感謝你! – 2013-03-04 14:22:19

    +0

    改變了一下答案,這應該工作。 – Millenjo 2013-03-04 15:16:45

    +0

    WEIRD!奇怪的是,這並不適用於Chrome中的任何更改。 然而,在Firefox中,它改變了它的錯誤方式(在FF中,項目已經在線) – 2013-03-04 15:44:54

    0

    我覺得你的問題可能的原因是:

    margin-bottom:-3px; 
    

    ul#secondary-menu li a strong 
    

    選擇。

    我看不到你的頁面,所以我不知道這個答案。

    0

    @Bart van Sleeuwen請從樣式中刪除該課程。CSS

    ul#secondary-menu li#menu-item-3604 strong { color:#666666; } 
    ul#secondary-menu li#menu-item-3606 strong { color:#666666; } 
    

    和HTML找到李類

    <li id="menu-item-3604" class="menu-item menu-item-type-post_type menu-item-object-page"> 
    

    改變它喜歡這個

    <li id="menu-item-3604" class="menu-item menu-item-type-custom menu-item-object-custom"> 
    
    +0

    奧克,但它不會改變高度:) – 2013-03-04 14:19:52

    +0

    @ Bart van Sleeuwen使用頂部:3px而不是頂部:1px對於li風格的聯繫請標記我的回答作爲答案,如果它是提供給解決方案的指導。 – snowp 2013-03-04 14:52:47

    +0

    @ Bart van Sleeuwen否則使用class ** menu-item menu-item-type-custom menu-item-object-custom **而不是** menu-item menu-item-type-post_type menu-item-object-page ** li聯繫人的類別 – snowp 2013-03-04 14:56:48

    相關問題