Utwórz projekt ↗
CSS / JS · KOD NA LICENCJI MIT

Światło pod kursorem

Delikatny refleks podążający za myszką.

Edytuj HTML, CSS i JS ↗ Otwórz konfigurator ↗

Gdzie wykorzystać ten przykład?

Elementy strony dopasowane do własnego projektu. Wariant „Światło pod kursorem” możesz dopasować do kolorów i treści swojej strony.

Jak działa ten efekt?

HTML określa strukturę przykładu, CSS jego wygląd, a JavaScript — jeżeli występuje — odpowiada za interakcję. Podgląd pokazuje domyślne ustawienia, które możesz zmienić w edytorze.

Jak dodać go na stronę?

  1. Otwórz przykład w edytorze i podmień tekst oraz kolory.
  2. HTML wstaw w miejscu, w którym ma pojawić się element.
  3. CSS przenieś do arkusza stylów swojej strony. Reguły body z podglądu dopasuj do własnego układu.
  4. JavaScript uruchom po załadowaniu elementów HTML, na przykład przed zamknięciem </body>.
  5. Sprawdź działanie na telefonie, klawiaturą i z własną treścią.

Na co zwrócić uwagę?

Podmień treści i odnośniki. Kod działa w przeglądarce; formularze wymagają osobnej obsługi wysyłania po stronie serwera.

Co możesz zmienić w konfiguratorze?

Nagłówek, Kolor refleksu. W edytorze kodu możesz dodatkowo zmienić całą strukturę i zachowanie przykładu.

Gotowy kod: Światło pod kursorem

HTML

<div class="spotlight"><h2>Tutaj jest dobry pomysł.</h2><p>Przesuń kursor po karcie.</p></div>

CSS

*{box-sizing:border-box}body{margin:0;padding:35px 24px;background:#f4f5ef;color:#293322;font:15px/1.7 Arial,sans-serif;min-height:100vh;display:grid;place-items:center}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #738858;outline-offset:4px}h2,h3,p{margin-top:0}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.spotlight{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:600px;min-height:210px;padding:40px;border-radius:13px;background:#273321;color:#fff;border:1px solid #526a3f}.spotlight:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(220px circle at var(--x,50%) var(--y,50%),#e95b3099,transparent 70%)}.spotlight h2{font-size:32px;line-height:1.2}.spotlight p{font-size:13px;color:#b2c3a0}

JavaScript

const spotlight=document.querySelector('.spotlight');
spotlight.addEventListener('pointermove',e=>{
    if(matchMedia('(prefers-reduced-motion: reduce)').matches)return;
    const box=spotlight.getBoundingClientRect();
    spotlight.style.setProperty('--x',(e.clientX-box.left)+'px');
    spotlight.style.setProperty('--y',(e.clientY-box.top)+'px');
});
spotlight.addEventListener('pointerleave',()=>{spotlight.style.removeProperty('--x');spotlight.style.removeProperty('--y')});

Podobne przykłady