HTML+CSS
HTML+CSS
在绵白的北方世界
艳遇一场大雪纷飞
雪の物语
为什么要初始化CSS样式?
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面显示差异。
当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。
最简单的初始化方法就是:{padding: 0; margin: 0;} (不建议)
雪の物语
浏览器标准模式和怪异模式之间的区别是什么?
标准模式:浏览器按W3C标准解析执行代码.
怪异模式:使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。
浏览器解析时到底使用标准模式还是怪异模式,与你网页中的DTD声明直接相关,DTD声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将使网页进入怪异模式(quirks mode).
雪の物语
说说你对边距折叠的理解?
外边距折叠:相邻的两个或多个外边距 (margin) 在垂直方向会合并成一个外边距(margin)
垂直方向外边距合并计算:
参加折叠的margin都是正值:取其中 margin 较大的值为最终 margin 值。
参与折叠的 margin 都是负值:取的是其中绝对值较大的,然后,从 0 位置,负向位移。
参与折叠的 margin 中有正值,有负值:先取出负 margin 中绝对值中最大的,然后,和正 margin 值中最大的 margin相加。
为什么重置浏览器默认样式,如何重置默浏览器认样式?
每种浏览器都有一套默认的样式表,网页在没有指定的样式时,按浏览器内置的样式表来渲染。这是合理的,像word中也有一些预留样式,可以让我们的排版更美观整齐。不同浏览器甚至同一浏览器不同版本的默认样式是不同的,但这样会有很多兼容问题。
解决方法:
最简单的办法:*{margin: 0;padding: 0;} (不推荐使用)
CSS reset:可以将所有浏览器默认样式设置成一样。
normalize:也许有些cssreset过于简单粗暴,有点伤及无辜,normalize是另一个选择。bootstrap已经引用该css来重置浏览器默认样式,比普通的cssreset要精细一些,保留浏览器有用的默认样式,支持包括手机浏览器在内的超多浏览器,同时对HTML5元素、排版、列表、嵌入的内容、表单和表格都进行了一般化。
排版|孙浩
编辑|孙浩