防止在jQuery Mobile上水平滚动
Prevent horizontal scroll on jQuery Mobile
有没有办法防止移动设备上的水平页面滚动,最好只使用 CSS?
下面是一个示例:http://jsfiddle.net/YfLst/15/
更新:以下代码解决了iOS上的问题,但问题仍然存在于Android上:
html, body {
overflow-x: hidden !important;
position: relative !important;
}
有不同的方法可以做到这一点:
您可以使用特殊的样式表定位移动设备
<link rel="stylesheet" media="handheld, only screen and (max-device-width: 320px)" href="phone.css">
并将车身宽度设置为 100% 并溢出 x:隐藏,甚至尝试绝对定位它
body {
width: 100%;
overflow-x: hidden;
position: absolute;
top: 0;
left: 0;
}
在 CSS 中。
如果"防止水平滚动"是指视口(移动屏幕上显示的区域)太窄,应该更大,则应在元标记中相应地设置视口宽度
<meta content="width = 999 (for example)" name="viewport">
不使用 CSS,但您可以使文档不比屏幕宽,这样就不会有问题。
否则,你将不得不使用javascript/jquery解决方案,如下所示:http://forum.jquery.com/topic/scrollview-make-page-not-scrollable
对于jQuery mobile,css文件的顺序很重要。我所要做的就是确保我在jQuery Mobile css之前包含我的主题css,而不是像这样在它之后:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, user-scalable=no">
<link rel="stylesheet" type="text/css" href="css/themes/green-theme.css" />
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.structure.min.css" />
如果你查看jQuery Mobile的css,你会看到防止水平滚动的代码:
body.ui-mobile-viewport, div.ui-mobile-viewport {
overflow-x: hidden;
}
你甚至不必在你的身体标签上添加任何类。 jQuery mobile会自动完成。
相关文章:
- 如何创建一个具有固定左右列和水平滚动的表
- 通过水平滚动将页眉固定到页面顶部
- 具有Twitter引导程序的水平滚动表
- 如何避免鼠标水平滚动选项卡面板溢出
- 使用鼠标滚轮水平滚动页面
- 水平滚动不适用于jquery单击
- 每次单击按钮时水平滚动元素
- 简单的一页水平滚动
- 移动浏览器-如何删除拖动到水平滚动
- 如何避免在自由jqgrid中单击单元格进行水平滚动编辑
- 网站水平滚动,但单独的页面
- html表格的浮动水平滚动条
- 单击水平滚动库中的图像以居中显示无法工作的功能
- 移动/触摸屏幕 - 滑动时水平滚动
- 如何在水平滚动 Jquery 上实现延迟加载
- 具有无限水平滚动的流体可调整大小图像(修订版 2)
- visjs时间线的水平滚动条
- Chrome中无法进行水平滚动
- 水平滚动Marquee,当函数被调用时,我的文本坚持聚集在一起
- 在安卓系统中使用jquery Mobile中的水平滚动