根据页面宽度在页面上显示元素

时间:2011-11-20 11:00:55

标签: jquery html css

我想调整视图中显示的元素,具体取决于页面的宽度。假设页面宽度大于800像素,那么我想显示div A + div B(见下图)。

enter image description here

但如果页面宽度小于或等于600像素,那么我只想显示div A。

enter image description here

它必须是动态的。因此,如果用户调整窗口大小,则必须显示或隐藏div B.

jQuery解决方案?

感谢。

3 个答案:

答案 0 :(得分:3)

使用media queries在CSS中执行此操作!

@media screen and (max-width: 799px) { 
    #b {
        display:none;
    }
}

jsfiddle

答案 1 :(得分:1)

假设您希望非JavaScript用户同时看到A和B:

$(document).ready(function() {

    var $divB = $('....'); // Define div B here using selectors

    $(window).resize(function() {
        if ($(window).width() < 800) {
            $divB.hide();
        }
        else {
            $divB.show();
        }
    });
});
编辑:哎呀,没看到你想要它是动态的。改变。

在CSS中执行它,因为Eric说这是比jQuery更好的选择。

答案 2 :(得分:1)

$(function(){
  var $body=$(document.body), width=$body.outerWidth(), c='large';
  if (width<600) {
    c='small';
  }
  else if (width<800) {
    c='medium';
  }
  $body.addClass(c);
});

然后在CSS中使用body.smallbody.mediumbody.large来提供不同的布局。