第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

視差效果使背景大于其所在的容器

視差效果使背景大于其所在的容器

斯蒂芬大帝 2023-09-25 16:57:49
我有一個代碼在頁面右側(cè)創(chuàng)建空白,因為背景比容器大,如果我想保持背景視差,我不知道如何解決這個問題。有什么想法可以解決這個問題嗎?var lFollowX = 0,  lFollowY = 0,  x = 0,  y = 0,  friction = 1 / 60;function moveBackground() {  x += (lFollowX - x) * friction;  y += (lFollowY - y) * friction;  translate = 'translate(' + x + 'px, ' + y + 'px) scale(1.1)';  $('#home-background').css({    '-webit-transform': translate,    '-moz-transform': translate,    'transform': translate  });  window.requestAnimationFrame(moveBackground);}$(window).on('mousemove click', function(e) {  var lMouseX = Math.max(-100, Math.min(100, $(window).width() / 2 - e.clientX));  var lMouseY = Math.max(-100, Math.min(100, $(window).height() / 2 - e.clientY));  lFollowX = (20 * lMouseX) / 100; // 100 : 12 = lMouxeX : lFollow  lFollowY = (10 * lMouseY) / 100;});moveBackground();#home-background {  width: 100%;  height: 100%;  position: absolute;  top: 0;  left: 0;  background: url("https://www.tokkoro.com/picsup/5746854-geometry-wallpapers.jpg") no-repeat center center;  background-size: cover;  z-index: -1;}#menu {  display: flex;  justify-content: center;  align-items: center;  background-color: #251524;  height: auto;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><section id="home">  <div id="home-background"></div>  <div id="greeting">    <h1>Hello</h1>  </div></section><section id="menu">  <ul>    <li><a href="#home">Home</a></li>  </ul></section>
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗 獲得超6個贊

背景div擴(kuò)展超出容器限制的原因是,通過使用transform: translate(...),您將背景移到容器之外。


如果您不想將背景移動到容器之外,而是想要移動背景并剪裁其邊緣以匹配容器,則可能需要使用某種形式的 ,這可以防止容器顯示overflow: hidden其邊界之外的任何內(nèi)容。


對于您發(fā)布的代碼,您只需添加overflow: hidden到body元素即可:


body {

  overflow: hidden

}

overflow: hidden但是,如果您需要允許頁面其他地方溢出,您可能不一定要添加到正文。在這種情況下,您可以將您的#home和#menu部分包裝在div已overflow: hidden應(yīng)用于它的 中。請注意,您還需要添加position: relative此內(nèi)容div才能使其正常工作。


例如,以下是 HTML 的更新版本:


<div class="container">

  <section id="home">

    <div id="home-background"></div>

    <div id="greeting">

      <h1>Hello</h1>

    </div>

  </section>

  <section id="menu">

    <ul>

      <li><a href="#home">Home</a></li>

    </ul>

  </section>

</div>

以及相應(yīng)的CSS:


.container {

    overflow: hidden;

    position: relative;

}

這是演示此解決方案的代碼片段:


var lFollowX = 0,

  lFollowY = 0,

  x = 0,

  y = 0,

  friction = 1 / 60;


function moveBackground() {

  x += (lFollowX - x) * friction;

  y += (lFollowY - y) * friction;


  translate = 'translate(' + x + 'px, ' + y + 'px) scale(1.1)';


  $('#home-background').css({

    '-webit-transform': translate,

    '-moz-transform': translate,

    'transform': translate

  });


  window.requestAnimationFrame(moveBackground);

}


$(window).on('mousemove click', function(e) {


  var lMouseX = Math.max(-100, Math.min(100, $(window).width() / 2 - e.clientX));

  var lMouseY = Math.max(-100, Math.min(100, $(window).height() / 2 - e.clientY));

  lFollowX = (20 * lMouseX) / 100; // 100 : 12 = lMouxeX : lFollow

  lFollowY = (10 * lMouseY) / 100;


});


moveBackground();

.container {

  overflow: hidden;

  position: relative;

  height: 300px;

}


#home-background {

  width: 100%;

  height: 100%;

  position: absolute;

  top: 0;

  left: 0;

  background: url("https://www.tokkoro.com/picsup/5746854-geometry-wallpapers.jpg") no-repeat center center;

  background-size: cover;

  z-index: -1;

}


#menu {

  display: flex;

  justify-content: center;

  align-items: center;

  background-color: #251524;

  height: auto;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="container">

  <section id="home">

    <div id="home-background"></div>

    <div id="greeting">

      <h1>Hello</h1>

    </div>

  </section>

  <section id="menu">

    <ul>

      <li><a href="#home">Home</a></li>

    </ul>

  </section>

 </div>


查看完整回答
反對 回復(fù) 2023-09-25
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號