关于屏幕适配问题几种思路与方式

相关参数以及测试结果

1、

document.body.clientWidth:网页可见区域(body 内容)宽

document.body.clientHeight:网页可见区域(body 内容)高

重点理解clientHeight

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<meta name="viewport" content="initial-scale=1 ,maximum-scale=1, user-scalable=no">
		<!-- 苹果 -->
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<!-- 苹果手机自动将号码变为 a 链接格式 -->
		<meta name="format-detection" content="telephone=no" />

		<!-- <link rel="stylesheet" href=""> -->

	</head>
	<body>

	</body>
</html>

此时输出的clientHeight结果为 0

但是如果给内容添加一个

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <meta name="viewport" content="initial-scale=1 ,maximum-scale=1, user-scalable=no">
        <!-- 苹果 -->
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <!-- 苹果手机自动将号码变为 a 链接格式 -->
        <meta name="format-detection" content="telephone=no" />

        <!-- <link rel="stylesheet" href=""> -->

    </head>
    <body>
        <div style="height:500px;width:100%;background-color:green;"></div>

    </body>
</html>

此时输出的clientHeight结果为 500px;

2、

document.body.offsetWidth:网页可见区域(body 内容)宽(包括边线和滚动条的宽)

document.body.offsetHeight:网页可见区域(body 内容)高(包括边线的宽)

经过测试与第一种结果相同:测试环境为谷歌和狐火浏览器

3、

时间: 2024-08-24 04:19:07

关于屏幕适配问题几种思路与方式的相关文章

iOS里面的屏幕适配(两种方法)

第一种方法:进行等比缩放 适用于只有单个或者很少的页面需要适配的时候 第二种方法:用别人已经封装的类,进行屏幕的适配 适用于多个页面都需要进行屏幕适配 这是在ViewController.m里面的代码

iOS屏幕适配的几种方式

屏幕适配问题共有四种解决方案:(1)根据屏幕宽高写控件frame(下策);(2)Autoresizing的使用(中策);(3)AutoLayout的使用(上策);(4)sizeClasses+AutoLayout的使用(上上策).下面将会分别来进行叙述. (1)根据屏幕宽高写控件frame 利用宽高比,在不同的屏幕中来进行对控件的位置与控件的宽高进行等比例缩放.选定一个型号的屏幕的宽高为基准,进行等比例缩放.例如以iPhone6或者iPhone6s为基准. 其宽高分别是375与667.Iphon

屏幕适配/自适应的一些思路

不同生产环境下,有不同的屏幕适配策略.如WPF用<ViewBox>标签包裹控件进行自适应,如安卓中通过分包准备各种大小尺寸的图片资源,如游戏开发中常用的九宫图等等... 同样屏幕适配还有很多方式,常见的情况有: 不管如何改变分辨率的大小和宽高比,都能保持控件宽高比,但不能保持控件的物理宽高,若超出屏幕则出现水平和垂直滚动条.如高于设计的分辨率宽高比,则控件等比缩小,屏幕左右两边留白:或是控件不缩小,屏幕下部超框,显示垂直滚动条. 不管如何改变分辨率的大小和宽高比,都能保持控件宽高比,但不能保持

谈谈移动端屏幕适配的几种方法

移动端web开发相对于PC端web开发,我们可以庆幸不用兼容那么多浏览器了,但是随之而来的却是各种屏幕尺寸的适配,个人觉得,比PC端还要费精力.在使用了腾讯优测进行软件测试后,问题得到了有效解决. 响应式布局 简而言之,就是页面元素的位置随着屏幕尺寸的变化而变化,通常会用百分比来定位,而在设计上需要预留一些可被“压缩”的空间. 如上图,其实就相当于页面被压矮了. Cover布局 就跟background-size的cover属性一样,保持页面的宽高比,取宽或高之中的较小者占满屏幕,超出的内容会被

Android 一种非常好用的Android屏幕适配

前言 网上关于屏幕适配的文章已经铺天盖地了,为什么我还要讲?因为网上现在基本都是使用px适配,即每种屏幕分辨率的设备需要定义一套dimens.xml文件.再加上有些手机还有虚拟按键(例如华为),这样就还需要每个有虚拟按键的设备加多一套dimens.xml文件,再加上平板那些你会发现dimens.xml文件所占的体积已经超过2M了!这绝对不是我们想要的. 我这里要讲的是使用dp来进行适配(Google推荐的也是这种方式),使用这种方式项目中多套dimens.xml文件才占几百K,而且根本不用考虑虚

屏幕适配Autoresizing / Autolayout / Mansory / 自定义Frame实现

1. 什么是适配: 适应.兼容不同版本不同尺寸的移动智能设备 iPhone尺寸:3.5.4.0.4.7.5.5inch iPad尺寸:7.9.9.7inch,横竖屏适配 2. 点与像素 非retaina屏:1个点 = 1个像素 retain屏:1个点 = 4个像素 3. 什么是Autolayout 1>  是一种“自动布局”技术,专门用来布局UI界面的 2> 自iOS 6开始引入,由于Xcode 4的不给力,当时并没有得到很大推广 3> 自iOS 7(Xcode 5)开始,Autolay

跨平台C++开源代码的两种常用编译方式

作者:朱金灿 来源:http://blog.csdn.net/clever101 跨平台C++开源代码为适应各种编译器的编译,采用了两种方式方面来适配.一种是makefile方式.以著名的空间数据格式解析库gdal为例,它就是提供了makefile来供各种编译器来编译.gdal主要提供了微软的VC编译器和GNU GCC编译器两种格式的makefile,在gdal的源码根目录可以找到makefile.vc和GNUmakefile两个makefile文件,其中makefile.vc为vc编译器的ma

关于直播系统和短视频系统安卓手机屏幕适配的方向思路

直播与短视频的接踵而至,将互联网推向了网红经济时代,而智能手机的更新迭代为二者的发展提供了"温床".但随着Android机型的增多,设备碎片化的程度也在不断加深,因此为了保证用户在不同Android机型下的体验效果一致,我们需要对各种手机屏幕进行适配.下面我们就来聊下直播系统和短视频系统Android机型的适配问题.1. 布局组件的适配关于组件的适配,这里有几种不同的适配方案.一是使用密度无关像素dp或独立比例像素sp单位指定尺寸:二是多使用相对布局(RelativeLayout)或线

[原创]一种Unity2D多分辨率屏幕适配方案

此文将阐述一种简单有效的Unity2D多分辨率屏幕适配方案,该方案适用于基于原生开发的Unity2D游戏,即没有使用第三方2D插件,如Uni2D,2D toolkit等开发的游戏,NGUI插件不受这个方案影响,可以完美和此方案配合使用. ---------------------------------------正式开始的分割线----------------------------------------- 先说明一些基本的概念: 1.屏幕的宽高比Aspect Ratio = 屏幕宽度/屏幕