【问题标题】:JQuery - Responsive Design (Display)JQuery - 响应式设计(显示)
【发布时间】:2015-11-01 10:01:55
【问题描述】:

我正在尝试创建我的第一个 RWD 网站,但现在我已经开始编写移动 CSS,我认为现在是询问我前进的方向是否正确的正确时机。

我在 html 中编写了所有需要的媒体,以便窗口加载特定的 .css 文件(根据桌面/平板电脑/移动设备的屏幕宽度)。

台式机和平板电脑在设计方面非常相似。只是几个 div 重新排列,它看起来不错。但是在移动方面,我想改变导航器的外观。 例如,在桌面中,它的内联块以屏幕为中心。 但在移动设备上,我希望有一种新设计,比如说下拉菜单。

所以我想在 html 中创建两个导航器,并在 JQuery 中编写一个检查 window.width 的代码。如果宽度小于平板的 window.width(即 500px),则添加 display:none;到桌面导航器并删除显示:无;来自移动导航器。

第一季度: 这是正确的做法吗?在 html 中编码 div 并使用 JQ window.width 添加/删除显示?或者,还有更好的方法?我试图用谷歌搜索这个问题,但我找不到一个直接的答案。

第二季度: 这是我的 JQ 代码。虽然由于某种原因它不起作用,但我是否走在正确的道路上?

   checkWidth();

    $(window).resize(checkWidth);

     var $window = $(window);


    function checkWidth() {
        var windowsize = $window.width();
        if (windowsize < 500) {
           alert("works");
        //   $(".mobHome").removeClass("noShow");
        } else {
$(".mobHome").addClass("noShow");
}
     }

【问题讨论】:

  • 这不是最好的方法。您应该在 CSS 的 @media 查询中处理这一切。因此,实际上您应该将 JS 用于事件遍历或动画,这些通常不能(或几乎)单独通过 CSS 实现。除此之外的任何东西都应该由 CSS 定义。您不希望浏览器显示一个元素,并且一旦 JS 解析文档使其消失或执行任何其他核心内容。取而代之的是隐藏——在 CSS 中显示元素是即时的——用户不会受到奇怪的代码行为的影响。
  • 我明白了。我不知道该怎么做。但我猜它介于这几行之间:[code] '@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2) , only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (最小分辨率:2dppx){#header {背景图像:url(../images/banner_medium_2x.jpg); } #header a.logo{ 背景图像: url(../images/logo_medium_2x.png); } }'[/code]

标签: jquery mobile responsive-design


【解决方案1】:

你只需要在你的 css 中使用这个

@media screen and (max-width:550px) {
     .mobHome { display:block; }
}
@media screen and (min-width:551px) {
     .mobHome { display:none; }
}

【讨论】:

  • 他只需要这两个中的一个 - 取决于 mobile-first 方法。
  • 是的,这是有道理的。我知道我现在需要做什么。我只是不确定如何进行。不幸的是,我还不能投票给你的 cmets。但每个人都有我需要学习的东西。谢谢大家:)
【解决方案2】:

我建议你看看 Bootstrap (http://getbootstrap.com/) 这是一个 css 和 javascript 框架,采用移动优先方法。

要在引导程序中从显示中删除某个 div,您可以使用他们的响应式实用程序 (http://getbootstrap.com/css/#responsive-utilities-classes) 示例:

<div class="hidden-xs">
    This is not visible on small screens.
</div>
<div class="visible-xs-block">
    This is only visible on small screens.
</div>

Bootstrap 使用它来确定 xs、sm、md、...的大小

/* Extra small devices (phones, less than 768px) */
/* No media query since this is the default in Bootstrap */

/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) { ... }

/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) { ... }

/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) { ... }

【讨论】:

  • 我读过 bootstrap 只有在你想使用它的许多功能时才适合使用。否则它只会让网站变得更重。虽然我想在某个时候学习如何使用它,因为许多公司需要它才能雇用你
  • 您可以自定义引导程序,并且只使用您需要的部分。看这个页面:getbootstrap.com/customize 比如你只能查看网格系统。
  • 我会在几天后回来讨论这个问题。我想用 bootstrap 创建另一个网站。谢谢你让我知道这是可能的。到目前为止,我只对网格有新的了解(我使用的是 1200px.com)
  • 哦,在那种情况下,我没有理由不使用引导程序。我被误导了。这将节省我很多时间
猜你喜欢
  • 1970-01-01
  • 2012-07-27
  • 2014-10-10
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多