最近觉得有点遗憾,一个多月了没有学到系统得学到一些东西,更多的是碎片化的收集知识,没有形成一个体系。但是觉得还是有必要写一篇总结,说不定会有新的发现。
React 装载、更新、卸载时的生命周期,更新更是有两种不同类型的生命周期。服务端渲染中没有componentDidMount
这个生命周期,因为服务器端没有DOM树可以挂载,所以也没有DidMount这么一说。
IE8 以上的透明度使用opacity = .8
,IE8 使用-ms-filter: "alpha(opacity=85)"
,注意-ms-
前缀,IE8 的透明度是用滤镜实现,记得还有双引号。在 IE8 使用 png 按钮做透明度hover的时候还发现一个坑,鼠标移上去的时候发现图片周围透明的部分会变黑,网上的答案是说 IE8 不支持png-24格式的Png图片要用png-8的png,然而换了格式依然有黑边,最后用 jpg格式的图片代替实现了。
后来产品说在手机端的页面也要加一个点击后透明度变化的效果,因为移动端的特殊性,总是要有奇怪的姿势去实现。除了给按钮添加:active
之外,对苹果手机,还有在document
上绑定一个touchstart
事件,
document.body.addEventListener('touchstart', function () { });
还有算是体会到了这句的妙用了:
这句话可以控制IE以最高版本的IE打开页面,IE浏览器有两个模式——浏览器模式和文本模式
用户的浏览器很有可能出现一个是 IE8 一个是 IE9 的问题,一个是旧的都会导致样式不一致,用了上面的就可以让这两个模式都是默认最高。
顺便查了一下 X-UA-Compatible 这个东西,发现他是 IE8 之后出现的一个设置(IE7 下无效),可以指定网页的兼容性设置。
网页判断用户设备做跳转:利用navigator.useragent
,与一个移动端设备字符串数组,判断属性中是否出现过这些名词,是就判定为 Mobile 利用window.location.href
把页面切到移动端页面。
上上周做了一个页面模版,就是一个活动页抽成模版以后给运营那边配让他们自己上线活动就行。要求抽出雪碧图和文字可配置。
CSS使用雪碧图的处理是给每个用了雪碧图的元素加一个"_sprite"的class ,class里只有一个样式就是背景图的 url 。而且为了抽出一张配置表,不让运营直接改,一来方便运营二来防止操作失误页面挂掉。
这样的话就要用到 js 的全局属性,在 js 中动态创建