是否可以根据视点/屏幕尺寸将填充顶部添加到元素?
例如,您有一个大图像横幅,并且您希望它是您在加载页面时看到的第一件事,下面没有任何内容,因为它已通过通过视点 js 添加的填充被向下推,所以您然后向下滚动到那个.
因此,响应式图像然后是您的内容,但无论屏幕大小如何,图像总是首先填满屏幕?
然后,您将内容向上滚动到横幅图像上,因此需要基于屏幕尺寸的动态填充?
是否可以根据视点/屏幕尺寸将填充顶部添加到元素?
例如,您有一个大图像横幅,并且您希望它是您在加载页面时看到的第一件事,下面没有任何内容,因为它已通过通过视点 js 添加的填充被向下推,所以您然后向下滚动到那个.
因此,响应式图像然后是您的内容,但无论屏幕大小如何,图像总是首先填满屏幕?
然后,您将内容向上滚动到横幅图像上,因此需要基于屏幕尺寸的动态填充?
我了解您想在页面顶部添加填充/边距以将其主要内容向下推到屏幕的高度。
这是我用jQuery编写的快速 JS
将此代码放在<head>
jQuery 本身的 include 标记之后的标记中。
$(window).load(function() {
$(".contentClass").css('padding-top', $(window).height());
});
<head>
您可以在 html 文档的标签中添加带有此标签的 jQuery 库:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
如果您想确保您的图片会尽快推送内容,以便访问该网站的人看不到下面的内容,我建议不要在整个页面加载后执行纯 javascript,而是放在图片下方加载图像后立即执行:
<img id="banner" src="my-image.jpg">
<script>
var banner = document.getElementById('banner');
banner.onload = function() {
banner.style.marginTop = (window.innerHeight - banner.offsetHeight) + 'px';
};
</script>
然而,更好的方法是通过 javascript 将图像加载到 DOM
<div id="banner"></div>
<script>
var banner = document.getElementById('banner');
var img = new Image();
banner.appendChild(img);
img.onload = function() {
banner.style.marginTop = (window.innerHeight - banner.offsetHeight) + 'px';
};
img.src = 'my-image.jpg';
</script>