零基础建站培训介绍

当前位置:

自适应网页制作方法

自适应网页制作方法特别先想到的是css3的媒体查询 media-screen 控制在不同尺寸下显示。这里说个题外话,css中的像素单位px,是逻辑像素。不是设备的实际像素。但是,这个临界值并不好设置。

那就用js实现吧,js可以根据navigator.userAgent来识别浏览器。

做法:通过js控制显示的特别外层的div(body的子元素):


<body>
<div id="container-pc">
<!--PC端内容-->
</div>
<div id="container-mobile">
<!--移动端内容-->
</div>
</body>
(function () {
var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
var containerPC = document.getElementById('container-pc');
var containerMobile = document.getElementById('container-mobile');
getRem();
addEvent();
function getRem() {
if (isMobile) {
containerPC.innerHTML = '';
var bodyWidth = document.body.offsetWidth;
//chrome最小字体的限制,放大100倍。保证根节点大于12px
document.documentElement.style.fontSize = (bodyWidth / 768)*100 + 'px' ;
window.onresize = function () {
getRem();
};
} else {//PC


containerMobile.innerHTML = '';
}
}
})()

PC端网页设计有最大宽度(比如1920px),还有个内容区域宽度(一般在960px-1200px的范围内)
移动端网页是一个自适应的网页,设计一般给一张宽550px的设计图,需要我们将这个设计图100%显示,在不同设备上进行缩放,固定的px单位无法满足,那就要用到rem这个单位。通过对html节点设置fong-size大小,局部大小就由这个基准决定。我们的设计图宽度是768px,在js代码里有体现,上面代码的第12行:


document.documentElement.style.fontSize = (bodyWidth / 768)*100 + 'px' ;

由于chrome最小字体的限制,根节点html的font-size不能小于12px,所以我们浏览器宽度跟设计图的宽度比放大100倍。写css的时候,设计图标注的宽度要缩小100.比如一个区域设计标注230px*150px,那在css里就是:


width:2.30rem;
height:1.50rem;

问题:
这样做,PC,移动端显示没有问题,但是在移动端打开,会加载pc端的资源,如图片,因为即使display:none,里面的img标签的图片也会被加载。但是也仅仅是加载<img>里的图片,不会加载background-image的图片,还可以接受。

移动端因为是自适应的网页,所以窗口缩放都要重新计算rem的基准。pc端可以用鼠标拖动缩放浏览器窗口,但是很少见到能缩放的移动端。所以这个计算好像也没那个必要。

对于网页中的mp4文件,如果在<video>中,在国产安卓浏览器播放会浮到特别上层,这个做法是做个播放弹窗。<video>资源会默认进入页面加载,导致页面特别慢。可以加个封面,再设置为不预加载。


<video poster="封面图片的地址" preload="none"></video>
上一课: 下一课:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关教程

  • 在自己做网站时,网站上有时需要制作HTML表单,表单中的填写项为了防止别人恶意提交,需要进行验证。下面介绍一下HTML表单中正则验证邮箱、手机、电话
  • 首先介绍一下什么是网页,网页是由HTML组成的一个特殊文档,它存放在网络中某台服务器中,我们如果知道了这个文档的存放位置,然后在网页浏览器中输
  • ASP 声明变量ASP 声明变量用Dim来声明(或者说定义)变量,注意,所有变量都要声明,但可以写为同一行<%dim namename="Donald Duck&quo
  • 小白如何学习好java (7409 次浏览)
    对于新手小白来说,要想学好Java,应该注重以下几个方面:第一:正确理解Java的各种“抽象”。学习Java就是学习各种“抽象”,包括类、接口和抽象类等,
  • 丰富多样的网络工具和资源的出现,使网页设计变得轻松而简单。这里介绍 28 款在线工具和生成器,以帮助你更快捷方便地设计页面。1. Lorem Ipsum Gene
  • 初学者怎样学习网页制作呢?对于初学者,网站设计有一定难度,但是网页设计特别重要,在织梦仿站教程中也需要使用到网页设计。我们需要使用一些软件,
  • 微网页制作方法 (7137 次浏览)
    微网页是为适应高速发展的移动互联网市场环境,而开发封闭式的应用客户通过微信微博,等社会化的工具实现传播、转介绍、营销型微网页转化率高,由客服
  • 网页设计培训内容包括:PhotoshopCS6课程内容关键学习培训流行图象处理手机软件Photoshop的图象处理、编写、安全通道、涂层、相对路径综合性应用;图
  • 怎么制作网页 (6471 次浏览)
    网页是由HMTL和CSS组成的,通过HTML代码和CSS代码我们就可以制作出一个网页。下面介绍一下网页制作方法。打开DW网页编辑软件新建HTML有两种方法
  • html字体颜色设置方法 (6841 次浏览)
    在网页开发的过程中,有时为了网页的美观,需要给网页中的字体设置不同的颜色,那么,怎么来设置字体颜色呢?本篇文章就来给大家来介绍html设置字体