简体   繁体   English

从滚动切换到固定时,如何使背景图像保持不变?

[英]How to get background-image stay the same when switching from Scroll to fixed?

I am trying to use different images for the background of a website article page. 我正在尝试为网站文章页面的背景使用不同的图像。 Each section of the article has a different background image. 文章的每个部分都有不同的背景图片。 The background should scroll normally (with a background-attachment of "scroll" and size of "contain") until the corresponding section reaches the top, then it becomes fixed with a size of cover. 背景应该正常滚动(背景附件为“ scroll”,尺寸为“ contain”),直到相应部分到达顶部为止,然后以固定的封面尺寸固定。

The problem I am having is that the background image only looks fine when it is fixed. 我遇到的问题是背景图像仅在固定后才看起来很好。 Most of the image is in frame in the background. 大多数图像在背景中处于框架中。 However, In "scroll and contain mode" the image does not cover the entire background and is instead its normal height. 但是,在“滚动并包含模式”下,图像不会覆盖整个背景,而是其正常高度。 I gather this is because I am using "contain" as a background-size, however, changing the size to "cover" or to a percentage still does not make the image look the same when in scroll as it does when its fixed 我收集这是因为我使用“ contain”作为背景大小,但是,将大小更改为“ cover”或百分比仍无法使图像在滚动时看起来和固定时一样

Is it possible to get the background image to appear the same size when switching from background attachment:scroll to background-attachment: fixed? 从背景附件:滚动切换到背景附件:固定时,是否有可能使背景图像显示为相同大小?

Here is a JSFiddle demonstrating the problem: Clicking the buttons demonstrate how the image looks in as fixed + cover and scroll + contain. 这是一个演示问题的JSFiddle :单击按钮演示图像的外观为固定+封面,滚动+包含。 I am trying to get the images to look the way it currently does as fixed + cover, but without being fixed. 我正在尝试使图像看起来像固定+封面当前的方式,但没有被固定。

<section class="fullPage" style="background-image: url('https://img00.deviantart.net/d899/i/2013/030/e/b/jumping_clouds_by_tsharna-d5t830c.jpg')">


    <article class="content article" >
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. </p>

<p>Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. </p>

<p>Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. </p>

<p>Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna. Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. </p>

<p>Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi. Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante. Nulla quam. Aenean laoreet. Vestibulum nisi lectus, commodo ac, facilisis ac, ultricies eu, pede. Ut orci risus, accumsan porttitor, cursus quis, aliquet eget, justo. </p>



    </article>
</section>


<section class="fullPage"  style="background-image: url('https://s3.amazonaws.com/s3.imagefinder.co/uploads/2017/10/07163335/man-jumping-into-the-clouds-880x880.jpg')">


    <article class="content article">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Mauris massa. Vestibulum lacinia arcu eget nulla. </p>

<p>Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Curabitur sodales ligula in libero. Sed dignissim lacinia nunc. Curabitur tortor. Pellentesque nibh. Aenean quam. In scelerisque sem at dolor. Maecenas mattis. Sed convallis tristique sem. Proin ut ligula vel nunc egestas porttitor. Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa. </p>

<p>Fusce ac turpis quis ligula lacinia aliquet. Mauris ipsum. Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh. Quisque volutpat condimentum velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. </p>

<p>Proin quam. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus. Integer euismod lacus luctus magna. Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum. Morbi in ipsum sit amet pede facilisis laoreet. Donec lacus nunc, viverra nec, blandit vel, egestas et, augue. Vestibulum tincidunt malesuada tellus. Ut ultrices ultrices enim. </p>

<p>Curabitur sit amet mauris. Morbi in dui quis est pulvinar ullamcorper. Nulla facilisi. Integer lacinia sollicitudin massa. Cras metus. Sed aliquet risus a tortor. Integer id quam. Morbi mi. Quisque nisl felis, venenatis tristique, dignissim in, ultrices sit amet, augue. Proin sodales libero eget ante. Nulla quam. Aenean laoreet. Vestibulum nisi lectus, commodo ac, facilisis ac, ultricies eu, pede. Ut orci risus, accumsan porttitor, cursus quis, aliquet eget, justo. </p>



    </article>
</section>




.fullPage{
    width:100%;
    min-height:100%;
    background-attachment:scroll;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom:100px;

}

.content{
    margin-left:10%;
    margin-right:10%;
}

.article{
    background-color:white;
    padding:3%;
}

Check if solves: 检查是否解决:

$('.fullPage').each(function(i){
      $(this).css({
        "background-attachment":"scroll",
        "background-size":"cover",
        "-webkit-background-size":"cover",
        "-moz-background-size":"cover",
        "-o-background-size":"cover"
      });
})

JSFiddle Example JSFiddle示例

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM