Недавно я столкнулся с довольно неловким надзором CSS. Я разрабатывал веб -сайт с узкой боковой панелью, содержащей значки. Не имея места для описательного текста, дизайн требовал доступного, но изначально скрытого, подсказки инструментов, вызванных длительным проведением. Подсказка появится после трехсекундного падения.
]мой первоначальный подход включал управление JavaScript State:
] mouseenter
, mouseleave
) для управления переходами состояния. visible
on mouseenter
. mouseleave
). это был проект React, поэтому использование состояния JavaScript казалось естественным. Однако в ретроспективе это оказалось излишне сложным. MouseEnter
и MouseLeave
чувствовали себя немного ненадежными, и вся функциональность могла быть реализована более кратко и эффективно с CSS.
] смущающая реализация: я излишне использовал библиотеку JavaScript, когда решение CSS было легко доступно.
] я сохранил пользовательский интерфейс React, но удалил управление штатом JavaScript. Решение включало простой CSS переход-delay
свойство:
.thing { transition: 0.2s; } .thing:hover { transition-delay: 3s; /* delay hover animation only ON, not OFF */ }]
этот элегантный одностроитель идеально достигает желаемого эффекта длинного проживания.
Этот подход, однако, не полностью обращается за доступностью сенсорного экрана. В то время как считыватели экрана обрабатывают доступный текст, а пользователи настольных компьютеров получают выгоду от подсказки инструментов, пользователи только для прикосновения могут пропустить этикетки значков. Мой проект нацелен на большие экраны, предполагая доступность курсора, но доходность остается проблемой. Если элемент является ссылкой, : Hover
может активировать на начальном TAP. Если ссылка приводит к странице с четким заголовком, это может обеспечить достаточный контекст. В противном случае, обработка событий Javascript для событий Touch остается жизнеспособным вариантом.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3