css的位置它有说法(scoped的作用)

css先说它的优先级 

  一:!important(属性后面加这个) > 二:inline(行内样式) > 三:选择器排序 === link标签引入的css > 四:通配符 * >  五:浏览器默认样式

css可以放哪里?

  它在html中以style标签包裹存在,原则上来说,只要style包裹住,放哪里都行,注意,是任何地方,!doctype前面也可以,</html>后面也可以,

但是规范是放head标签里面,有时候,有必要放在body里面,和div等标签内部里面,此时需要给style添加scoped属性,不添加效果没影响,scoped是为了让当前

css只应用于包裹它的父元素标签和其子元素标签。至于优先级,网上好像说法不一,有的说后面就算有权重更高的也无法影响,但是自己测试,添加了scoped除了

限制css的作用域,其他无任何特殊,优先级等同于第三位。

css位置对性能的影响:

  放head标签内,css在加载过程中不会影响到DOM树的生成,但是会影响到Render树的生成,进而影响到layout,所以一般来说,style的link标签需要尽量放在head里面,因为在解析DOM树的时候是自上而下的,而css样式又是通过异步加载的,这样的话,解析DOM树下的body节点和加载css样式能尽可能的并行,加快Render树的生成的速度。

  总结建议:

  • 懒加载非关键 CSS:

    优先加载关键 CSS,懒加载其他 CSS;

    或根据媒体类型拆分 CSS 文件。

  • 避免使用 @import

    在 HTML 文档中应该避免;

    在 CSS 文件之中更应避免;

    以及警惕预加载扫描器的怪异行为。

  • 关注 CSS 与 JavaScript 的顺序:

    在 CSS 文件后的 JavaScript 仅在 CSSOM 构建完成后才会执行;

    如果你的 JavaScript 不依赖 CSS;

        将它放置于 CSS 之前;

    如果 JavaScript 依赖 CSS:

        将它放置于 CSS 之后。

  • 仅加载 DOM 依赖的 CSS:

    这将提高初次渲染的速度使让页面逐步渲染。

  • 引用  https://blog.csdn.net/qq_31965515/article/details/86214301

posted @ 2021-09-28 20:15  开心浩仔  阅读(319)  评论(0编辑  收藏  举报