css的样式优先级
<style>
.main{
color:blue
}
span{
color:green
}
</style>
<div style="color:red !important"
class=""main"">
<span>123</span>
</div>
问题:123的颜色是
!important>行内样式>id选择器>类选择器>标签选择器>通配符>继承
在这道题目:
对于span有两种种影响样式的方式,
(1)继承自父div的color
而对于color而言,它受到类选择器和一个内联样式的影响,并且在这个内联样式中又有一个!important,最为最高级影响 (!important>内联>类选择器),这就使得div的颜色为red,而作为其子元素的span也应该继承自父元素的color
(2)标签选择器span
但比较这两种影响,(1)作为样式继承的优先级为0,(2)作为标签选择器的优先级为1,所以(2)的优先级以微弱优势高于(1),所以最终采用标签选择器定义的green
哪些情况可触发reflow
首先早知道reflow是什么? reflow(回流)是指浏览器为了重新渲染部分或者全部的文档,重新计算文档中的元素的位置和几何构造的过程。 因为回流可能导致整个Dom树的重新构造,所以是性能的一大杀手。 以下操作会引起回流: ① 改变窗口大小
② font-size大小改变
③ 增加或者移除样式表
④ 内容变化(input中输入文字会导致)
⑤ 激活CSS伪类(:hover)
⑥ 操作class属性,新增或者减少
⑦ js操作dom ⑧ offset相关属性计算
⑨ 设置style的值 … 另外: reflow与repaint(重绘)是减缓js的几大主要原因,尤其是reflow更是性能杀手,所以我们应该想法避免
哪些方法可以用作javascript异步模式的编程?
回调函数,这是异步编程最基本的方法。
事件监听,另一种思路是采用事件驱动模式。任务的执行不取决于代码的顺序,而取决于某个事件是否发生。
发布/订阅,上一节的"事件",完全可以理解成"信号"。
Promises对象,Promises 对象是CommonJS 工作组提出的一种规范,目的是为异步编程提供统一接口。
谷歌浏览器如何显示12px下的字号
中文版的chrome有12px的字体限制,就是当字体小于12px时都是以12px来显示,这个问题在中文页面突出并不明显,因为中文为了显示清晰一般都是大于或者等于12px,但是如果一些英文网站就不太完美了,这个时候的12px就会破坏美感,甚至文字变大执行,以前chorme100px{-webkit-text-size-adjust:none;font-size:10px;}现在新版的谷歌浏览器已经不支持了,所以我们要用到css3缩放来实现这个问题,比方说我们要展示10px文字,我们可以设置20px然后scale(0.5)就可以