浏览器宽高的解析

浏览器宽高的解析,第1张

screen是设备的屏幕对象,理论上,当一个设备固定之后,那么这个设备的屏幕的可视宽度和高度也是固定的

windowinnerWidth,windowinnerHeight,documentdocumentElementclientWidth,documentdocumentElementclientHeight这几个属性,是取的浏览器内部的可视宽高(移动设备下为移动设备可视区域的宽高减去手机状态栏、浏览器控制栏),即浏览器一屏的宽高。

documentbodyclientWidth、documentbodyclientHeight。有滚动条情况下,包含滚动内容的高度。

documentbody返回出来的是html 中 body 节点;documentdocumentElement返回的是 html 根节点。

<!DOCTYPE>模式下,如果不设置html,body{height:100%;}且出现滚动条的情况下,

documentdocumentElementclientHeight与documentbodyclientHeight的值一般是不同的

documentbodyclientWidth => BODY对象宽度

documentbodyclientHeight => BODY对象高度

documentdocumentElementclientWidth => 可见区域宽度

documentdocumentElementclientHeight => 可见区域高度

设置html,body{height:100%;}后,documentbodyclientHeight与documentdocumentElementclientHeight值相同,为documentdocumentElementclientHeight的值。

浏览器相对于显示屏的位置,即document 在screen的某个位置

除了 Internet Explorer外,所有主要浏览器都支持screenX和screenY属性。

注意: IE浏览器使用。 "windowscreenLeft" 和 "windowscreenTop"获得相同的值

1、纯PC端布局:

(1)通常以固定宽度布局,常见的宽度范围 950 - 1200

以width设置固定宽度,并居中。

(2)流式布局,宽度设置百分比配合max-width 、 min-width

以width设置百分比宽度来快速实现宽度自适应

2、纯移动端布局:

(1)rem / em,将宽和高从固定px到相对rem,实现屏幕自适应等比变化

(2)d性盒子

(3)怪异盒模型

现如今大多数网站都存在PC和移动的双端显示,PC和移动会切换显示

需要检测屏幕宽度的变化,在不同宽度渲染不同的布局和样式。

(1)媒体查询,根据给出的媒体类型为条件,来检测设备宽度的变化

常见媒体类型:

1 screen,屏幕

常见的设计规范下的屏幕尺寸范围

(1)width < 768px 超小屏幕,手机屏幕

(2)width < 992px 小屏幕,平板(ipad)

(3)width < 1200px 大屏幕,桌面屏幕

(4)width ≥ 1200px 超大屏幕,大型的桌面屏幕

例如:壁纸网页

1 在PC设备上,一行可显示4张壁纸

2 在移动设备上

(1)ipad上,一行显示2张壁纸

(2)手机上,一行显示1张壁纸

(2)js的resize事件动态监听window窗口尺寸变化

1、媒体查询:实现在不同设备宽度下渲染不同布局和样式

2、媒体查询的语法:

(1)media:表示媒体

(2)screen:表示媒体类型设置为屏幕类型

(3)and:连接媒体类型和查询条件,左右两侧必须有空格

(4)width:规定固定的屏幕宽度

(5)min-width:规定屏幕的最小宽度,当屏幕宽度大于min-width时

(6)max-width:规定屏幕的最大宽度,当屏幕宽度小于max-width时

1、引入方式:

(1)通过link标签的media属性来规定媒体类型和查询条件,在条件符合的情况下引入对应的外联css文件

(2) 通过为style设置媒体类型及查询条件,来渲染不同条件下的不同style标签内的样式

设置方式与link标签的media相同

(3)在style标签中,声明媒体类型及查询条件,当条件符合时样式会覆盖默认样式

语法:

@media 媒体类型 and 查询条件 {

选择器{

符合查询条件的样式

}

}

注意:媒体查询一定要写在默认样式之后。

首先说现象,大家都知道移动端设备屏幕尺寸非常多,碎片化严重。尤其是Android,你会听到很多种分辨率:480x800, 480x854, 540x960, 720x1280, 1080x1920,而且还有传说中的2K屏。近年来iPhone的碎片化也加剧了:640x960, 640x1136, 750x1334, 1242x2208。

不要被这些尺寸吓倒。实际上大部分的app和移动端网页,在各种尺寸的屏幕上都能正常显示。说明尺寸的问题一定有解决方法,而且有规律可循。

像素密度

要知道,屏幕是由很多像素点组成的。之前提到那么多种分辨率,都是手机屏幕的实际像素尺寸。比如480x800的屏幕,就是由800行、480列的像素点组成的。每个点发出不同颜色的光,构成我们所看到的画面。而手机屏幕的物理尺寸,和像素尺寸是不成比例的。最典型的例子,iPhone 3gs的屏幕像素是320x480,iPhone 4s的屏幕像素是640x960。刚好两倍,然而两款手机都是35英寸的。

px:像素

em:一个 M 的宽度(面试:一个字的宽度)

rem:root em 根元素( <html> )的 font-size //oppo个别机型不适用

vh:view height,视口高度 100vh === 视口高度

vw:view width,视口宽度 100vw === 视口宽度

浏览器默认 font-size:16px;

Chrome浏览器默认最小字号为12px:font-size:12px;

所以一般情况下,rem 的font-size不要小于12px;

rem 就是 <html> 元素的 font-size,默认为 16px;(浏览器默认font-size)

rem和em 的区别:

1meta viewport

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />

2媒体查询

更具查询结果选择不同的css样式,设置屏幕最大宽度,如果页面范围在这个宽度内就可以显示对应的CSS,以最大500为例

<style>

@media (max-width: 500px) {

}

</style>

3动态 rem方案

一切单位以屏幕宽度为标准,就能完美还原设计稿。

动态REM思路:动态rem 采用整体缩放的思想,在页面渲染之前,使用JS获取设备宽度并设置rem(1rem == html font-size == viewport width),之后的布局单位全部使用rem来实现整体缩放。

在使用动态 rem 布局的移动端页面中,很小的宽度如border-width 依然使用px,因为即使使用rem,当rem小于1px 时,依然会被浏览器当做1px 使用。

documentdocumentElementclientWidth/clientHeight来获取布局视口

windowinnerWidth/innerHeight来获取视觉视口大小

screenwidth/height来获取理想视口大小

在PC端 用户缩放会改变布局视口和视觉视口

在移动端 用户缩放不会改变布局视口,只会改变视觉视口

>

以上就是关于浏览器宽高的解析全部的内容,包括:浏览器宽高的解析、7、响应式布局(媒体查询)、移动端web在设计时宽度尺寸是多少合适等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9296661.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存