首页 > 怎么让一张html页面适应不同屏幕大小的设备??

怎么让一张html页面适应不同屏幕大小的设备??

正在仿做网页,遇到了如何让页面适应不同屏幕大小的问题。

我看了看现在网上的网页,布局全部都是用html和css做的。

js禁止后页面完全不受影响(我尝试过)。

请问这是怎么做到的?

而我在平常练习时设置页面宽度用的都是绝对宽度、或者通过js获取屏幕宽,度然后应用在最外层容器元素上。

绝对宽度还好些(例如1600px),我不会考虑那么多,里面的子元素也全部是用px这种定位布局。

而js获取,然后应用在最外层容器元素则令我感到很麻烦,因为设置的时候不知道宽度具体多少,所以在子元素里面用的是百分比。

可这两种方法,第一个根本无法适应不同屏幕大小的设备,第二个若是禁止js脚本的话,就废了。

所以,怎样利用纯html+css做出自适应
不同屏幕大小的网页??

希望给出具体思路,而不是太概括的:例如,响应式布局等……


@media
在css里面能获取屏幕宽度等信息


如果是在学习过程中,那你可以试试用bootstrap的框架,在使用过程中结合看源码,自己摸索人家怎么实现,为什么这么实现。这东西不是简单几句话能说清楚的,还是需要自己花功夫


响应式布局 或者在定义高宽时使用百分比


Bootstrap 响应式布局


这个早已经有成熟的方案了,用rem布局和用百分比布局。
上代码

<script>
    var docEl = document.documentElement,
            resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize';
    var clientWidth = docEl.clientWidth;
    docEl.style.fontSize = 10 * (clientWidth / 320) + 'px';
    window.addEventListener(resizeEvt, function() { clientWidth = docEl.clientWidth;docEl.style.fontSize = 10 * (clientWidth / 320) + 'px'; }, false);
</script>

bootstrap 栅格系统


bootstrap grid


用媒体媒介和百分比就可以实现,目前也有比较多的响应式框架,如UIKIT和国内的拼图


简单的来说,就是div盒子的宽度不用像素来限定,比如 1200px 960px 这些,用百分比,比如 100% ,这样。

你可以尝试了解一下bootstrap前端框架。

http://www.bootcss.com/


如果想走捷径,可以用HTML5前端框架来实现,推荐你下国人的前端框架Aamze UI


在移动端有很多的开发框架,如果你不仅要考虑PC还要在各种各样的移动设备上完美显示那就要考虑使用响应式


移动端可以考虑rem布局 个人感觉很不错 不过里面一般会有一段js代码来动态修改html的font-size的(个人感觉这个不错 其余的有些事根据媒体查询直接修改html的font-size 这个也可以用)

PC端 那就响应式布局了 上手bootstrap 挺简单的 用它的珊栏结构 做些不是很复杂的页面 都是可以的


如果是针对适应不同的手机屏幕的话,可以用rem来做,如果要是适用不同的电脑屏幕的话,可以用框架,Github上最火的框架莫过如bootstrap了。


用百分比来规定页面宽度


结论就是响应式布局啊,你搜一搜就能查到很多相关文章。

如果你是问原理的话,就是用css媒体查询针对不同的屏幕尺寸区间设定不同的规则。比如大屏幕上就展示更多的元素,或将元素横向排列等等;小屏幕上就隐藏一些元素,或将元素改成纵向排列等等。

你可能还想了解如何自适应,其实则是利用css相关属性,比如弹性盒布局,百分比、rem、vw等单位。总之不是一两句话能说清楚的,你还是得去找相关文章来看,不要想走捷径,这些都是要自己一点一点学的。

手机上,就不说太多了。


这个叫响应式布局
贴上自家网站响应式布局教程:http://www.jikexueyuan.com/course/243.html;
还有简单常用的Bootstrap响应式布局,具体文档可以上Bootstrap中文网看下文档http://www.bootcss.com/


将所有style都写入css文件中,然后批量替换,比如屏幕大小是1280*800,一个图片宽度是200,那么就替换成200/1280x100 %

【热门文章】
【热门文章】