H5常用代码:适配方案3

在H5项目中有一种常见的宣传页,就是那种整屏整屏的,带着炫丽进场动画的移动宣传页,不仅是一种欣赏也起到了很大宣传作用。

对于这种整屏的适配,前面通过视口的兼容处理也是可以做到的,但是在窄屏下会在上下有明显的切割,于是想到既然是保证内容在整屏,那是不是只要保证高度在整屏内就完美了,不管屏幕怎么小整个高度被填在屏幕内,于是就有了这一种适配方案:

代码如下:

<!DOCTYPE html>
<html>
<head>
<title>主结构&适配方案3</title>
<meta charset="utf-8">
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta content="telephone=no" name="format-detection">
<meta content="email=no" name="format-detection">
    <style>
        body{
            margin:0;
            background:#000;
        }
        h3,p,ul{
            margin:0;
            padding:0;
        }
        /*****必须要加的样式 S*****/
        html,body{
            width:100%;
            height:100%;
            overflow:hidden;
            position:relative;
        }
        .wrap{
            width:640px;
            height:960px;
            position:absolute;
            left:50%;
            margin-left:-320px;
        }
        /*****必须要加的样式 E*****/

        .wrap{
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            padding:0 50px;
            background:#ccc;
            overflow:hidden;
            line-height:36px;
            font-size:22px;
        }
        .aside_left,.aside_right{
            width:270px;
            height:80px;
            float:left;
            color:white;
            line-height:80px;
            font-size:26px;
            text-align:center;
        }
        .aside_con{
            width:540px;
            height:80px;
            oveflow:hidden;
            background:blue;
            color:white;
            line-height:80px;
            font-size:30px;
            text-align:center;
        }
        .aside_left{
            background:red;
        }
        .aside_right{
            background:green;
        }
        h3{
            font-size:28px;
            line-height:40px;
        }
    </style>
</head>
<body>
    <div id="wrap" class="wrap">

        <!--适配主逻辑 S-->
        <script type="text/javascript">
            //适配函数
            function reset(){
                var wrapo=document.getElementById(‘wrap‘),
                      clientH=document.documentElement.clientHeight || document.body.clientHeight,
                      designH=960,
                      scaleRate=clientH/designH;
                wrapo.style.cssText="-webkit-transform-origin:50% 0;webkit-transform:scale("+scaleRate+");transform-origin:50% 0;transform:scale("+scaleRate+");"
            }
            //初始进来执行一次适配
            reset();
            //当屏幕旋转的时候,再次执行一次适配
            window.addEventListener(‘resize‘,function(){
                setTimeout(function(){reset();},100);
            },false)
        </script>
        <!--适配主逻辑 E-->

        <!--示范结构 S-->
        <div class="aside_con">
            <div class="aside_left">示范块内容0</div>
            <div class="aside_right">示范块内容1</div>
        </div>
        <div class="aside_con">整条示范内容2</div>
        <!--示范结构 E-->

    </div>
</body>
</html>

适配说明:

1:主要是通过保证高度永远在当前屏幕高内来实现适配各屏幕,宽度自适应,其中960为设计稿的高度,如果你的稿是1130,换成1130即可,同时要把html,body的宽高设为100%,overflow:hidden;隐藏滚动条,再把主内容宽高设为设计稿的长宽,水平居中在屏幕中。

2:主要的适合场景用在一些移动端的那种翻页形式活动宣传页及H5小游戏,但是在小屏下,就像iphone4下会出现二边为body背景色的问题),但是对使用无影响!
此种适配方式尽量跟UI沟通,保证主内容往中间靠,因为在大屏下会出现左右有裁剪的情况,如设计稿是640宽,推荐主内容在中间520内,左右二边放无关紧要的装饰元素。这也是我平时用来开发整屏H5的适配方式。

以上代码归属于我的github常用H5代码整理项目(详见其中adaptationMode/mode3/index.html):https://github.com/xw5/mobile-code/

欢迎clone,欢迎star,一起学习,一起进少

时间: 2024-10-08 10:08:51

H5常用代码:适配方案3的相关文章

手淘H5移动端适配方案flexible源码分析

移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正在使用的适配方案. 这个适配方案是lib-flexible,在看这个源码的同时,我想先来回顾一下几个概念: 1.  viewport 在移动设备上,viewport是设备屏幕用来显示我们网页的那一块区域,或者说是浏览器(或者Hybird App内的webview)用来展示我们网页的那部分区域,vie

H5常用代码:适配方案5

此方案跟方案4是同一原理,也是通过REM实现的,能单独归类出一个方案,是因为它有一定的实用价值,当你遇到追求完美,追求到一像素的UI或者产品时,那此方案将解决你的困境. 方案5主要是用来解决一像素边框来设计的,当你的设计稿中到处是一像素边框,而UI跟产品拿着手机频频跟你说为什么在手机上边框这么粗的时候,而又无法劝服他们妥协的时候,就用这种适配方案吧,亲. 适配方案5代码如下: <!DOCTYPE html> <html> <head> <title>主结构&

H5常用代码:适配方案4

前面有分享了4种适配方案,但始终是通过手动缩放或者视口缩放来实现,用来做一些专题页,或者功能相对简单的项目来说也是完全能应付的,但整体来说感觉还是一种缩放,说不上是真正的适配,言外之意就是即将分享真正的适配喽,呵呵,开个玩笑,其实适配方式千差万种,怎么用全靠自己把握,遇到问题总有解决方法,兵来将挡水来土掩,实在解决不了的就想办法绕过,哈哈. 前面说了那么多废话,开始干正事,适配方案4主要是通过CSS3新增的一个长度单位REM来实现的,约定如下,页面中的1rem就是当前html的字体大小,假如当H

H5常用代码:适配方案2

前面的通过视口做适配的方案由于安卓低版本原生浏览器的存在,在许多场合不尽如人意,会在低版本安卓上出现,不缩放,手动缩放未禁止的问题. 于是出现了第二种适配方案,既然通过视口缩放可以兼容,那为什么不直接用CSS3的缩放来做了,因些有以下适配方案,代码如下: <!DOCTYPE html> <html> <head> <title>适配方案2</title> <meta charset="utf-8"> <met

h5移动端适配方案

flex布局 flex布局,不使用rem,直接使用px. <!DOCTYPE html> <html> <head> <title></title> <style> /*利用flex属性,可以实现块级元素1:1:1*/ /*简单的就能使里面的内容居中(尤其是垂直居中,好用到爆)*/ .box{ display: flex;width: 50px;height: 30px; /*默认 row*/ flex-direction:colum

H5常用代码:页面框架

万变不离其宗,道法自然! 虽然H5的小项目一波又一波,但有一个东东基本没什么变化,那就是整个页面的框架结构. 我所常用的H5常用页面框架如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no&q

web h5常用代码总结

注意:本文原创,转载请说明出处 1.使图片和文字水平居中,给图片css样式:vertical-align: middle;vertical-align:middle的时候,是该元素的中心对齐周围元素的中心. 2.给一个div透明背景,给div添加css: opacity:0.7; filter:alpha(opacity=70); 3.兼容各个浏览器,添加css样式:filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5;

基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范

基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.com/v/53039.html 原文地址:https://www.cnblogs.com/bydzhangxiaowei/p/9536126.html

移动端适配方案研究

初次接触移动端的时候,以为终于可以不用像pc那样考虑令人头疼的ie浏览器兼容问题,有强大的css3的帮助,可以随心所欲..可是后来才发现原来移动端各种层次不齐的终端更会让人抓耳挠腮,同样的页面在不同的手机上显示的完全不一样的效果,于是抛开功能,页面适配性也成了一个大的课题. 说到移动端,下面这一行代码大家一定不陌生: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-s