Interfeyslarda Hover: bu nima, effekt turlari va amalga oshirish

Muallif: IT Sectr Nashr etilgan: 2026-08-03 O'qish vaqti: 6 daq

Hover (hover) — bu CSS psevdosinfi va interfeys elementining sichqoncha kursori bilan ustiga borilganda faollashadigan vizual holati. Bu mexanizm foydalanuvchiga element o'zaro aloqaga tayyorligini tasdiqlovchi qayta aloqani ta'minlaydi. MDN Web Docs (2026) ma'lumotlariga ko'ra, :hover psevdosinfi barcha zamonaviy brauzerlar tomonidan qo'llab-quvvatlanadi va interaktivlik yaratish uchun eng ko'p ishlatiladigan CSS selektorlaridan biridir.

Asosiy ma'lumotlar

  • Hover — element ustiga sichqoncha kursori bilan borilganda faollashadigan :hover CSS psevdosinfi
  • Qayta aloqa — hover element interaktiv va bosishga tayyorligini tasdiqlaydi
  • CSS o'tishlari — transition hover effektlariga silliqlik qo'shadi, idrokni yaxshilaydi
  • Sensorli qurilmalar — mobil ekranlarda hover mavjud emas, muqobil amalga oshirish talab qilinadi
  • Effekt turlari — rang, soya, masshtab, fon, chegara va matn o'zgarishi

Veb dizaynda hover nima

Hover (ingl. hover — uchib yurmoq) — interfeys elementining sichqoncha kursori bilan ustiga borilganda vizual reaksiyasi. Bu atama ham CSS :hover psevdosinfining o'zini, ham elementning ustiga borilgandagi holatini ifodalash uchun ishlatiladi.

Hover kontseptsiyasi Xerox Alto (1973) dastlabki grafik interfeyslarida paydo bo'lgan va 1998-yilda CSS2 paydo bo'lishi bilan vebda standartlashtirilgan. O'shandan beri hover ish stoli kompyuterlarida foydalanuvchi tajribasining ajralmas qismiga aylandi.

CSS Usage Statistics (2025) ma'lumotlariga ko'ra, top 1000 saytlarning 94% kamida bitta element uchun :hover psevdosinfidan foydalanadi. Hover eng ko'p tugmalar (89%), havolalar (85%) va kartalar (62%) uchun qo'llaniladi.

Hoverning boshqa holatlardan farqi

Hover ≠ active. :hover ustiga borilganda, :active bosish paytida faollashadi. :focus klaviatura bilan fokuslanganda faollashadi. Har bir holat o'z vazifasini hal qiladi. Hover — oldindan ko'rish, active — harakatni tasdiqlash.

CSS da :hover psevdosinfi

:hover psevdosinfi CSS da foydalanuvchi sichqoncha kursori bilan element ustiga borganida unga stillarni qo'llaydi. Har qanday HTML element bilan ishlaydi, lekin eng ko'p interaktiv elementlar bilan ishlatiladi.

css
/* Basic hover implementation */
.button {
    background: #4A90D9;
    color: white;
    padding: 12px 24px;
    border: none;
    transition: all 0.3s ease;
}

.button:hover {
    background: #357ABD;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74,144,217,0.4);
}

Spetsifikligi — :hover selektorining spetsifikligi sinf bilan bir xil (0,1,0). Agar ma'lum bir element uchun hoverni qayta yozish kerak bo'lsa, yuqori spetsifiklikka ega selektordan foydalaning. E'lon qilish tartibi muhim: agar :hover :focus dan keyin e'lon qilinsa, hover fokusda ishlamasligi mumkin.

Birlashtirilgan psevdosiniflar

:hover boshqa psevdosiniflar bilan birlashtirilishi mumkin murakkab mantiq yaratish uchun. Masalan, .card:hover .card__title butun karta ustiga borilganda karta ichidagi sarlavha uslubini o'zgartiradi. Bu ichki animatsiya bilan effektlar yaratishga imkon beradi.

Hover effektlarining turlari

Hover effektlari o'zgartiriladigan xususiyat turiga qarab bir necha toifaga bo'linadi. Har bir tur turli stsenariylar uchun mos keladi va foydalanuvchida ma'lum bir tuyg'u yaratadi.

Effekt turiCSS xususiyatiQo'llash misoli
Rangbackground, colorTugma ustiga borilganda fon rangini o'zgartiradi
Soyabox-shadowKarta soya hisobiga ko'tariladi
Masshtabtransform: scaleBelgi ustiga borilganda kattalashadi
Surishtransform: translateElement yuqoriga yoki yon tomonga siljiydi
Tag chiziqborder-bottom, underlineHavola pastdan tag chiziq oladi
Filtrlashfilter: brightnessTasvir yorqinroq yoki quyuqroq bo'ladi
Gradientbackground-imageFon ustiga borilganda o'zgaradi

Eng samarali tur — rang va soya effektlarining kombinatsiyasi. Material Design hover qayta aloqasining asosiy turi sifatida soya balandligini o'zgartirishni tavsiya qiladi.

Google Material Design (2024) ma'lumotlariga ko'ra, hover effekti sezilarli, ammo chalg'itmaydigan bo'lishi kerak. Tavsiya etilgan animatsiya davomiyligi — 200–300 millisekund. Juda tez effektlar (100 ms dan kam) sezilmasligi mumkin, juda sekin (500 ms dan ortiq) foydalanuvchini bezovta qiladi.

Silliq effektlar uchun CSS o'tishlari

CSS transition xususiyati hover effektlarini silliq qiladi, xususiyatlarning o'zgarishini vaqt davomida animatsiya qiladi. Transition bo'lmaganida hover darhol ishga tushadi, bu ko'zga yoqimsiz ko'rinadi.

css
/* Different transitions per property */
.card {
    transition:
        box-shadow 0.3s ease-out,
        transform 0.2s ease-out,
        background 0.15s linear;
}

.card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
    transform: translateY(-4px);
}

Transition davomiyligi kontekstga bog'liq. Kichik elementlar uchun (belgilar, havolalar) — 150–200 ms. Katta elementlar uchun (kartalar, modal oynalar) — 250–350 ms. Easing funksiyasi ease-out animatsiyani oxiriga kelib silliq sekinlashtiradi, tabiiy tuyg'u yaratadi.

Tavsiya etilgan amaliyot — har bir animatsiya qilinadigan xususiyat uchun transitionni alohida belgilang. All xususiyati rivojlanish bosqichida qulay, ammo ishlab chiqarishda kutilmagan effektlardan qochish uchun aniq animatsiya xususiyatlarini belgilash yaxshiroq.

Sensorli qurilmalarda hover

Sensorli qurilmalarda hover kontseptsiyasi mavjud emas: elementni ko'rsata oladigan kursor yo'q. Elementga tegish darhol clickni faollashtiradi, hover holatini chetlab o'tadi. Agar interfeys faqat hoverga tayansa, bu muammolarni keltirib chiqaradi.

StatCounter (2026) ma'lumotlariga ko'ra, jahon veb-trafikining 62% mobil qurilmalardan keladi. Sensorli ekranlarda hover yo'qligini e'tiborsiz qoldirish — foydalanuvchilarning aksariyati uchun UX ustidan nazoratni yo'qotish demakdir.

css
/* Disable hover on touch devices */
@media (hover: none) and (pointer: coarse) {
    .button:hover {
        background: initial;
        transform: none;
    }
}

hover: none media so'rovi qurilma ustiga borishni qo'llab-quvvatlamasligini aniqlashga imkon beradi. Bunday qurilmalarda hover effektlari o'chiriladi va o'zaro ta'sir :active va :focus holatlariga asoslanadi. Muqobil yechim — tegish paytida hover tarkibini ko'rsatish (birinchi tegish hoverni ko'rsatadi, ikkinchisi — harakatni bajaradi), ammo bu namuna UXni yomonlashtiradi.

Hover effektlarining foydalanish mumkinligi

Hoverning foydalanish mumkinligi — tez-tez e'tibordan chetda qoladigan muhim jihat. Interfeysni klaviatura bilan boshqaradigan foydalanuvchilar :hoverni faollashtira olmaydi. Faqat hover orqali mavjud bo'lgan funksiyalar ular uchun mavjud bo'lmaydi.

WCAG 2.2 qoidasi (Success Criterion 1.4.13 — Content on Hover or Focus): hoverda paydo bo'ladigan tarkib fokusda ham mavjud bo'lishi kerak. Agar hover qo'shimcha ma'lumotni (tooltip, ochiladigan menyu) ko'rsatsa, xuddi shu ma'lumot :focus da ham mavjud bo'lishi kerak.

css
/* Hover + focus for accessibility */
.tooltip-trigger:hover .tooltip,
.tooltip-trigger:focus .tooltip {
    opacity: 1;
    visibility: visible;
}

/* Disable animation for vestibular disorder */
@media (prefers-reduced-motion: reduce) {
    *:hover {
        transition: none;
    }
}

prefers-reduced-motion media so'rovi — foydalanuvchilarning tizim sozlamalarini hurmat qiling. Agar foydalanuvchi tizimda animatsiyani o'chirgan bo'lsa, hover effektlari darhol, transitionsiz qo'llanilishi kerak. Bu vestibulyar buzilishlari bo'lgan odamlarga yordam beradi.

Qo'shimcha tavsiyalar: muhim funksiyalar uchun hoverdan foydalanmang, hoverda ma'lumot yetkazish uchun faqat rangdan foydalanmang (belgi yoki matn qo'shing) va hover holatlari uchun etarli kontrastni ta'minlang.

Tez-tez beriladigan savollar

CSS da :hover va :focus o'rtasidagi farq nima?

:hover sichqoncha element ustiga borilganda faollashadi. :focus element fokus olganda faollashadi — klaviatura bilan tabulyatsiya yoki bosishdan keyin. Foydalanish mumkinligi uchun hover effektlarini :focus orqali takrorlash muhim.

Mobil qurilmalarda hoverdan foydalanish mumkinmi?

Sensorli qurilmalarda hover beqaror ishlaydi: birinchi tegish :hoverni faollashtiradi, ikkinchisi — clickni. Bu chalkashlikka olib keladi. Sensorli ekranlarda hover effektlarini o'chirish uchun @media (hover: none) media so'rovidan foydalanish tavsiya etiladi.

JavaScript da hover effektini qanday qilish kerak?

mouseenter (ustiga borish) va mouseleave (kursorni olib ketish) hodisalaridan foydalaning. CSS hoverdan farqli o'laroq, JavaScript animatsiya ustida to'liq nazorat beradi va kechikishlar bilan murakkab ketma-ket effektlar yaratishga imkon beradi.

Nega hover mobil Safari da ishlamaydi?

iOS Safari :hoverni maxsus qayta ishlashga ega. Tegishdan so'ng element :hover holatiga kiradi va keyingi tegishgacha shu holatda qoladi. Bu hover stillarining yopishib qolishiga olib kelishi mumkin. Yechim — hoverni faqat ustiga borishni qo'llab-quvvatlaydigan qurilmalarda qo'llash uchun @media (hover: hover) dan foydalaning.

Hover effektlari uchun qaysi easing eng yaxshi?

ease-out (cubic-bezier(0, 0, 0.2, 1)) — hover uchun optimal tanlov: tez boshlanish va oxirida silliq sekinlashish. ease-in-out ikki fazali effektlar (paydo bo'lish va yo'qolish) uchun mos keladi. Lineardan saqlaning — g'ayritabiiy ko'rinadi.

Xulosa

  • Hover — element ustiga kursor bilan borilganda qayta aloqa beradigan :hover CSS psevdosinfi
  • Asosiy effektlar — rang, soya, masshtab, surish, tag chiziq va filtrlarning o'zgarishi
  • CSS o'tishlari — transition 200–300 ms optimal davomiylik bilan silliqlik qo'shadi
  • Sensorli qurilmalar — hoverni qo'llab-quvvatlamaydi, @media (hover: none) so'rovidan foydalaning
  • Foydalanish mumkinligi — hoverni :focus orqali takrorlang, prefers-reduced-motion ni hurmat qiling
  • Eng yaxshi amaliyot — 250 ms ease-out bilan rang va soya effektining kombinatsiyasi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing