我只使用jQuery进行样式设置,而div则是使用body部分中的html标签创建的。问题是浏览器首先显示与左侧对齐的页面内容,然后在几秒钟之后根据jQuery css样式排列内容。我的问题是:有没有办法让浏览器在正确的位置显示内容而不首先将其对齐到左侧?感谢。
答案 0 :(得分:3)
您的选择:
不要使用jQuery为所有内容应用样式信息,这不是它的目的
启动隐藏所有内容的页面,将您的班级信息和style
属性应用于隐藏的内容。完成后,取消隐藏内容
答案 1 :(得分:1)
首先将此添加到head部分的脚本标记中:
document.documentElement.className += ' js';
如果启用了js,则会向html元素添加一个类。您可以在css中使用此类,如:
.js #wrapper{
display:none;
}
我们使用这个'js'类,因为你不应该隐藏没有javascript支持的人的内容。
wrapper在这里是你使用jQuery来设置样式的元素id。然后,当您完成jQuery操作时,使用jquery显示样式化元素。
答案 2 :(得分:0)
为了让jQuery有一个元素来应用样式,它必须已经由浏览器呈现。因此,必须首先显示内容而不使用javascript应用的样式。要避免无格式内容的闪现,请在该内容中添加display:none,然后使用jQuery在设置样式后显示它。
<div id="myJqueryStyledStuff" style="display:none">content</div>
<script>$('#myJqueryStyledStuff').show();</script>
答案 3 :(得分:0)
如果您在加载页面之前在主display:none
标记上设置了visibility:hidden;
或<body>
并在$(document).ready();
事件中显示了内容,那么它应该有效。