css写的手机网站页面如何使网页左右固定不动

51CTO旗下网站
手机web――自适应网页设计(html/css控制)
就目前形势来看,Web App 正是眼下的一个趋势和潮流,但是,对于Web App的设计可能大家有的不是很了解,下面就将整理好的网页设计的技巧奉献给大家。
作者:佚名来源:68design| 11:02
一. 允许网页宽度自动调整:
&自适应网页设计&到底是怎么做到的?
其实并不难。
首先,在网页代码的头部,加入一行viewport元标签。
&name=&viewport&&content=&width=device-width,&initial-scale=1&&&&
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
对于viewport属性,我是真正在接触移动web开发是才遇到的,一把的ps布局都是固定的960px,1000px这种。
下面三篇文章是对viewport属性详细的解释:
Viewport(视区概念)&&pc端的理解
Viewport(视区概念)&&移动端的应用
viewport &&视区概念(转)
对于老式IE6,7,8浏览器需要js处理,由于主要平台是ios和安卓,所有可以暂时不考虑
二. 不使用绝对宽度
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。
这一条非常重要。
具体说,CSS代码不能指定像素宽度:
只能指定百分比宽度:
width: xx%;
或者:width:
这里开发是指一个网页不仅能用在ps上,也能同时用于移动端,但是对于webapp这种还是需要单独做一个webapp使用的页面。
对于这个知识点,对于我目前做的项目有用处,主要用于控制限定数据库里读出来的图片宽度。
详见:手机webapp的jquery mobile初次使用心得和解决图片自适应大小问题
三. 相对大小的字体
字体也不能使用绝对大小(px),而只能使用相对大小(em)。
body&{&font:&normal&100%&Helvetica,&Arial,&sans-&}&&
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1&{&font-size:&1.5&}&&
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small&{&font-size:&0.875&}&&
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
四. 流动布局(fluid grid) &流动布局&的含义是,各个区块的位置都是浮动的,不是固定不变的。  
.main&{&float:&&width:&70%;&}&.leftBar&{&float:&&width:&25%;&}&&
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。 另外,绝对定位(position: absolute)的使用,也要非常小心。
五. &自适应网页设计&的核心,就是CSS3引入的Media Query模块。 它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
&rel=&stylesheet&&type=&text/css&&media=&screen&and&(max-device-width:&400px)&&href=&tinyScreen.css&&&&
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。  
&rel=&stylesheet&&type=&text/css&&media=&screen&and&(min-width:&400px)&and&(max-device-width:&600px)&&href=&smallScreen.css&&&
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。 除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
@import&url(&tinyScreen.css&)&screen&and&(max-device-width:&400px);&&
六. CSS的@media规则 同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
@media&screen&and&(max-device-width:&400px)&{&.column&{&float:&&width:&}&#sidebar&{&display:&}&}&&
上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。
七. 图片的自适应(fluid image) 除了布局和文本,&自适应网页设计&还必须实现图片的自动缩放。 这只要一行CSS代码:  
img { max-width: 100%;} 这行代码对于大多数嵌入网页的视频也有效,所以可以写成:
img, object { max-width: 100%;}
老版本的IE不支持max-width,
所以只好写成: img { width: 100%; }
此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:  
img&{&-ms-interpolation-mode:&&}&或者,Ethan&Marcotte的imgSizer.js。&addLoadEvent(function()&{&var&imgs&=&document.getElementById(&content&).getElementsByTagName(&img&);&imgSizer.collate(imgs);&});&&
不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
头条热点头条热点热点
24H热文一周话题本月最赞
讲师:119833人学习过
讲师:251768人学习过
讲师:13715人学习过
精选博文论坛热帖下载排行
本书根据教育部考试中心2004年最新发布的《全国计算机等级考试大纲》编写,针对计算机等级考试三级网络技术各方面的考点进行讲解和训练。本...
订阅51CTO邮刊最近在做一个手机页面,竖屏的设计。如何禁止手机在横过来时自动切换成横屏?
该问题被发起重新开启投票
投票剩余时间:
之前被关闭原因:
该问题被发起删除投票
投票剩余时间:
距离悬赏到期还有:
参与关闭投票者:
关闭原因:
该问题已经被锁定
锁定原因:()
保护原因:避免来自新用户不合宜或无意义的致谢、跟帖答案。
该问题已成功删除,仅对您可见,其他人不能够查看。
移动设备上的页面,当屏幕旋转的时候会有一个orientationchange事件。你可以给body元素增加此事件的监听:
&body onorientationchange="updateOrientation();"&
当用户旋转屏幕的时候,会进入到你的监听方法中,然后通过window.orientation来获取当前屏幕的状态:0 - 竖屏90 - 逆时针旋转横屏-90 - 顺时针旋转横屏180 - 竖屏,上下颠倒
如果你不希望用户使用横屏方式查看你的网页,你可以在设备旋转时间监听里面对body使用CSS3里面的transition中的旋转来保持页面竖向。但是目前很少见到限制用户横屏查看的页面
在activty禁用系统的自动横屏功能
在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入android:screenOrientation=&landscape&属性即可(landscape是横向,portrait是纵向)
德问是一个专业的编程问答社区,请
后再提交答案
关注该问题的人
共被浏览 (28047) 次推荐这篇日记的豆列
&&&&&&&&&&&&网页设计如何设置网页部分内容不随着滚动条而移动移动_百度知道
网页设计如何设置网页部分内容不随着滚动条而移动移动
浏览网页时页面向下移动一半后右边部分内容不随滚动条移动了,这怎么设置的啊,我做网页时需要这样的效果,求答案。。。
我有更好的答案
div的样式中使用相当于浏览器窗口定位——position:fixed。一、position:fixed属性的含义fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 &left&, &top&, &right& 以及 &bottom& 属性进行规定。我们平时所说的固定定位指的就是fixed,设置了固定定位的元素不会随滚动条上下滚动。二、一般的 position: 实现方法#top{position:bottom:0;right:20px}实现了id为top的元素固定在浏览器的底部和距离右边20个像素的位置#top{position:top:20right:20px}实现了id为top的元素固定在距离浏览器的顶部20个像素和距离右边20个像素的位置三、IE6下position: 实现方法在IE6中是不能直接使用 position: 。你需要一些 CSS Hack 来解决它相同的还是让 &div id=&top&&...&/div& 元素固定在浏览器的底部和距离右边的20个像素,这次的代码是:#top{position:bottom:0;right:20_position:_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}right 跟 left 属性可以用绝对定位的办法解决,而 top 跟 bottom 就需要用上面的表达式来实现。其中在_position: 中的 _ 符号只有 IE6 才能识别,目的是为了区分其他浏览器1、使元素固定在浏览器窗口的顶部:#top{_position:_top:expression(eval(document.documentElement.scrollTop));}2、使元素固定距浏览器窗口的顶部a像素的位置:#top{_position:_top:expression(eval(document.documentElement.scrollTop));_margin-top:a;}或者#top{_position:_top:expression(eval(document.documentElement.scrollTop+a));}3、使元素固定在浏览器窗口的底部:#top{_position:_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}4、使元素固定在距浏览器窗口的底部b像素的位置:#top{_position:_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));_margin-bottom:b;}或者#top{_position:_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||b)-(parseInt(this.currentStyle.marginBottom,10)||b)));}四、IE6下的闪动问题问题还没有完全解决。在用了上面的办法后,你会发现:被固定定位的元素在滚动滚动条的时候会闪动。解决闪动问题的办法是在 CSS 文件中加入:*html{background-image:url(about:blank);background-attachment:}其中 * html选择器hack是给 IE6 识别的。到此,IE6 的 position: 问题已经被解决了
这个主要从两方面来着手:CSS部分:写一个样式,使用position:fixed (基于浏览器边框的绝对定位)JS部分:获取当前页面高度,然后绑定滚动条移动事件,检测当页面滚动一半位置时,为右边部分的容器加上第一步中写好的样式。
求给个例子......
百度搜“固定菜单”,第一个,虽然是菜单,但原理是一样的。
已解决,真是太感谢了
解决了就好,呵呵
本回答被提问者和网友采纳
overflow-y: DIV里面的内容超过DIV的高度,右边就会自动出现滚动条1、用一个div,定制成图中的宽度和高度2、然后再把div的样式设成overflow-y:scroll,当div里的文字超出那个高度的时候,滚动条就出来了。例如:&div style=&width:100 height:100 overflow: border:1px solid #000000;&&&img src=&& style=&width:300 height:300&&&/div&不需要的话不设置就好
css这个属性position:fixed
需要设计到CSS方面的知识。需要理解绝对定位和相对定位,position属性absolute、fixed,relative。可以使用position:fixed。
js 固定div层
其他3条回答
为您推荐:
其他类似问题
滚动条的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。HTML5&CSS3手机网站模板_移动端网页框架UI - Astro - jQueryfuns
上传于 1年前|
Astro模板适合开发移动网站,创建Web应用程序和本地应用,它适合任何类型的移动设备。
立即下载 ( 文件大小:4.95 M)
Mozilla Firefox
Google Chrome
也许你还喜欢
键盘快捷键:

我要回帖

 

随机推荐