一、清除浮动的方式有哪些?最优的事哪一种?
—父级div定义height。
—结尾处加空div标签clear:both。
—父级div定义伪类:after和zoom。
—父级div定义overflow:hidden。
—父级div定义overflow:auto。
—父级div也浮动,需要定义宽度。
—父级div定义display:table。
—结尾处加br标签clear:both。
个人比较推荐第三种方法,参考:after
二、readonly和disabled的区别
—范围不同
- disabled属性可以作用于所有的表单元素。
- readonly属性只对
<input type="text">
、<input type="number">
、<textarea>
和<input type="password">
等可以输入的表单元素有效。
—程度不同
- readonly 只是将元素设置为只读,不可输入,对其它操作没有影响
- disabled 阻止元素的一切操作。包括 获取焦点,点击事件等
—表单提交
- readonly 只是将元素设置为只读,不影响表单提交
- disabled 设置了该属性的表单元素,值将不会随着表单一起提交
三、css优先级算法如何计算?有什么不同?
—通过CSS的specificity来计算优先级,specificity的规则用一个四位数来表示,更像四级从左到右,左的最大级,一级大于一级,数位之间没有进制,多个选择符用到同一个元素上时那么specificity上值高的最终获得优先级。
—优先级就近原则,同权重情况下样式定义最近者为准;载入样式以最后载入的定位为准;优先级为:!important > id > class > tag important比内联优先级高(style)
- 行内样式优先级specificity值为1,0,0,0 高于外部定义
- 按CSS代码中出现的顺序决定,后者CSS样式居上;
- !important声明specificity值优先级最高
- 由继续而得到的样式没有specificity的计算,它低于一切其他规则 (比如全局选择符*定义规则)
未完待续…