event.target 和 event.currentTarget 的区别
冒泡和捕获: 当addEventListener的第三个参数为true的时候,代表是在捕获阶段绑定;当第三个参数为false或者为空的时候,代表在冒泡阶段绑定
结论:event.target指向引起触发事件的元素,而event.currentTarget则是事件绑定的元素,只有被点击的那个目标元素的event.target才会等于event.currentTarget。
line-height有5个值
注意事项:
px: 像素px是相对于显示器屏幕分辨率而言的(引自CSS2.0手册)
em: 相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。
rem:始终是基于根元素 ,是目前比较好的解决方法。
造成空隙的原因:因为元素之间有空格或者换行 解决办法
详细解释:https://www.ibm.com/developerworks/cn/web/1604-postcss-css/index.html 点击链接
function getClientIp(req) {
return req.headers['x-forwarded-for']
|| req.connection.remoteAddress
|| req.socket.remoteAddress
|| req.connection.socket.remoteAddress;
}
mac电脑禁止chrome安全策略,允许支持后端接口跨域,在Applications 目录下,执行
## 屏幕尺寸限制 meta
通常利用媒体查询做相关的样式展示
@media screen and (max-width: 359px) { display: none; }
### viewport
借助 <meta>元素的 viewport来帮助我们设置视口、缩放等,从而让移动端得到更好的展示效果
<meta name=”viewport” content=”width=device-width; initial-scale=1; maximum-scale=1;minimum-scale=1; user-scalable=no;”
### setRem函数
// setRem函数 (function () { var win=window, html=document.documentElement; function setRem() { var width = html.getBoundingClientRect().width; var rem = width / 10; win.rem = rem; html.style.fontSize = rem + ‘px’; } setRem(); window.setRem = setRem; })();
### 上传input
1、解决input[type=file]打开时慢、卡顿问题
因为Chrome的safeBrowsing功能会在上传或者保存时检查文件,国内访问google速度比较慢,SafeBrowsing就会让Chrome挂起一段时间,直到文件检查结束或者超时。
所以可以使用:
accept=”image/png, image/jpeg, image/gif”
`
因为这些MIME类型在SafeBrowsing的白名单里面,不需要检查。
2、打开页面,自动调起<input type="file">
文件选择的解决办法