当前位置: 首页 > news >正文

网站的功能建设方案网站建设接私活平台

网站的功能建设方案,网站建设接私活平台,深圳大胜上海,一台云服务器可以做几个网站今日在复习可视化尺寸获取时突发奇想#xff0c;为什么要在怪异模式下使用document.body.clientWidth#xff0c;在标准模式下使用document.documentElement.clientWidth#xff1f;以及是否在IE8及以下的版本中其中一个获取方式将返回undefined或0。  出于该问题的思考为什么要在怪异模式下使用document.body.clientWidth在标准模式下使用document.documentElement.clientWidth以及是否在IE8及以下的版本中其中一个获取方式将返回undefined或0。  出于该问题的思考有了以下代码的测试在这里我尝试还原IE8以下的IE浏览器版本通过Edge浏览器的仿真IE结果是三个方法都有返回值好似不存在兼容性的问题。 但当我给他们设置边界条件时发现不同模式下总会有一个方法返回值会出现问题。  怪异模式下的document.documentElement.clientWidth、标准模式下的document.body.clientWidth无法获取到可视窗口的真实尺寸。 一、为什么怪异模式下使用body.clientWidth 经过测试在怪异模式下使用document.documentElement.clientWidth无法正确的获取到可视窗口的真实宽度得到的结果为当前窗口中HTML元素的真实宽度假设当前的可视窗口宽度为1350pxHTML元素的真实宽度为500px那么在怪异模式BackCompat下使用document.documentElement.clientWidth方法所得到的值将为500px而不是1350px。因此在怪异模式下使用的是document.body.clientWidth方法获取可视化区域宽度。  至此问题解决但在使用document.body.clientWidth的前提下我们需要注意一点document.body.clientWidth方法获取的宽度不包含滚动条的宽度。 二、为什么标准模式下使用documentElement.clientWidth 相同的道理在标准模式下使用document.body.clientWidth无法正确获取到可视化窗口的真实宽度。值得提的一点是不管在标准模式、怪异模式下使用window.innerWidth方法都能正确的获取到正确的且包含滚动条宽度的可视化区域宽度因此当浏览器兼容该方法时应当优先使用。 三、测试代码 前提条件在CSS中将html、body两个元素的宽高设置为5000px、清除margin、padding。 1. 标准模式测试 默认的HTML就是处于标准渲染模式CSS1Compat根据下列的代码我们可以在页面上看到window.innerWidth、document.documentElement.clientWidth方法可以正确的得到可视宽度且可以看出document.documentElement.clientWidth方法并没有将滚动条宽度纳入计算。而document.body.clientWidth则是获取到了body元素的真实宽度。 /*** IE8/IE9以下无法直接使用window.innerWidth、window.innerHeight获取可视区域尺寸* 此时与滚动条滚动距离获取类似我们将从body、html元素上获取页面的宽度、高度* 此时将出现一个渲染概念标准模式、怪异模式* 我们可以通过document.compatMode来获取到当前的渲染模式* 1. backCompat:怪异模式* 2. CSS1Compat:标准模式或准标准模式如今的模式已经标准化准标准模式失去意义* 在怪异模式下*/ document.writeln(${document.compatMode CSS1Compat ? 标准模式 : 怪异模式}下通过body获取的可视窗口宽度为: ${document.body.clientWidth}br/ ); document.writeln(${document.compatMode CSS1Compat ? 标准模式 : 怪异模式}下通过body获取的可视窗口高度为: ${document.body.clientHeight}br/ );document.writeln(${document.compatMode CSS1Compat ? 标准模式 : 怪异模式}下通过documentElement获取的可视窗口宽度为: ${document.documentElement.clientWidth}br/ ); document.writeln(${document.compatMode CSS1Compat ? 标准模式 : 怪异模式}下通过documentElement获取的可视窗口高度为: ${document.documentElement.clientHeight}br/ );效果如下 2. 怪异模式测试 想要将浏览器的渲染模式修改为怪异模式我们可以修改HTML文件的文档类型如下代码所示将!DOCTYPE html修改为!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”。 !DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” !-- !DOCTYPE html --测试效果如下 从验证的结果中我们能够明确的发现两个方法在不同模式下可能遇到的问题因此在封装可视化尺寸获取方法考虑兼容性问题时应该注意到这一点。 四、可视尺寸兼容性方法封装 我们可以对可视化尺寸进行简单的兼容性封装 function getClientSize(){if (window.innerWidth) {return {width: window.innerWidth,height: window.innerHeight}} /*** 具体见MDN:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/compatMode* backCompat 怪异模式* CSS1Compat 标准模式* */ else if (document.compatMode backCompat) {return {width: document.body.clientWidth,height: document.body.clientHeight}} else {return {width: document.documentElement.clientWidth,height: document.documentElement.clientHeight}} }
http://www.sczhlp.com/news/178778/

相关文章:

  • 许昌市住房和城乡建设部网站网站价值 批量查询
  • 泰安建设网站哪个好烟台网站制作企业
  • 做网站推广可行吗做网站的小图标
  • 工信部网站备案查询官网网站开发实用吗
  • 烟台企业建站系统模板网站开发的工作需要什么材料
  • 衣服销售网站建设规划书范文建设网站跟服务器得关系
  • 国内的平面设计网站手机移动端网站怎么做
  • 常州网站制作哪家好wordpress图片加载快
  • 网站域名注册人查询内蒙古建设厅官网站
  • 网站开发公司需要什么资质优质的网站建设案例
  • 山东青岛68元建网站wordpress地址插件
  • 可以做宣传的网站上海企业建站推荐
  • 沥林网站制作如何做购物网站
  • 电商网站设计培训青岛手机端网络推广培训
  • 长沙景点分布图网站建设 网络推广 网站优化
  • 四川建设工程网站网络营销的中心是
  • 精品网站建设费用 要上磐石网络菏泽厚德网站建设公司怎么样
  • 深圳市营销型网站网站建设费用要摊销嘛
  • 网站站外链接优秀的网站建设托管
  • 如何提高网站点击率建设工程人力资源网查询平台
  • 门户网站代码结构数据库查询网站模板
  • 网站后台上传图片做难吗?有没有做淘宝网站的
  • 个人微信机器人开发指南!API接口轻松上手
  • 外设知识学习笔记
  • “你好BOE”再度携非遗与当代设计亮相米兰 以科技之力向世界展现东方美学
  • 网站开发可能遇到的问题wordpress商城平台
  • 商务网站主页设计公司互联网营销师培训内容
  • 海珠做网站ps外包网站
  • 建好网站后最怎么维护wordpress资源管理
  • 常州建设局官方网站静态网站模版