2012-07-19 40 views
0

我在我的引导应用程序中使用以下媒体查询。ipad媒体查询引导程序下拉列表

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) { 
.nav li { width: 100%; 
     } 
.nav .dropdown ul {display:none; } 
.nav .open ul { display: block; } 

.nav-collapse .nav > li > a, .nav-collapse .dropdown-menu a { 
    text-align: center; 
    background-color:#211256; 
    } 

.nav-collapse .nav > li > a:hover, 
.nav-collapse .dropdown-menu a:hover { 
background-color: #211256; 
color:white; 

} 

    .navbar .nav > li a:hover{ 
    color:white; 
    } 

    .navbar .nav .active > a, .navbar .nav .active > a:hover { 
    background: #211256; 
    color: white; 
    text-decoration: none; 
    } 

    .nav-collapse .nav > li > a, .nav-collapse .dropdown-menu a { 
    border-radius: 3px 3px 3px 3px; 
    color: white; 
    font-weight: bold; 
    padding: 6px 15px; 
    margin-bottom:2px; 

    } 

    .navbar .nav li.dropdown .dropdown-toggle .caret, .navbar .nav li.dropdown.open .caret { 
    border-bottom-color: white; 
    border-top-color: white; 
    } 


    .navbar .nav li.dropdown.open > .dropdown-toggle, .navbar .nav li.dropdown.active > .dropdown-toggle, .navbar .nav li.dropdown.open.active > .dropdown-toggle { 
background-color: transparent; 
color: #211256; 
} 
.accordion-inner { 
border-top: 1px solid #E5E5E5; 
padding: 9px 15px; 
} 


} 

当在横向模式下查看网页

 http://46.32.253.11/ 

下拉导航栏默认是开放的,我不能看到引导按钮,我使用完全相同的媒体查询的最大宽度979px和按钮出现并关闭。

任何人都可以建议我需要什么选择器让ipad显示引导按钮并隐藏下拉菜单,直到按下按钮。

任何帮助表示赞赏

回答

1

这将需要一些JavaScript和我要推荐的jQuery为了简洁起见。

本质上,您将要在JavaScript中监听orientationchange事件,然后根据方向调用将处理切换的函数。

$(document).ready(function() { 
    window.onorientationchange = function() { 
    var orientation = window.orientation; 
    switch(orientation) { 
     case 0: // portrait 
     break; 

     case 90: // landscape left 
     toggler(); 
     break; 

     case -90: // landscape right 
     toggler(); 
     break; 
    } 
    } 
    function toggler() { 
    var toggled = false; 
    $('.dropdown-toggle').on('click', function() { 
     if (toggled === false) { 
     $('.nav .open ul').hide(); 
     $('.nav .dropdown ul').show(); 
     toggled = true; 
     } else { 
     $('.nav .dropdown ul').hide(); 
     $('.nav .open ul').show(); 
     toggled = false; 
     } 
    }); 
    } 
}); 

试试看,看看它是否让你开始在正确的方向(双关意图)。

+0

再次感谢您的回答尼克,是否有一种方式与CSS来做到这一点?或者我会把jquery纳入自己的媒体查询?对于媒体查询很抱歉 – Richlewis 2012-07-19 20:07:16

+0

不幸的是,您无法将JS放入CSS媒体查询中。你可以做的是听取'resize'事件,并在页面加载时检查'document.body.offsetWidth'。我会修改我的答案以包含此内容。 – 2012-07-20 00:30:42

+0

我考虑的越多,如果你只是针对iPad的方向,那么'resize'事件就没有必要了。 – 2012-07-20 00:49:36