Ховер у интерфејсима: шта је то, врсте ефеката и имплементација

Аутор: IT Sectr Објављено: 2026-08-03 Време читања: 6 мин

Ховер (hover) — CSS псеудокласа и визуелно стање елемента интерфејса које се активира при преласку курсора миша. Овај механизам обезбеђује повратну информацију кориснику, потврђујући да је елемент спреман за интеракцију. Према MDN Web Docs (2026), псеудокласа :hover је подржана у свим савременим прегледачима и један је од најчешће коришћених CSS селектора за креирање интерактивности.

Главно

  • Ховер — CSS псеудокласа :hover, активирана при преласку курсора миша на елемент
  • Повратна информација — ховер потврђује да је елемент интерактиван и спреман за клик
  • CSS прелази — transition додаје глаткоћу ховер ефектима, побољшавајући перцепцију
  • Touch уређаји — на мобилним екранима ховер не постоји, потребна је алтернативна имплементација
  • Врсте ефеката — промена боје, сенке, размере, позадине, ивице и текста

Шта је ховер у веб дизајну

Ховер (од енгл. hover — лебдети) — визуелна реакција елемента интерфејса на прелазак курсора миша. Термин се користи како за саму CSS псеудокласу :hover, тако и за стање елемента при преласку.

Концепт ховера појавио се у раним графичким интерфејсима Xerox Alto (1973) и стандардизован је на вебу са појавом CSS2 1998. године. Од тада, ховер је постао саставни део корисничког искуства на десктопу.

Према CSS Usage Statistics (2025), 94% сајтова у топ 1000 користи псеудокласу :hover барем за један елемент. Најчешће се ховер примењује на дугмад (89%), линкове (85%) и картице (62%).

Разлика између ховера и других стања

Ховер ≠ active. :hover се активира при преласку, :active — у тренутку клика. :focus се активира при фокусу са тастатуре. Свако стање решава свој задатак. Ховер је преглед, active — потврда радње.

Псеудокласа :hover у CSS-у

Псеудокласа :hover у CSS-у примењује стилове на елемент када корисник пређе курсором миша преко њега. Ради са било којим HTML елементом, али се најчешће користи са интерактивним елементима.

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);
}

Специфичност селектора :hover — иста као класе (0,1,0). Ако треба да препишете ховер за одређени елемент, користите селектор са већом специфичношћу. Редослед декларација је важан: ако декларишете :hover после :focus, ховер можда неће радити при фокусу.

Комбиноване псеудокласе

:hover се може комбиновати са другим псеудокласама за креирање сложене логике. На пример, .card:hover .card__title мења стил наслова унутар картице при преласку преко целе картице. Ово омогућава креирање ефеката са угњежденом анимацијом.

Врсте ховер ефеката

Ховер ефекти се деле у неколико категорија према типу особине која се мења. Сваки тип одговара различитим сценаријима и ствара одређени осећај код корисника.

Тип ефектаCSS особинаПример примене
Бојаbackground, colorДугме мења боју позадине при преласку
Сенкаbox-shadowКартица се подиже захваљујући сенци
Размераtransform: scaleИкона се увећава при преласку
Померањеtransform: translateЕлемент се помера нагоре или у страну
Подвлачењеborder-bottom, underlineЛинк добија подвлачење одоздо
Филтерfilter: brightnessСлика постаје светлија или тамнија
Градијентbackground-imageПозадина се мења при преласку

Најефикаснији тип — комбинација ефекта боје и сенке. Material Design препоручује коришћење промене висине сенке као главног типа ховер повратне информације.

Према Google Material Design (2024), ховер ефекат треба да буде приметан, али не и ометајући. Препоручено трајање анимације — 200–300 милисекунди. Сувише брзи ефекти (мање од 100 ms) могу остати непримећени, сувише спори (више од 500 ms) иритирају корисника.

CSS прелази за глатке ефекте

CSS особина transition чини ховер ефекте глаткима, анимирајући промену особина током времена. Без transition ховер делује тренутно, што изгледа трзаво и непријатно за око.

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 зависи од контекста. За мале елементе (иконе, линкови) — 150–200 ms. За велике елементе (картице, модални прозори) — 250–350 ms. Easing функција ease-out глатко успорава анимацију при крају, стварајући природан осећај.

Препоручена пракса — наведите transition за сваку анимирану особину посебно. Особина all је згодна у фази развоја, али у продукцији је боље дефинисати конкретне особине за анимацију како би се избегли неочекивани ефекти.

Ховер на touch уређајима

На сензорним уређајима концепт ховера не постоји: нема курсора који би могао да пређе преко елемента. Додир елемента одмах активира click, прескачући ховер стање. Ово ствара проблеме ако се интерфејс ослања искључиво на ховер.

Према StatCounter (2026), 62% светског веб саобраћаја долази са мобилних уређаја. Игнорисати недостатак ховера на touch екранима значи изгубити контролу над UX за већину корисника.

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

Медија упит hover: none омогућава да се утврди да уређај не подржава прелазак курсора. На таквим уређајима, ховер ефекти се искључују и интеракција се заснива на :active и :focus стањима. Алтернативно решење — приказивање ховер садржаја при додиру (први додир приказује ховер, други извршава акцију), али овај образац погоршава UX.

Приступачност ховер ефеката

Приступачност ховера — критичан аспект који се често занемарује. Корисници који управљају интерфејсом са тастатуре не могу да активирају :hover. Функције доступне само преко ховера постају недоступне за њих.

Правило WCAG 2.2 (Success Criterion 1.4.13 — Content on Hover or Focus): садржај који се појављује при ховеру мора бити доступан и при фокусу. Ако ховер приказује додатне информације (tooltip, падајући мени), исте информације морају бити доступне при :focus.

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 — поштујте системска подешавања корисника. Ако је корисник искључио анимацију у систему, ховер ефекти треба да се примењују тренутно, без transition. Ово помаже људима са вестибуларним поремећајима.

Додатне препоруке: не користите ховер за критичне функције, не користите само боју за преношење информација при ховеру (додајте икону или текст) и обезбедите довољан контраст за ховер стања.

Често постављана питања

Која је разлика између :hover и :focus у CSS-у?

:hover се активира при преласку миша преко елемента. :focus се активира када елемент добије фокус — при табулацији са тастатуре или после клика. За приступачност је важно дуплирати ховер ефекте кроз :focus.

Може ли се користити ховер на мобилним уређајима?

На touch уређајима ховер ради нестабилно: први додир активира :hover, други — click. Ово ствара забуну. Препоручује се коришћење медија упита @media (hover: none) за искључивање ховер ефеката на сензорним екранима.

Како направити ховер ефекат у JavaScript-у?

Користите догађаје mouseenter (прелазак) и mouseleave (одмицање курсора). За разлику од CSS ховера, JavaScript даје потпуну контролу над анимацијом и омогућава креирање сложених секвенцијалних ефеката са кашњењима.

Зашто ховер не ради на мобилном Safari-ју?

iOS Safari има посебну обраду :hover. Након додира, елемент улази у стање :hover и остаје у њему до следећег додира. Ово може довести до лепљења ховер стилова. Решење — користите @media (hover: hover) да примењујете ховер само на уређајима који подржавају прелазак курсора.

Који easing је најбољи за ховер ефекте?

ease-out (cubic-bezier(0, 0, 0.2, 1)) — оптималан избор за ховер: брз почетак и глатко успоравање на крају. ease-in-out је погодан за ефекте са две фазе (појављивање и нестајање). Избегавајте linear — изгледа неприродно.

Закључци

  • Ховер — CSS псеудокласа :hover, која обезбеђује повратну информацију при преласку курсора на елемент
  • Основни ефекти — промена боје, сенке, размере, померање, подвлачење и филтери
  • CSS прелази — transition додаје глаткоћу са оптималним трајањем 200–300 ms
  • Touch уређаји — не подржавају ховер, користите медија упит @media (hover: none)
  • Приступачност — дуплирајте ховер кроз :focus, поштујте prefers-reduced-motion
  • Најбоља пракса — комбинација ефекта боје и сенке са ease-out на 250 ms

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође