现象:css文件是通过请求过来的,在页面加载先是显示乱序的HTML, 再显示正常的HTML
有没有能控制 css 加载完毕后再加载 HTML 的呢?
我是原生的 HTML
你的css是外部引入的,如果网速慢的话的确会出现你说的问题.
解决方法是在body中设置 style="display: none;"先让整个页面隐藏.
在外部css中最后加入body { display: block !important; } 当css加载之后再让页面显示出来.就可以避免加载时先是显示乱序的HTML的问题了
<!doctype html>
<html lang="en">
<head>
<title> 页面名称 </title>
<link rel="stylesheet" href="a.css"/>
</head>
<body style="display: none;">
<p>text</p>
</body>
</html>
a.css中最后加入
body { display: block !important; }
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
可以啊。用ajax请求。
先引入css
在success里引入html
css放head标签中,js放body结束标签前,建议题主看下这篇文章,虽然有点老还是很有用的
css 放在head里面就行了,加载html的时候优先执行css,但是你的css应该是外部引入的吧,这样的话,如果网速慢的话加载就很慢,如果你将其下载下来本地引入,加载就很快了,如果你不想下载到本地,可以给你的页面做一个懒加载,加载css资源后再加载页面
css 放在head中就行啦
实现思路是,将html代码放到script模板或者其它b页面或者变量里面。
当前页面在全部加载完毕后调用获取到变量的html代码,添加到当前页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="StyleSheet1.css" rel="stylesheet" />
<link href="StyleSheet2.css" rel="stylesheet" />
</head>
<body>
<script>
$(document).ready(function () {
var _html = '<p></p>';
$("body").html(_html);
})
</script>
</body>
</html>