JQuery - 响应式设计(显示)

问题描述:

我正在尝试创建我的第一个RWD网站,但现在我已经开始编写移动CSS了,我认为它正确的时间询问我的标题是否是正确的方式。JQuery - 响应式设计(显示)

为了让窗口加载特定的.css文件(根据屏幕宽度桌面/平板电脑/手机),我在html中写入了所需的所有媒体。

桌面和平板电脑在设计上非常相似。只有几个div重排,它看起来不错。但是当谈到移动时,我想改变导航仪的外观。 例如在桌面的内联块中居中屏幕。 但是在移动设备上,我想要一种新的设计,一个dropmenu可以说。

所以我虽然在html中创建了两个导航器,并且在JQuery中编写了一个代码来检查window.width。如果宽度将小于平板电脑window.width(这将是500px),然后添加display:none;到桌面导航器并删除显示:无;从移动导航器。

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

Q2: 这是我的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"); 
} 
    } 
+0

这不是最好的方法。你应该在CSS的'@ media'查询中处理它。所以实际上你应该使用JS来进行事件遍历或者动画,这些事情通常不会仅仅通过CSS来实现。除此之外的任何内容都应该由CSS定义。你不希望浏览器显示一个元素,并且一旦JS解析文档使其消失或者做任何其他核心内容。相反,隐藏 - 在CSS中显示元素是即时的 - 用户不会遭受奇怪的代码行为。 –

+0

我明白了。我不知道该怎么做。但我猜它是在这两行之间:[code]'@media \t只有屏幕和(-webkit-min-device-pixel-ratio:2), \t只有屏幕和(min-moz-device-pixel- (最小装置像素比率:2), (仅最小装置像素比率:2/1),仅屏幕和(( - 最小装置 - 像素比率:2/1),)最小分辨率:192dpi), \t只有屏幕和(最小分辨率:2dppx) { \t的#header { \t \t背景图像:网址(../images/banner_medium_2x.jpg); \t \t \t } \t \t 的#header a.logo { \t \t \t 背景\t图像:网址(../图像/ logo_medium_2x.png); \t \t \t \t } }'[/代码] – Metalbreath

你只需要这在你的CSS

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

他只需要这两个中的一个 - 这取决于*移动第一*的方法。 –

+0

那是对的,只是向他展示它如何完成 –

+0

是的,这是有道理的。我知道我现在需要做什么。我只是不知道如何继续。不幸的是我不能投票您的评论呢。但每个人都有我需要学习的东西。谢谢大家:) – Metalbreath

我建议你看一看引导(http://getbootstrap.com/) 这是一个CSS和JavaScript框架,移动第一种方法。

<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> 

引导使用它来确定XS的尺寸,SM,MD,...

要显示在引导你可以使用他们的响应公用事业(http://getbootstrap.com/css/#responsive-utilities-classes) 例如删除某个DIV

/* 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) { ... } 
+0

我读过,引导程序很好用,只有当你想使用它的许多功能。否则它只会让网站变得更重。虽然我想了解如何在某些时候使用它,因为许多公司都需要它来雇用你 – Metalbreath

+0

您可以自定义引导程序,并只使用您需要的部分。看看这个页面:http://getbootstrap.com/customize/例如,你只能检查网格系统。 – yeouuu

+0

我会在几天后回来。我想用bootstrap创建另一个网站。谢谢你让我知道这是可能的。到目前为止,我只对网格有所了解(我正在使用1200px.com) – Metalbreath