untuk membuat jalur latar belakang yang sejuk? Artikel ini akan berkongsi kes yang menunjukkan bagaimana untuk mencapai kesan visual peralihan jalur latar belakang apabila tetikus berakhir dengan kecerunan CSS, mod campuran, dan background-size
untuk membuat imej latar belakang mengisi seluruh elemen. Tetapi kes ini memerlukan kawalan saiz latar belakang yang lebih maju: jalur latar belakang yang peralihan apabila tetikus melayang. Kesannya adalah seperti berikut (sila hover tetikus anda ke kawasan berikut): background-size: cover
Kunci untuk mencapai kesan ini adalah dengan menggunakan mod kecerunan dan pengadunan dengan cerdik. Mari kita mulakan dengan struktur HTML yang mudah:
<div></div>
div { width: 500px; height: 500px; background: palegreen; }
div { width: 500px; height: 500px; background: linear-gradient(black, black) top right, linear-gradient(black, black) top 100px right, linear-gradient(black, black) top 200px right, linear-gradient(black, black) top 300px right, linear-gradient(black, black) top 400px right, palegreen; }
div { --gt: linear-gradient(black, black); --n: 100px; width: 500px; height: 500px; background: var(--gt) top right, var(--gt) top var(--n) right, var(--gt) top calc(var(--n) * 2) right, var(--gt) top calc(var(--n) * 3) right, var(--gt) top calc(var(--n) * 4) right, palegreen; }
bermaksud kecerunan, dan --gt
mengawal mengimbangi menegak jalur. Pada masa ini kecerunan linear ditetapkan kepada Black Pure, iaitu untuk kesan masking dan pengadunan berikutnya. Untuk mengelakkan latar belakang dari jubin berulang kali, kita perlu menetapkan --n
: background-repeat: no-repeat;
div { /* ... */ background-repeat: no-repeat; }
untuk menetapkan lebar dan ketinggian jalur. Atribut background-size
menyokong sintaks dua nilai, dan kami dapat menetapkan lebar dan ketinggian masing-masing. Kod berikut menetapkan lebar setiap jalur, menggunakan nilai lalai ketinggian: background-size
auto
div { /* ... */ background-size: 60%, 90%, 70%, 40%, 10%; }
auto
div { /* ... */ background-size: 60% var(--n), 90% var(--n), 70% var(--n), 40% var(--n), 10% var(--n); }
topeng dan mod campuran
div { --h: calc(var(--n) - 5px); /* ... */ background-size: 60% var(--h), 90% var(--h), 70% var(--h), 40% var(--h), 10% var(--h); }
Untuk mencapai kesan pelekat dan penggabungan, kami membungkus
div { /* ... */ background: var(--gt) top right, var(--gt) top var(--n) right, var(--gt) top calc(var(--n) * 2) right, var(--gt) top calc(var(--n) * 3) right, var(--gt) top calc(var(--n) * 4) right, #fff; /* ... */ }
<div>
<code><div> susun atur dengan grid CSS:
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><section>
<div></div>
<div></div>
</section></pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p> Gunakan warna kecerunan pada </p> pertama, dan gunakan gaya jalur sebelumnya pada kedua <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">section {
display: grid;
align-items: center;
justify-items: center;
width: 500px;
height: 500px;
}
section > div {
width: inherit;
height: inherit;
grid-area: 1 / 1;
}</pre><div class="contentsignin">Salin selepas log masuk</div></div> dan melaksanakan mod pengadunan skrin menggunakan <p>: <code><div>
<code><div>
<code>mix-blend-mode: screen;
kesan hover tetikus
div:nth-child(1) { background: linear-gradient(to right, red, orange); } div:nth-child(2) { /* ... previous styles ... */ mix-blend-mode: screen; }
Kesan akhir ditunjukkan pada mulanya. Sila ambil perhatian bahawa untuk pengalaman pengguna yang lebih baik, adalah disyorkan untuk mempertimbangkan untuk mengurangkan tetapan untuk kesan sukan untuk memenuhi keutamaan pengguna yang berbeza.
Kaedah ini adalah pemeliharaan dan penyesuaian yang baik, dan anda boleh dengan mudah mengubah ketinggian, warna dan orientasi jalur, dll.
Saya harap kes ini dapat membantu anda memahami dan menggunakan atribut CSS. Jika anda mempunyai kaedah pelaksanaan yang lain, sila kongsi di bahagian komen! background-size
Atas ialah kandungan terperinci Jalur latar animasi yang beralih ke hover. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!