der*_*ahc 3 html javascript css jquery-mobile cordova
我的任务是使Web应用程序更适合移动设备.我正在通过PhoneGap运行应用程序来获取移动版本,但是事先使用Ripple Emulator测试其外观.
PhoneGap在应用程序上运行得很好,但是有一种"控制面板",其宽度不会改变,并且它使得这个控制面板占据了移动视图的大部分宽度,这是不好的.
基本上,我需要编辑当前的JavaScript文件,以便检测查看器是否是移动设备,并相应地调整此控制面板元素的宽度.不幸的是,我基本上是所有网络开发的新手..
因此,作为一般性问题,我将如何做到这一点?我认为我需要在实际加载页面之前进行这些调整,但我不确定JS文件中会发生什么.客户端正在使用JQuery Mobile和其他一些库.原始开发者已经在使用了
<meta name="viewport" content="width=device-width, initial-scale=1" />
Run Code Online (Sandbox Code Playgroud)
标签,但它对此控制面板部分没有影响,控制面板元素的宽度是硬编码的.
这是一个非常模糊的问题,但我很感激任何提示或指导.
小智 7
您可能想要查看"响应式"设计.具体来说,我真的很喜欢Bootstrap的实现.它全部由CSS控制,基于视口像素宽度.
您可以使用以下"@media"css代码创建响应式CSS:
@media (max-width: 240px) {
/* really tiny screens */
}
@media (min-width: 241px) and (max-width: 319px) {
/* a little bit bigger screens */
}
@media (min-width: 320px) and (max-width: 767px) {
/* Basically up to, but not including an iPad */
}
@media (min-width: 768px) {
/* iPad and bigger */
}
Run Code Online (Sandbox Code Playgroud)
在每个@media标记内,您可以为每个大小放置自定义CSS,因此在240px时,您可能有一个字体大小为16px的标题类:
@media (max-width: 240px) {
/* really tiny screens */
.title {
font-size: 16px;
}
}
Run Code Online (Sandbox Code Playgroud)
然后冲洗并重复以更改每个后续视口大小的字体大小.
使用特定于方向的 CSS,例如:
<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
Run Code Online (Sandbox Code Playgroud)
将视口设置设置为设备最大宽度并使用 CSS 处理内容的实际宽度:
<meta id="viewport" name="viewport" content="initial-scale=1.0;minimum-scale=1.0; maximum-scale=1.0" />
Run Code Online (Sandbox Code Playgroud)