【问题标题】:CSS loading after HTML loadsHTML 加载后的 CSS 加载
【发布时间】:2016-10-24 06:18:13
【问题描述】:

我在http://www.anhatweb.tk/web/auth/create 有一个表单来创建一个新用户
但是每当我加载页面时,一个加载器就会出现,但我们可以看到我是否先删除加载器 HTML 加载,然后 CSS 加载....有什么方法可以先加载 CSS,然后加载 HTML?
我的代码:

<html lang="en">
    <head>

        <!-- Basic Page Needs-->
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>ABC</title>

        <!-- Mobile Specific Metas-->
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- CSS-->
        <link href="<?php echo base_url(); ?>assets/css/style.css" rel="stylesheet">

    </head>
<body>

【问题讨论】:

  • 哪个先加载css还是html?
  • 不可能做这样的事情,因为浏览器需要 html 来识别任何 css、js 或 ttf 文件等。唯一的方法是地球上的所有浏览器都会改变他们的设置,比如当他们识别 css链接然后停止做html首先下载css文件,然后继续使用html
  • 我相信你的问题本身是错误的,如果 css 文件链接放在标题部分,如你在问题中所示,它将首先加载,然后只加载正文内容,@987654324 @ 因为它们出现在 HTML 中,所以结论是首先加载 head 部分中的所有引用文件,然后加载 body HTML 部分。

标签: php html css


【解决方案1】:

在 css 甚至可以开始下载之前,必须先下载 HTML,因为 css 文件的位置存储在 HTML 头标记中。因为这个依赖的方向,你不能真正反转它。

正如@Daniel 所说,您可能拥有的最佳选择是“隐藏” HTML,直到 CSS 完成加载。许多网站这样做是为了避免您遇到的非 CSS 闪现,这很正常(而且处理起来很烦人)。

我会在调用 onLoadCompleted 之前隐藏元素。如果在那之后你仍然看到 flash,我会在 onLoadCompleted 上手动加载样式表(它应该在运行时执行而不是异步执行),然后显示元素。

【讨论】:

    【解决方案2】:

    不,浏览器获取 HTML,解析标记,当涉及到外部资源(css 或 javascript)时,它会加载它。 加载外部资源后,浏览器将继续解析标记。

    【讨论】:

    • 但这在我的情况下没有发生......浏览器完全加载html然后实现css
    猜你喜欢
    • 2014-07-22
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2021-03-01
    相关资源
    最近更新 更多