【发布时间】: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