css 属性的兼容写法、css 盒模型、js 中的高和宽 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
cooljs
V2EX    Javascript

css 属性的兼容写法、css 盒模型、js 中的高和宽

  •  
  •   cooljs 2018 年 8 月 22 日 2866 次点击
    这是一个创建于 2736 天前的主题,其中的信息可能已经有所发展或是发生改变。

    css 属性的兼容写法

    1. 兼容 IE8 的 hack

    hack 符:\0/,必须写在属性值与分号之间,中间不加空格

    background:red; //高级浏览器识别 background:pink\0/; //仅 IE8 识别 

    2. 兼容 IE8、9、10 的 hack

    hack 符:\0,必须写在属性值与分号之间,中间不加空格

    background:red; //高级浏览器识别 background:pink\0; //IE8、9、10 识别 

    3. 兼容 IE6、7、8、9、10

    hack 符:\9,必须写在属性值与分号之间,中间不加空格

    background:pink\9; //IE6、7、8、9、10 识别 

    css 盒模型

    http://wx2.sinaimg.cn/mw690/0060lm7Tly1fuim3mkvgrj30ap075765.jpg
    http://wx3.sinaimg.cn/mw690/0060lm7Tly1fuim3mkymtj30au06z0uj.jpg

    js 中令人混乱的各种高度宽度

    1. width/height

    • dom.style.width/height
      只能取到 dom 元素内联样式所设置的宽高属性值
    • dom.currentStyle.width/height
      IE 下获取所有样式的宽高属性值
    • clientWidth/clientHeight
    第 1 条附言    2018 年 8 月 22 日

    上面的按错提交了,补充一下

    js中令人混乱的各种高度宽度

    1. dom.style.width、height

    只能取到dom元素内联样式所设置的宽高属性值

    2. dom.currentStyle.width、height

    IE下获取所有样式的宽高属性值

    3. dom.clientWidth、clientHeight

    • 可视区域的大小
      document.documentElement.clientWidth
      document.documentElement.clientHeight
    • 普通元素
      content + padding

    4. dom.offsetWidth、offsetHeight

    content + padding + border

    5. dom.clientTop、clientLeft

    border-top、border-left

    6. dom.getBoundingClientRect()

    • width/height : content + padding + border
    • x/y : 元素的左上角和父元素左上角的距离
    • top/left : 元素上/左边界和父元素上/左边界之间的距离
    • right/bottom : 元素右/下边界和父元素左/上边界之间的距离

    7. dom.offsetTop、offsetLest

    元素距离窗口上/左边的偏移量

    8. dom.scrollWidth、scrollHeight

    • 页面实际的大小
      document.documentElement.scrollWidth
      document.documentElement.scrollHeight
    • 普通元素
      content + padding

    9. dom.scrollTop、scrollLeft

    一般是document.documentElement.scrollTop、document.documentElement.scrollLeft,普通元素如果没有产生滚动条则值为0

    10. window.screenX、window.screenY

    窗口左上角和屏幕左上角的距离

    11. window.screen.width、window.screen.height

    屏幕宽高

    12. window.screen.availWidth、window.screen.availHeight

    屏幕可用宽高(去除任务栏)

    13. window.innerWidth、window.innerHeight

    窗口的内高度、内宽度(文档显示区域+滚动条)

    14. window.outerWidth、window.outerWidth

    整个浏览器窗口的宽高,包括所有

    15. window.scrollX、scrollY

    文档已滚动的像素值
    window.pageXOffset、pageXOffset分别是scrollX、scrollY属性的别名,为了跨浏览器兼容性,建议使用 window.pageXOffset 、pageXOffset代替 window.scrollX、scrollY

    ReadSong
        1
    ReadSong  
       2018 年 8 月 22 日
    \9 IE8 以及以下版本浏览器可以识别,9 和 10 不行的吧
    cooljs
        2
    cooljs  
    OP
       2018 年 8 月 22 日
    @ReadSong 可以哒
    AllOfMe
        3
    AllOfMe  
       2018 年 8 月 22 日
    这些兼容的写法让我想起了三年前的前端,没有 react,vue,Angular 等框架的存在,项目直接上 jQuery+BootStrap+gulp(grunt) ,不敢随便用 flex,有时候要写各种 IE 的兼容 CSS 写法。
    最常看的博客是张鑫旭的个人站,偶尔看看 JQuery 插件,尝试着自己也能撸一个 JQuery 的插件, 然后发到 CSDN.net 赚赚积分。
    时代发展好快,有点想回到过去(怀旧 boy)
    cooljs
        4
    cooljs  
    OP
       2018 年 8 月 22 日
    @AllOfMe 框架越来越简单,兼容也不用写太多了,jquery 需要手撸组件,虽然麻烦不过更能锻炼 js 实力,也很爽
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1679 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:56 PVG 13:56 LAX 21:56 JFK 00:56
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86