Jquery 水平居中div,不带“;“跳跃”;
此外,我还添加了to以集中放置Jquery 水平居中div,不带“;“跳跃”;,jquery,css,positioning,css-position,Jquery,Css,Positioning,Css Position,此外,我还添加了to以集中放置#containerdiv 然而,现在发生的是: 页面加载在默认位置 JavaScript插入并重新定位#容器 因为主图像相当大,所以在内容“跳转”到中心位置之前有明显的延迟 正如我在原始帖子中提到的,水平放置内容的正常方式是 #container { margin: 0 auto } 但我不能这样做,因为布局(我没有写)不必要地使用了大量绝对定位 我有没有办法消除这种跳跃效应,同时将内容放在中心位置 谢谢 这有点脏,但不要将javascript放在documen
#container
div
然而,现在发生的是:
#容器
#container { margin: 0 auto }
但我不能这样做,因为布局(我没有写)不必要地使用了大量绝对定位
我有没有办法消除这种跳跃效应,同时将内容放在中心位置
谢谢 这有点脏,但不要将javascript放在document onload事件上。将其笔直放置在end div的闭合标签后。这将使其不太明显如果您知道容器的宽度,则可以始终以绝对定位方式将其居中:
#container { position: absolute; left: 50%; margin-left: <negative width divided by 2>; }
#容器{位置:绝对;左:50%;左边距:;}
或将其设置为可见性:隐藏;然后在使用javascript将其定位后,再次使用javascript将其设置为可见。甚至把它淡入。
只有当您的访问者启用了js时才是好的。
您可以将其设置为隐藏在onload事件中或使用js在div之后。因此,如果js被停用,它仍然存在。也许可以在页面加载时将CSS设置为隐藏
#容器
#container { display:none; }
设置边距后,再执行.fadeIn()
$(document).ready(function() {
setMargins();
$('#conatiner').fadeIn();
$(window).resize(function() {
setMargins();
});
});
首先给容器一个CSS属性“visibility:hidden”,并在定位完成后让Javascript将其删除。看起来元素会在页面的其余部分之后稍微加载,但它不会跳转,而且由于您没有使用“显示:无”,容器会将其余内容推出其边界框,即使其不可见,因此页面的其余部分在加载时也不会跳转。我不确定我是否完全理解这个问题。。看看CSS,div是水平居中的吗?考虑这个规则:
#container {
height:616px;
width:1024px;
left:50%;
margin-left:-512px;
margin-top:100px;
top: 0px;
}
<>它有一个宽度为1024px,我们说左边的位置正好在页面的中间。然后,等于div宽度一半的负左边距使div居中
另外,我注意到一些人建议将div设置为可见:隐藏,然后在定位div后使用JS将其切换回。这不是一个好的做法,因为没有JS的用户将永远看不到任何东西。最好在默认情况下显示,使用JS隐藏,然后在其他所有操作完成后重新显示
如果我误解了,请发表评论听起来是时候重构HTML/CSS了;)一个可怕的方法,我甚至不会把它作为一个答案,就是使容器在装载时不可见,并在跳转后设置显示。@Don:容器div的结束标记。他指的是容器div的结尾,就像so asf一样……这样做是因为它防止了以后的回流,对吗?还是有不同的解释?