Rumah >hujung hadapan web >tutorial css >Bagaimana untuk mencapai kesan hollowing latar belakang tatal lancar pada halaman web melalui CSS tulen

Bagaimana untuk mencapai kesan hollowing latar belakang tatal lancar pada halaman web melalui CSS tulen

PHPz
PHPzasal
2023-10-19 11:37:491356semak imbas

Bagaimana untuk mencapai kesan hollowing latar belakang tatal lancar pada halaman web melalui CSS tulen

Bagaimana untuk mencapai kesan berongga latar belakang tatal lancar halaman web melalui CSS tulen

Dengan pembangunan berterusan teknologi Internet, reka bentuk halaman web telah menjadi semakin pelbagai dan kompleks. Halaman web yang tampan selalunya memerlukan perhatian terhadap perincian dan inovasi. Antaranya, kesan hollow latar belakang tatal yang licin adalah salah satu elemen reka bentuk yang semakin popular sejak beberapa tahun kebelakangan ini. Kesan ini boleh menjadikan halaman web kelihatan lebih terang dan menarik, serta boleh menarik perhatian dan minat pengguna.

Dalam artikel ini, saya akan memperkenalkan cara untuk mencapai kesan berongga latar belakang tatal lancar halaman web melalui CSS tulen, dan memberikan contoh kod khusus. Mari belajar cara mencipta kesan latar belakang halaman web yang hebat bersama-sama!

Pertama, kita perlu mencipta struktur dokumen HTML asas. Dalam teg , kami akan meletakkan elemen <div> dengan imej latar belakang sebagai latar belakang halaman web kami. Kodnya adalah seperti berikut: <code>标签中,我们将放置一个带有背景图片的<div>元素作为我们的网页背景。代码如下:<pre class='brush:html;toolbar:false;'>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;平滑滚动背景镂空效果&lt;/title&gt; &lt;style&gt; body { margin: 0; padding: 0; overflow-x: hidden; } .background { position: relative; width: 100vw; height: 100vh; background-image: url('background.jpg'); background-size: cover; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;div class=&quot;background&quot;&gt;&lt;/div&gt; &lt;/body&gt; &lt;/html&gt;</pre><p>上述代码中,我们定义了一个<code>.background类,其样式中包含了一个背景图片,宽高为100vw和100vh,分别表示100%屏幕宽度和100%屏幕高度,使背景图片能够完全覆盖整个屏幕。

接下来,我们需要为网页添加一个滚动效果,并在滚动时实现背景的镂空效果。这里我们使用CSS中的background-attachmentbackground-clip属性来实现。代码如下:

.background {
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

在上述代码中,background-attachment设为fixed表示将背景图片固定在视口,使其不会随滚动而移动。background-repeat设置为no-repeat则表示不重复平铺背景图片。background-position设为center表示将背景图片居中显示。

接下来,我们通过设置-webkit-background-cliptext,并将-webkit-text-fill-color设为transparent来实现背景的镂空效果。其中,-webkit前缀是为了兼容一些不支持最新CSS规范的浏览器。

最后,我们使用JavaScript代码来实现平滑滚动的效果。代码如下:

document.addEventListener('DOMContentLoaded', () => {
  const background = document.querySelector('.background');

  window.addEventListener('scroll', () => {
    const scrollTop = window.scrollY || window.pageYOffset;

    background.style.backgroundPositionY = `${scrollTop * 0.5}px`;
  });
});

在上述代码中,我们监听scroll事件,获取滚动距离并根据滚动的距离来调整背景的位置。这里通过改变backgroundPositionY来实现滚动背景移动的效果。

通过以上的代码示例,我们可以实现一个平滑滚动背景镂空效果的网页。你也可以根据自己的需求来调整代码中的样式和参数,制作出更加个性化的网页。

总结起来,通过纯CSS实现网页的平滑滚动背景镂空效果需要使用background-attachmentbackground-cliprrreee

Dalam kod di atas, kami mentakrifkan kelas .background, yang gayanya mengandungi imej latar belakang dengan lebar dan ketinggian 100vw dan 100vh, yang mewakili 100% lebar skrin dan 100% masing-masing ketinggian skrin supaya imej latar belakang meliputi keseluruhan skrin.

Seterusnya, kita perlu menambah kesan menatal pada halaman web dan mencapai kesan mengosongkan pada latar belakang apabila menatal. Di sini kami menggunakan sifat lampiran latar belakang dan klip latar belakang dalam CSS untuk mencapai ini. Kodnya adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, lampiran latar belakang ditetapkan kepada fixed untuk membetulkan imej latar belakang dalam viewport supaya ia tidak bergerak dengan menatal. background-repeat ditetapkan kepada no-repeat untuk menunjukkan bahawa imej latar belakang tidak akan berulang kali berjubin. Tetapkan background-position kepada center untuk memusatkan imej latar belakang. 🎜🎜Seterusnya, kami menetapkan -webkit-background-clip kepada text dan -webkit-text-fill-color kepada transparent untuk mencapai kesan mengosongkan latar belakang. Antaranya, awalan <code>-webkit adalah untuk keserasian dengan beberapa penyemak imbas yang tidak menyokong spesifikasi CSS terkini. 🎜🎜Akhir sekali, kami menggunakan kod JavaScript untuk mencapai kesan tatal yang lancar. Kodnya adalah seperti berikut: 🎜rrreee🎜Dalam kod di atas, kami mendengar acara scroll, dapatkan jarak skrol dan laraskan kedudukan latar belakang berdasarkan jarak skrol. Di sini, kesan pergerakan latar belakang menatal dicapai dengan menukar backgroundPositionY. 🎜🎜Dengan contoh kod di atas, kami boleh melaksanakan halaman web dengan kesan lompang latar belakang tatal yang lancar. Anda juga boleh melaraskan gaya dan parameter dalam kod mengikut keperluan anda sendiri untuk membuat halaman web yang lebih diperibadikan. 🎜🎜Ringkasnya, untuk mencapai kesan lompang latar belakang tatal lancar halaman web melalui CSS tulen, anda perlu menggunakan atribut seperti lampiran latar belakang dan klip latar belakang untuk menetapkan kesan latar belakang, digabungkan dengan acara Tatal pemantauan JavaScript untuk mencapai kesan tatal yang lancar. Kesan ini boleh meningkatkan daya tarikan visual halaman web dan memberi pengguna pengalaman yang lebih baik. Saya percaya bahawa melalui pengenalan dan contoh kod dalam artikel ini, anda boleh mencapai kesan latar belakang halaman web yang hebat dan menambah daya tarikan unik pada halaman web anda. 🎜🎜Saya harap kandungan di atas akan membantu anda, dan saya harap anda menulis reka bentuk web yang menarik! 🎜

Atas ialah kandungan terperinci Bagaimana untuk mencapai kesan hollowing latar belakang tatal lancar pada halaman web melalui CSS tulen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

JavaScript css html webkit 事件 position background
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Petua Reka Letak CSS: Cara Melaksanakan Elemen Web Berpusatkan Mendatar dan MenegakArtikel seterusnya:Petua Reka Letak CSS: Cara Melaksanakan Elemen Web Berpusatkan Mendatar dan Menegak

Artikel berkaitan

Lihat lagi