为什么要初始化CSS样式?
因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的, 如果没对 CSS 初始化往往会出现浏览器之间的页面显示差异。当然,初始化样式会对 SEO 有一定的影响,力求在影响最小的情况下初始化。
link与@import的区别
link是 HTML 方式,@import是CSS方式link最大限度支持并行下载,@import过多嵌套导致串行下载, 出现FOUC(文档样式短暂失效)link可以通过rel="alternate stylesheet"指定候选样式- 浏览器对
link支持早于@import, 可以使用@import对老浏览器隐藏样式 @import必须在样式规则之前, 可以在css文件中引用其他文件- 总体来说:
link优于@import
什么是FOUC,无样式内容闪烁,文档样式短暂失效如何避免?
什么是 FOUC (无样式内容闪烁) ?
Flash Of Unstyled Content :无样式内容闪烁,这种现象称之为" 文档样式短暂失效"。
用户定义样式表加载之前浏览器使用默认样式显示文档,用户样式加载渲染之后再从新显示文档, 造成⻚面闪烁。
形成 FOUC 的原因
1. 使用import方法导入样式表。
2. 将样式表放在页面底部
3. 有几个样式表,放在html结构的不同位置。
当样式表晚于结构性 html 加载,当加载到此样式表时,页面停止了之前的渲染。此时样式表被下载和解析后,将会重新渲染页面,出现了短暂的无样式内容闪烁现象。
解决方法
1. 把样式表放到文档的 <head> 中
2. 在 .html 文件中, 将样式写在 style 标签中, 并且放置位置在 body 标签之上 。
::before 和 :after中双冒号和单冒号的区别、作用?
区别: 单冒号( : )用于 CSS3 伪类,双冒号( :: )用于 CSS3 伪元素 。
作用: 用于区分伪类和伪元素。
css的content属性作用?
css的 content 属性专门应用在 before/after 伪元素上, 用于来插入生成内容 。最常⻅的应用是利用伪类清除浮动。
/**一种常⻅利用伪类清除浮动的代码**/
.clearfix:after {
content:".";
display:block;
height:0;
visibility:hidden;
clear:both;
}
.clearfix {
*zoom:1;
}
持续学习总结记录中,回顾一下上面的内容: 为什么要初始化CSS样式? link与@import的区别、什么是FOUC,无样式内容闪烁,文档样式短暂失效如避免、::before 和 :after中双冒号和单冒号的区别、作用? css的content属性作用?