代码之家  ›  专栏  ›  技术社区  ›  JLR

更改特定宽度重复设计的菜单布局WordPress

  •  0
  • JLR  · 技术社区  · 13 年前

    我正在开发一个响应式WordPress主题。

    在普通电脑(全尺寸)上,菜单是可见的,就像:

    <div id="header-menu" role="complementary">    
         <ul>
             <?php wp_list_pages('title_li=&depth=1&link_before=<span>&link_after=</span>'); ?>
         </ul>
    </div>
    

    在一定的宽度上(对于移动设备和平板电脑,我想用这样的菜单取代这个菜单:

    <div id="header-menu-mobile" role="complementary">
           <form action="<?php bloginfo('url'); ?>" method="get">
           <?php
    
           $args1e = array(
            'depth'            => 1,
            'child_of'         => 0,
            'selected'         => 0,
            'echo'             => 1,
            'name'             => 'page_id');
    
            wp_dropdown_pages( $args1e ); ?>
    
           </form>
        <script type="text/javascript"><!--
        var dropdown = document.getElementById("page_id");
        function onCatChange()
        {
            if ( dropdown.options[dropdown.selectedIndex].value > 0 )
            {
                location.href = "<?php echo get_option('home');
                ?>/?page_id="+dropdown.options[dropdown.selectedIndex].value;
            }
        }
        dropdown.onchange = onCatChange;
        --></script>
    </div>
    

    我可以在css中为某个宽度设置“标题菜单”以隐藏。。。并将“标题菜单移动”设置为可见。我有点累了,也许有更好的解决方案可以让它发挥作用。

    有什么想法吗?

    致以亲切的问候 约翰

    2 回复  |  直到 13 年前
        1
  •  0
  •   Mangesh Parte    13 年前

    你说得对 CSS 主意坚持下去。 使用此标准CSS结构使您的网站响应迅速。

    /* Large desktop */
    @media (min-width: 1200px) { ... }
    
    /* Portrait tablet to landscape and desktop */
    @media (min-width: 768px) and (max-width: 979px) { ... }
    
    /* Landscape phone to portrait tablet */
    @media (max-width: 767px) { ... }
    
    /* Landscape phones and down */
    @media (max-width: 480px) { ... } 
    
        2
  •  0
  •   Prince Singh    13 年前

    尝试 $_SERVER['HTTP_USER_AGENT']; 它告诉您有关用户操作系统和浏览器的信息。您可以相应地构建代码 示例-

    if $_SERVER['HTTP_USER_AGENT'] == 'win 8'
    echo $menu_for_windows ;
    else if $_SERVER['HTTP_USER_AGENT'] =='opera mini'
    echo $menu_for_mobile 
    

    等等

    而且

    $browser = get_browser(null, true);
    echo $browser['platform'] ; exit;
    

    可以告诉你用户平台