一、letter-spacing、word-spacing、white-space区别
1.letter-spacing属性增加或减少字符间的空白(字符间距)
2.word-spacing属性增加或减少单词间的空白(即字间隔)
这两个属性都用来添加他们对应的元素中的空白,官方描述看起来,两个属性好像是一样的,事实上letter-spacing是添加字母之间的空白,word-spacing添加两个单词之间的空白,且word-spacing对中文不起作用。
3.white-space属性设置如何处理元素内的空白
结论:letter-spacing和word-spacing都是增加或减少单词间的空白,但是一个是针对字母,一个是针对单词,且word-spacing对中文不起作用。white-space是如何处理空白。
二、transform、translate、transition、animate区别
1.transform应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,移动,倾斜等
旋转:rotate()、缩放:scale()、移动:translate()、倾斜:skew()
transform: translate(10px, 10px)
而translate是其实现移动转换的属性
2.transition和animate
transition属性是一个简写属性,用于设置四个过渡属性
animate属性是一个简写属性,用于设置六个动画属性
结论:transition和animate都可以用来实现动画效果,但是transition更偏向于过渡,而animate可以 实现更复杂的动画效果,transition需要事件来触发,animate不需要
三、display:none、visibility:hidden、opacity:0区别
1.占据空间
三者的共同点都是可以实现让元素隐藏的效果,display:none是让元素隐藏,并且不占据空间,它会引起页面的重排和重绘,而另外两种都是隐藏元素但是占据空间,只会引起页面的重绘。
2.属性继承
display的子元素不会继承此属性,而另外两种都会被子元素所继承
3.事件触发
display:none 的元素已经不在页面存在了,因此也无法触发它上面绑定的事件
visibility:hidden 元素上绑定的事件也无法触发
opacity: 0元素上面绑定的事件是可以触发的