Товаров: 0 (0р.)

Hover style: html — Как прописать :hover внутри style=’ ‘?

Содержание

html — css hover: эфект (для списка)

(!) Осторожно, пиксели.

Задолбался переделывать ваш код, сделал с нуля, наверно сможете уже допилить его к себе)
Вместо кругляшек выступают обычные блоки с border-radius: 50%. А при наведении — убираю радиус бордеров справа.

JsFiddle

.bubu {
  padding: 5px 0; 
  border: 1px solid red; /* для наглядности */
  width: 160px; 
  position: relative; /* У кругляшек абсолютная позиция. 
  А этот фрагмент у родительского блока, будет удерживать их внутри */
  cursor: pointer;
  box-sizing: border-box;/*Это важно, чтобы при наведении padding не сдвигал блок*/
  transition: 0.5s;
}

.bubble {
  width: 16px; height: 16px; position: absolute;
  right: 15px; top: 6px;
  background-color: #236; border-radius: 8px;
  transition: 0.2s;
}

.bubu:hover .bubble {
  right: 0; width: 31px; 
  /* собственная ширина была 16, right: 15; 
   * Теперь right: 0; а ширина стала 16 + 15 px
   */
  border-radius: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  background-color: #bc007c;
}

.
bubu:hover { padding-left: 15px; color: #bc007c; }
<ul>
  <a href="#">
    <li>Новые<div></div></li>
  </a>
  <li>Бубу<div></div></li>
  <li>Чебурашки<div></div></li>
</ul>

P.s. вместо padding-left, padding-right по-отдельности, можно прописать сразу 4 числа в один. Начиная с верхнего padding-top, дальше всё идет по стрелке часов:

padding: верх право вниз лево;
____________

padding-top: 10px;
padding-right: 20px;
padding-bottom: 30px;
padding-left: 40px;

сокращается до:

padding: 10px 20px 30px 40px;

Та же история и с margin. А если там всего два числа, первая означает верх-вниз, второе: лево-право.

Селекторы псевдоклассов и псевдоэлементов в CSS (hover, first-child, first-line и другие), отношения между тегами Html кода

Главная / Как устроены сайты / CSS за 10 уроков

10 января 2021

  1. Отношения между тегами Html кода — дерево документа
  2. Селекторы псевдоклассов — hover, focus и first-child
  3. Селекторы псевдоэлементов — first-line (letter), after и before

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo. ru. Сегодня мы продолжим тему изучения таблицы каскадных стилей и наполнять новыми материалами справочник.

Тема селекторов в CSS, которая была начата в предыдущей статье, осталась еще не завершенной, ибо мы рассмотрели только пять из семи возможных типов (тега и класса (class), Id, универсальный и атрибутов) и на очереди остались селекторы псевдоклассов и псевдоэлементов.

Отношения между тегами Html кода — дерево документа

Давайте начнем с псевдоклассов. Тут, правда, сначала нужно будет сделать отступление. Любой браузер, получая документ с любым языком разметки, тут же начинает его разбирать. Модуль, отвечающий в браузере за это дело, обычно называют парсер — он разбирает код, исправляет ошибки и формирует так называемое дерево.

Результат работы парсера любого браузера можно увидеть с помощью некоторых плагинов или расширений для этих обозревателей. Например, все тот же незаменимый плагин для Firefox под названием Firebug показывает это самое дерево документа:

Узлы этого дерева помечены плюсиками, нажав на которые можно будет увидеть вложенные элементы языка разметки Html. Построение этого дерева и есть результат работы парсера браузера. Давайте теперь посмотрим на принципы отношения между собой отдельных узлов.

Таких взаимоотношений может быть всего три вида (очень похоже на построение генеалогического дерева — отношение между родственниками):

  1. Предки и потомки. Например, для тега, показанного на приведенном выше примере, все остальные элементы являются потомками. Для них же всех он является прародителем — предком. Т.е. все, что находится внутри — это потомки. А предками будут являться все элементы, внутри которых данный элемент лежит.
  2. Родитель и ребенок — в цепочке предки-потомки всегда есть два ближайших звена, которые будут отвечать понятиям родитель и ребенок. Т.е. у любого Html элемента есть один родитель (ближайший предок) и в то же время у него могут быть или не быть один или же несколько детей.
  3. Сестринские (братские) отношения — к ним относятся элементы, у которых один общий родитель.

Само по себе название «псевдоклассы» обозначает то, что специально в коде ни у каких элементов (тегов) такие классы (значения для атрибута Class) никто не прописывал, но у этих самых элементов периодически могут возникать определенные динамические состояния, для которых и были придуманы селекторы псевдоклассов.

Селекторы псевдоклассов — hover, focus, first-child и другие

Например, селекторы Link и Visited во всех браузерах могут использоваться только для оформления гиперссылок:

Link подразумевает под собой не посещенную ссылку (по которой пользователь еще не переходил), а Visited — посещенную. Таким образом вы можете настроить, например, изменение цвета для уже посещенных пользователем ссылок, ну или еще что-то другое (задать визуальное состояние для всех посещенных гиперссылок). Естественно, что посещенные будут учитываться именно для данного конкретного браузера и до момента очистки его истории.

Синтаксис написания селекторов псевдоклассов заключается в проставлении двоеточия после названия Html элемента, для которого вы его используете (a:visited).

a:visited {color:red;}

Следующие три селектора (active, hover и focus) могут использоваться для любых тегов:

Active соответствует клику левой кнопки мыши по тому элементу в Html коде, название которого вы прописали перед этим псевдоклассом в селекторе (в нашем примере это тег гиперссылки A). Как только левую клавишу пользователь отожмет — псевдокласс active исчезнет.

p:active {color:red}

В этом случае, при наведении курсора мыши на любой абзац текста и щелчке по левой кнопке мыши, мы увидим, что цвет этого параграфа изменится на красный. После отжатия кнопки цвет абзаца опять вернется к принятому по умолчанию. Т.е. данный псевдокласс active динамичен и будет работать абсолютно для любых тэгов (например, для контейнеров Div и т.п.). При клике на этом элементе он может изменить свое визуальное оформление в соответствии с нашими пожеланиями.

Hover — позволяет изменять визуальное оформление любого элемента в Html коде при наведении на него курсора мыши. При отведении курсора визуальное оформление элемента вернется к используемому по умолчанию.

p:hover {color:red}

Псевдокласс focus — позволяет изменять визуальное оформление тегов находящимся сейчас в фокусе. Как известно, фокус на веб странице можно переносить с помощью нажатия на клавишу Tab на клавиатуре. Причем, фокус может передаваться только между следующими элементам: ссылки и элементы форм в Html.

Псевдоклассы active и hover в браузере IE 6 работают только для элементов гиперссылок, а focus не работает вообще ни в IE 6, ни в IE 7.

Последний псевдокласс называется first-child (первый ребенок, в переводе).

:first-child {color:red}

Эта запись будет означать, что все элементы исходного кода страницы, которые являются первыми детьми своих родителей, будут покрашены в красный цвет.

First-child в IE 6 не работает, что печально.

Селекторы псевдоэлементов — first-line (letter), after и before

Во время разработки концепции CSS планировалось писать селекторы псевдоэлементов с двойным двоеточием, чтобы отличать их от псевдоклассов, но пока синтаксис таков, что все они записываются с одним двоеточием. Возможно, что в будущем будут вводить соответствующие изменения.

По самому слову «псевдоэлементы» понятно, что таких тегов в Html коде нет. На данный момент псевдоэлементов всего четыре и они приведены на расположенном чуть выше рисунке.

Наверное, понятно по самому названию, что first-line будет указывать на первую линию, а first-letter — на первую букву.

Причем, оба этих псевдоэлемента применяются только к блочным тегам (заголовки, параграфы, контейнеры и т.п.) и как это ни печально, но в браузере IE 6 они тоже не работают.

p:first-line {color:red}

Что это даст? Во всех параграфах на веб странице первые строки текста окрасятся в красный цвет. Для простоты подключим CSS к языку Html с помощью тега style и пропишем соответствующее свойство с использованием псевдоэлемента first-line в селекторе параграфа:

Тогда, как мы и планировали, все первые строки в абзацах окрасятся в красный цвет:

Ну, а с помощью first-letter можно сделать, например, так называемую буквицу (когда первая буква в абзаце отличается большим размером и цветом). Для этого можно будет прописать следующие CSS плавила для данного селектора псевдоэлемента:

p:first-letter {font-size:5em; float:left; color:red}

Про Em, Ex, пиксели и другие размерности в CSS мы с вами уже говорили. Исходный код с добавленными свойствами тогда будет выглядеть так:

А сама вебстраница с буквицей, созданной с помощью селектора first-letter, будет выглядеть так:

Два оставшихся псевдоэлемента after и before нужны для формирования контента на лету. Давайте посмотрим на примере:

p:after {
content: " KtoNaNovenkogo.ru";
color:red;
}

В результате, в конце каждого абзаца на вебстранице автоматически добавится тот фрагмент, который мы указали в CSS свойстве «content» (оно используется только для псевдоэлементов after и before) и этот фрагмент будет окрашен в красный цвет:

Если бы мы вместо «after» использовали бы «before», то дополнительный контент был бы добавлен внутри каждого абзаца на странице, но уже перед его содержимым. Напрашивается вопрос — а для чего это можно использовать на практике?

Оказывается, с помощью этих псевдоэлементов можно, например, создать сложную нумерацию вида «5.2.13». Обычными средствами Html этого сделать нельзя, а с использованием before — можно.

Для того, чтобы получить такой сложно нумерованный список, используется довольно простой Html код:

Но при этом имеет место быть сложный код CSS стилей с использованием, естественно, псевдоэлементов after и before:

Все очень здорово, но, к сожалению, after и before не поддерживаются в браузерах IE 6 и IE 7. Увы и ах. В следующей статье мы поговорим про комбинации CSS селекторов и их приоритетность.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Использую для заработка

Всегда используйте :hover вместе с :focus | HTML и CSS

Всегда используйте :hover вместе с :focus

Мне очень понравилась Пашина статья о псевдоклассах. =) Специально по такому случаю в закромах была недавняя заметка с 456bereastreet.

В ней рассказывается о том, что может повлечь за собой игнорирование псевдокласса :focus.

Мы рассмотрим типы проблем и в итоге узнаем что делать, чтобы избежать их.

  

Реализация правил для псевдокласса :hover без реализации :focus является наиболее частым недосмотром при проектировании стиля сайта. Серьезность проблем при таком недосмотре зависит от того, как вы определили поведение для состояния :hover.

Рассмотрим их в порядке возрастания серьезности.

1. Неряшливость

Если для :hover заданы простые правила, например, только изменение цвета текста, пренебрежение :focus не влечет за собой серьезных проблем. В этом случае при смене фокуса с помощью клавиатуры актуальный элемент просто никак не выделится.

2. Серьезные проблемы использования

Гораздо больше проблем вы получите, если зададите свойство outline равным 0 или значению none. Эта проблема сейчас набирает актуальность, т.к. сведение на нет эффекта outline довольно популярно.

В этом случае ссылки технически доступны, но это никак не подтверждено визуально. Разве что некоторые браузеры отображают в статусной строке текущее значение href сфокусированной ссылки.

3. Полная недосягаемость

Существуют методики, которые делают содержимое совершенно недоступным для пользователей устройств без поддержки мыши. В частности, когда :hover используется для раскрытия меню, и при этом не определена реакция на :focus. В этом случае меню будет недоступно, если у вас нет мышки. Epicfail.

Фокус на :focus (и :active)

Все перечисленные проблемы решаются довольно просто: там же, где вы определяете правила для :hover, укажите и :focus. Для того, чтобы Internet Explorer версий 7 и ранее распознал правила, надо дописать псевдокласс :active.

Пара слов о порядке перечисления псевдоклассов объявлении

Этот параграф — отдельная заметка. Все желающие могут ознакомиться с оригиналом статьи.

Для многих известно, что порядок объявления псевдоклассов правиле CSS имеет значение. На 456bereastreet предпочитают следующий порядок:

:link, :visited, :hover, :focus, :active

Этот порядок основан на нескольких статьях Эрика Мейера. Одна из них содержит довольно забавные мнемоники, я привожу их ниже на языке оригинала:

  • LoVe’s Hurts Fade Away;
  • Luther Vandross Hits Fabulous Arpeggios;
  • Lord Vader Hates Furry Animals;
  • Lusty Vampires Hunger For Absinthe;
  • Lord Voldemort Has Foul Ambitions.

Небольшое лирическое

Если кто-то думает: «Э… а как же модульные сетки, все дела, Марк Болтон и все такое». Сетки — будут позже. Болтон… при всем к нему уважении, такое огромное количество воды мне попросту надоело переводить. Будет время, переведу. Прошу прощения за то, что не довел до конца. Но там уже какая-то художественная литература, так что сюда ее выкладывать нет никакого смысла. В ближайшем рассмотрении весь этот цикл был всего лишь рекламой его книги с одноименным названием. К сожалению, это западный мир. Бесплатно дают только стакан воды.

Стиль наведения, фокуса и активного состояния по-разному

16 октября 2019

Я стилизовал : hover , : focus и : active состояний в течение многих лет. Не могу вспомнить, когда я начала так укладывать. Вот код, который я всегда использую:

  // Не лучший подход. Я объясню почему в этой статье
.selector {
  &: навести,
  &: фокус,
  &: active {
    // Стили здесь
  }
}
  

По мере того как я уделял больше внимания доступности клавиатуры (и, следовательно, уделял больше внимания фокусировке), я начал думать, что мы не должны одинаково оформлять наведение, фокус и активные состояния.

Наведение, фокус и активное состояние должны иметь разные стили.

Причина проста: это разные государства!

Сегодня я хочу показать вам волшебный способ легко стилизовать все три состояния.

Начнем с : наведите курсор на .

Стилизация состояний при наведении

: hover срабатывает, когда пользователь наводит курсор мыши на элемент.

Состояния наведения обычно представлены изменением цвета фона (и / или цвета ) .Разница в состояниях не должна быть очевидной, потому что пользователи уже знают, что они на что-то ориентируются.

  кнопка {
  цвет фона: #dedede;
}

button: hover {
  цвет фона: #aaa;
}
  

Стилизация состояний фокуса

: фокус активируется, когда элемент получает фокус. Элементы могут получать фокус двумя способами:

  1. Когда пользователи переходят в фокусируемый элемент
  2. Когда пользователи нажимают на элемент, на который можно сфокусироваться

Фокусируемые элементы:

  1. Ссылки ( )
  2. Кнопки (
  3. Элементы формы ( ввод , текстовое поле и т.
    Д.)
  4. Элементы с tabindex

Вот несколько важных моментов, на которые следует обратить внимание:

  1. Пользователи не могут перейти в элемент с tabindex = "- 1" , но они могут щелкнуть по нему. Щелчок вызывает фокус.
  2. В Safari и Firefox (Mac) щелчки не фокусируются на элементе
  3. Когда вы щелкаете ссылку ( ), фокус остается на ссылке, пока вы не уберете палец с мыши.Когда вы поднимаете палец, фокус перенаправляется в другое место, если href указывает на действительный id на той же странице.

Чтобы сфокусироваться, мы больше озабочены тем, чтобы пользователи переходили на элементы с помощью табуляции, чем нажимали на них.

Когда пользователь переходит на вкладку, он не знает, на что будет направлен фокус. Им остается только догадываться. Вот почему нам нужно заметно изменить внимание пользователя к сфокусированному элементу .

Стиль фокуса по умолчанию в большинстве случаев подходит.Если вы хотите создать собственный фокус, подумайте об этих четырех вещах:

  1. Добавление контура
  2. Создание анимации с движением
  3. Изменение цвета фона
  4. Изменение цвета

Поскольку background-color и color часто меняются вместе с : hover , имеет смысл, что контуры или анимации должны сопровождать : focus .

Вы можете использовать комбинацию свойств outline , border и box-shadow для создания приятных стилей фокуса.Я рассказываю, как это сделать, в «Создание собственного стиля фокуса».

  кнопка {
  цвет фона: #dedede;
}

button: hover {
  цвет фона: #aaa;
}

button: focus {
  наброски: нет;
  box-shadow: 0 0 0 3px lightskyblue;
}
  

Стилизация активных состояний

Когда вы взаимодействуете с вещами в реальной жизни, вы ожидаете какой-то обратной связи. Например, если вы нажмете кнопку, вы ожидаете, что она будет нажата.

Этот отзыв полезен и для веб-сайтов.Вы можете стилизовать момент «нажатия кнопки» с : активно . : активный триггер срабатывает при взаимодействии с элементом . Здесь взаимодействие означает:

  1. Удерживая левую кнопку мыши на элементе (даже не фокусируемом)
  2. Удерживание клавиши пробела (на кнопках)
  кнопка: активна {
  цвет фона: # 333;
  цвет границы: # 333;
  цвет: #eee;
}
  

Две странные вещи, на которые следует обратить внимание:

  1. Удерживая нажатой клавишу «Пробел», активирует : активный на кнопках, а удерживание клавиши «Enter» — нет.
  2. Ввести триггерные ссылки, но не создать активное состояние. Пробел вообще не запускает ссылки.

Стили по умолчанию для ссылок

Ссылки имеют активный стиль по умолчанию. Они становятся красными при нажатии.

Взаимосвязь между активным и сосредоточенным

Когда вы удерживаете левую кнопку мыши на фокусируемом элементе, вы запускаете активное состояние . Вы также запускаете состояние фокуса одновременно.

Когда вы отпускаете левую кнопку мыши, фокус остается на элементе

👆 верно для большинства элементов, на которые можно сфокусироваться, кроме ссылок и кнопок.

Для ссылок:

  1. Когда вы удерживаете левую кнопку мыши: триггеры : активны и : фокус состояние в Firefox и Chrome Активны только триггеры в Safari (проверено только на Mac)
  2. Когда вы отпускаете левую кнопку мыши: : фокус остается на ссылке (если href ссылки не соответствует id на той же странице).В Safari фокус возвращается к .

Для кнопок:

  1. Когда вы удерживаете левую кнопку мыши: триггеры : активные и : фокус только на Chrome. Не запускает : фокус вообще в Safari и Firefox (Mac). Я писал об этом странном поведении здесь.

Если вы хотите, чтобы клики фокусировались на кнопках, вам нужно добавить этот JavaScript как можно раньше. (Что касается того, почему, вы можете прочитать статью, на которую я ссылался выше, для получения дополнительной информации).

  document.addEventListener ('щелчок', событие => {
  if (event.target.matches ('button')) {
    event.target.focus ()
  }
})
  

После того, как вы получите этот код, поведение кнопок при нажатии станет:

  1. Если удерживать левую кнопку мыши: запускает : активен во всех браузерах. Триггеры : сфокусируйте только на Chrome.
  2. Когда вы отпускаете левую кнопку мыши: Триггер : фокус на Safari и Firefox (Mac). : фокус остается на кнопке для других браузеров.
Поведение кнопки в Safari после добавления фрагмента кода JavaScript выше.

Теперь вы знаете о состояниях наведения, фокуса и активных состояний, я хочу поговорить о стилизации всех трех.

Волшебное сочетание

Волшебная комбинация позволяет пользователям получать обратную связь, когда они наводят курсор, фокусируются и взаимодействуют с элементом. Вот код, который вам нужен:

 . Элемент: hover,
.element: active {
  / * Изменить цвет фона / текста * /
}

.element: focus {
  / * Показать схему / *
}
  

Для пользователей мыши:

  1. Когда пользователь наводит курсор на элемент, изменяется background-color (и / или color ).Они получают обратную связь.
  2. Когда пользователь щелкает элемент, отображается контур фокуса. Они получают обратную связь.

Для пользователей клавиатуры:

  1. Когда пользователь входит в элемент, отображается контур фокуса. Они получают обратную связь.
  2. Когда они взаимодействуют с элементом, изменяется background-color (и / или color ). Они получают обратную связь.

Лучшее из обоих миров!

  1. Я не тестировал полностью магическую комбинацию. Это проверка правильности концепции. Буду признателен, если вы поможете мне с тестами и дадите мне знать, как дела.
  2. Если вы запускаете тесты, не используйте Codepen. Состояния фокуса для ссылок на Codepen странные. Если вы наводите курсор на ссылку, контур фокуса удаляется. Почему? Я не знаю. Иногда я думаю, что лучше всего протестировать подобные вещи без каких-либо необычных инструментов. Просто старый HTML, CSS, JS.

Немагическая (но может быть лучше) комбинация

Как я уже упоминал выше, нажатие на кнопки ведет себя странно в Safari и Firefox (Mac).Если вы добавили фрагмент кода JavaScript, который я вам показал, волшебная комбинация все еще работает. Но это не идеально.

Для Safari и Firefox (Mac) происходит следующее:

  1. Когда пользователи удерживают кнопку мыши нажатой, ничего не меняется.
  2. Когда пользователь поднимает кнопку мыши, элемент получает фокус

Если вы думаете, что этого достаточно, то волшебная комбинация работает. Здесь можно остановиться.

Но если вы думаете, что аффорданса недостаточно, вам нужно стилизовать : hover , : focus и : active отдельно.

  .element: hover {
  / * Изменить цвет фона / текста * /
}

.element: active {
  / * Еще одно изменение цвета фона / текста * /
}

.element: focus {
  / * Показать схему / *
}
  
Поведение кнопки в Safari, если вы стилизовали все три состояния.

Вот и все! Надеюсь, вы узнали что-то сегодня!

Если вам понравилась эта статья, расскажите о ней другу! Поделитесь этим в Twitter. Если вы заметили опечатку, я буду признателен, если вы сможете исправить ее на GitHub. Спасибо!

Как написать: hover во встроенном CSS?

Как написать: hover во встроенном CSS?

Он называется псевдоселектором и используется для выбора всех элементов, когда пользователь наводит указатель мыши на элементы. Его можно использовать на всех элементах. В документе должен быть объявлен элемент , чтобы увидеть работу этого селектора во всех элементах.

Пример 1:

< HTML >

< голова >

< title > a: наведите указатель мыши на встроенный CSS title >

< стиль >

h2 {

цвет: зеленый;

}

кузов {

выравнивание текста: по центру;

}

а {

текстовое оформление: нет;

цвет: зеленый;

}

стиль >

голова >

< корпус >

< h2 > GeeksforGeeks h2 >

< h3 > a: наведение курсора во встроенном CSS h3 >

< a href = "#" onMouseOver = "this. style.color = 'красный' «

onMouseOut = "this.style.color = 'green'" > GeeksforGeeks a >

корпус >

html >

Выход:

Пример 2: В этом примере используется JavaScript для отображения содержимого: hover в CSS.Атрибут события onmouseover и onmouseout вызывается для отображения содержимого a: hover.

< HTML >

< голова >

< title > a: наведите указатель мыши на встроенный CSS title >

< стиль >

h2 {

цвет: зеленый;

}

кузов {

выравнивание текста: по центру;

}

а {

текстовое оформление: нет;

цвет: зеленый;

}

стиль >

< скрипт >

функция наведения курсора () {

документ. getElementById ("gfg"). style.color = "красный";

}

функция mouseout () {

document.getElementById ("gfg"). Style.color = "green";

}

скрипт >

голова >

< корпус >

< h2 > GeeksforGeeks h2 >

< h3 > a: наведение курсора во встроенном CSS h3 >

< a href = "#" id = "gfg" onmouseover = "mouseover

onmouseout = "mouseout ()" > GeeksforGeeks a >

корпус >

html >

Выход:

Поддерживаемые браузеры: Браузеры, поддерживаемые селектором: hover, перечислены ниже:

  • Apple Safari 3. 1
  • Google Chrome 4.0
  • Firefox 2.0
  • Opera 9.6
  • Internet Explorer 7.0


CSS: селектор наведения


Это руководство по CSS объясняет, как использовать селектор CSS под названием : hover с синтаксисом и примерами.

Описание

Селектор CSS: hover позволяет выбрать элемент, на который пользователь наводит курсор или указатель мыши.

Синтаксис

Синтаксис CSS-селектора: active:

  элемент: hover {style_properties}  

Параметры или аргументы

элемент
Элемент, на который нацеливается, когда пользователь наводит на него курсор.
style_properties
Стили CSS, применяемые к элементу, когда пользователь наводит на него курсор.

Примечание

Совместимость с браузером

Селектор CSS: hover имеет базовую поддержку в следующих браузерах:

Пример

Мы обсудим селектор: hover ниже, исследуя примеры того, как использовать этот селектор в CSS для применения стиля к элементу, на который наведен курсор.

С тегом

Давайте посмотрим на пример CSS: hover, где мы применяем селектор: hover к тегу .

CSS будет выглядеть так:

  a: hover {цвет: белый; фон: синий; }  

HTML будет выглядеть так:

    

Когда тег не наведен, это будет выглядеть так:

Затем, когда вы наводите указатель мыши на тег , селектор: hover будет стилизовать тег следующим образом:

В этом примере: наведите ссылку "CheckYourMath.com "будет отображаться как белый текст с синим фоном только при наведении курсора или указателя мыши.

С тегом

Давайте посмотрим на пример CSS: hover, где мы применяем селектор: hover к тегу

.

CSS будет выглядеть так:

  div: hover {background: yellow; }  

HTML будет выглядеть так:

  

TechOnTheNet.com предоставляет полезные ссылки, инструкции и часто задаваемые вопросы с 2003 года.Мы ориентируемся на такие технологии, как Microsoft Access, Microsoft Excel, Microsoft Word, SQL, Oracle / PLSQL, MySQL, HTML, CSS и язык C.

Представленная здесь информация подходит всем программистам от новичка до эксперта. Мы надеемся, что вы найдете эту информацию полезной и вернетесь на наш сайт по мере расширения нашей информационной базы.

Когда тег

не наведен, он будет выглядеть так:

Затем, когда вы наводите курсор на один из тегов

, селектор: hover будет стилизовать тег
следующим образом:

В этом примере: hover мы навели курсор на второй тег

, который заставил селектор: hover стилизовать
с желтым фоном.

Основы CSS: Использование: hover и: active Псевдоклассы ← Alligator.io

CSS предлагает несколько псевдоклассов для стилизации элементов, которые могут помочь различать различные состояния элементов. Здесь мы сосредоточимся на: hover и: active, чтобы увидеть, как улучшить визуальную обратную связь для пользователей и убедиться, что ваш интерфейс отлично выглядит на всех устройствах! 🔥

Что такое «Псевдокласс»?

Псевдокласс выбирает состояние селектора в CSS.

Псевдоклассы должны использоваться вместе с обычным селектором CSS, будь то элемент, класс или идентификатор.Псевдоклассы обычно основаны на взаимодействии пользователя с элементами. Они предлагают возможность изменить стиль элемента в зависимости от того, в каком состоянии он находится. ✨

Наведение курсора на элемент, например кнопку, является одним из примеров изменения состояния элемента в CSS. Состояние «зависания» может быть оформлено иначе, чем состояние по умолчанию без зависания.

Аналогично, щелчок по ссылке обновит состояние ссылки в CSS и сделает ее «активной».

Предоставление пользователям визуальной обратной связи

Использование псевдоклассов может быть чрезвычайно полезным для предоставления пользователям немедленной визуальной обратной связи.Интуитивно понятный пользовательский интерфейс (UI) позволит пользователю узнать, как взаимодействовать с UI, например, можно ли щелкнуть текст. Например, обновление стиля элемента панели навигации при наведении курсора позволяет пользователю узнать, что мышь находится в области, по которой можно щелкнуть мышью, которая может выходить за пределы фактического текста.

Однако, если бы все на странице было оформлено при наведении курсора, это было бы визуально ошеломляющим. Это также мало что скажет пользователю о том, как они должны взаимодействовать со страницей. Поэтому лучше спросить себя, что стиль псевдокласса должен сказать пользователю.

Использование псевдоклассов в CSS может помочь предоставить пользователям визуальную обратную связь, чтобы они понимали, как взаимодействовать с пользовательским интерфейсом.


Псевдокласс: hover

Псевдокласс : hover - один из наиболее распространенных в CSS. Давайте сначала рассмотрим несколько примеров того, как его использовать.

В качестве основы давайте сделаем все теги зеленым цветом.

Если мы хотим изменить цвет при наведении курсора, мы объявляем второй стиль, в котором мы снова выбираем теги , но затем добавляем псевдокласс : hover .

  а {
  цвет: зеленый;
}

a: hover {
  цвет: желтый;
}
  

Попробуйте навести курсор мыши здесь, чтобы увидеть желаемый эффект.

Хотя : hover обычно используется для ссылок, как в примере выше, вы можете использовать его для любого селектора. Вот еще несколько примеров с использованием тега

, класса, идентификатора и их комбинации:

  p: hover {
  цвет фона: зеленый;
}

.gator: hover {
  font-weight: жирный;
}

#cayman: hover {
  font-size: 2rem;
}

Вход.gator [type = "text"]: hover {
  граница: сплошной желтый 1px;
}

input.gator [type = "text"]: hover span {
  граница: сплошной черный цвет 2px;
}

  

Обратите внимание, что псевдокласс находится в конце селектора. Его следует добавить к элементу, на который наведен курсор, который может быть родительским для более конкретного селектора.

Преимущество использования псевдокласса: hover заключается в том, что CSS выполняет всю работу за нас. Извините, JavaScript, но нам здесь не нужны никакие операторы if или управление состоянием! 💪

Использование: hover с разными устройствами

При стилизации адаптивных страниц важно учитывать, как эти стили применяются к различным устройствам. Пользователь может просматривать веб-страницу, например, на компьютере или телефоне, и они могут использовать сенсорный экран, мышь или клавиатуру (и т. Д.) Для запуска взаимодействия с пользовательским интерфейсом.


Псевдокласс: active

Как и псевдокласс : hover , : active следует использовать вместе с обычными селекторами CSS.

: активный можно использовать для выбора элемента в его «активированном» состоянии. Чаще всего он используется для ссылок и относится к моменту выбора (или нажатия) ссылки. Чтобы увидеть активный стиль, попробуйте щелкнуть ссылку ниже:

Я становлюсь фиолетовым при щелчке

Это достигается путем добавления псевдокласса : active к допустимому селектору CSS.

  а {
  цвет: зеленый;
}

a: hover {
  цвет: желтый;
}

a: active {
  цвет: фиолетовый;
}
  

Использование: active на разных устройствах

Поскольку : active относится к моменту, когда элемент находится в процессе выбора, он работает примерно одинаково на всех устройствах.


Имеет ли значение порядок псевдоклассов?

В случае псевдоклассов порядок имеет значение. : стиль hover переопределит стиль : active , поэтому он должен быть объявлен как до стиля , стиля : active .

Correct Order 🚀

Используя порядок объявлений псевдоклассов в приведенном выше примере, мы получаем предполагаемый стиль для состояний по умолчанию, зависания и активного состояния.

Однако, если мы поменяем местами объявления стилей : hover и : active , стиль : hover , к сожалению, переопределит стиль : active .

  а {
  цвет: зеленый;
}

a: active {
  цвет: фиолетовый;
}

a: hover {
  цвет: желтый;
}

  

Неверный порядок 🙈

Обратите внимание, что теперь, когда вы нажимаете на ссылку, она больше не становится фиолетовой, даже если мы объявили цвет активного состояния.

Всегда размещайте активные стили после стилей наведения, чтобы убедиться, что они отображаются правильно.🌈


Краткое содержание

При стилизации состояний элементов с помощью : hover и : active , не забудьте:

CSS-переходы и анимации наведения , интерактивное руководство

Мир веб-анимации превратился в обширные джунгли инструментов и технологий.Такие библиотеки, как GSAP и Framer Motion и React Spring, появились, чтобы помочь нам добавить движение в DOM.

Однако наиболее фундаментальной и важной частью является скромный переход на CSS. Это первый инструмент анимации, который изучает большинство разработчиков фронтенда, и это рабочая лошадка. Даже самые обветренные ветераны анимации по-прежнему часто обращаются к этому инструменту.

В этой теме есть удивительная глубина. В этом уроке мы углубимся и узнаем немного больше о переходах CSS и о том, как мы можем использовать их для создания сочной, отточенной анимации.

Целевая аудитория

Это руководство предназначено для разработчиков с любым уровнем опыта. Его можно представить как «CSS-переходы 101». Тем не менее, я добавил несколько интересных и малоизвестных лакомых кусочков - независимо от вашего уровня опыта, держу пари, вы что-то узнаете!

Главный ингредиент, который нам нужен для создания анимации, - это изменяющийся CSS.

Вот пример кнопки, которая перемещается при наведении, без анимации :

В этом фрагменте кода используется псевдокласс : hover , чтобы указать дополнительное объявление CSS, когда мышь пользователя находится поверх нашей кнопки, аналогично onMouseEnter событие в JavaScript.

Чтобы сдвинуть элемент вверх, мы используем преобразование : translateY (-10px) . Хотя для этого можно было бы использовать margin-top , преобразование : перевод - лучший инструмент для этой работы. Позже мы увидим почему.

По умолчанию изменения в CSS происходят мгновенно. В мгновение ока наша кнопка телепортировалась на новое место! Это несовместимо с миром природы, где все происходит постепенно.

Мы можем указать браузеру интерполировать из одного состояния в другое с метко названным свойством transition :

transition может принимать несколько значений, но требуются только два:

  1. Имя свойства, которое мы хотим анимировать

  2. Продолжительность анимации

Если вы планируете анимировать несколько свойств, вы можете передать ему список, разделенный запятыми:

  Выбор всех свойств  

transition-property принимает особое значение: все . Когда все указаны, любое изменяемое свойство CSS будет перенесено.

Может возникнуть соблазн использовать это значение, поскольку оно экономит нам много времени при вводе при анимации нескольких свойств, но я рекомендую не использовать его.

По мере развития вашего продукта вы (или кто-то из вашей команды), вероятно, в какой-то момент в будущем обновите этот код. Неожиданная анимация могла проскользнуть.

Анимация как соль: слишком много ее портит блюдо.Стоит быть действительно точным с анимируемыми свойствами.

Когда мы говорим элементу перейти из одной позиции в другую, браузеру необходимо определить, как должен выглядеть каждый «промежуточный» фрейм.

Например: предположим, что мы перемещаем элемент слева направо в течение 1 секунды. Плавная анимация должна работать со скоростью 60 кадров в секунду *, что означает, что нам нужно придумать 60 отдельных позиций между началом и концом.

Давайте начнем с того, что они будут равномерно распределены:

Щелкните меня!

Чтобы прояснить, что здесь происходит: каждый блеклый кружок представляет момент времени. Когда круг перемещается слева направо, это кадры, которые были показаны пользователю. Это как флипбук.

В этой анимации мы используем линейную функцию синхронизации . Это означает, что элемент движется с постоянной скоростью; наш круг перемещается на одинаковую величину каждый кадр.

В CSS доступно несколько функций времени. Мы можем указать, какой из них мы хотим использовать со свойством transition-time-function :

 

Или мы можем передать его напрямую в сокращенное свойство transition :

 

linear редко бывает лучшим выбором - в конце концов, в реальном мире почти ничего не движется в эту сторону *.Хорошая анимация имитирует мир природы, поэтому мы должны выбрать что-то более органичное!

Давайте пробежимся по нашим вариантам.

Ссылка на эту рубрику

легкость выхода

легкость выхода влетает, как дикий бык, но у него заканчивается энергия. В конце концов, он корчит, как сонная черепаха.

Попробуйте прокрутить по временной шкале; обратите внимание, насколько резкое движение получается в первых нескольких кадрах и насколько оно становится незаметным к концу.

Если бы мы изобразили смещение элемента во времени, это выглядело бы примерно так:

Когда вы использовали бы смещения ? Чаще всего используется, когда что-то поступает за пределами экрана (например,модальное появление). Создается впечатление, что что-то ворвалось издалека и останавливается перед пользователем.

Ссылка на этот заголовок

easy-in

easy-in , что неудивительно, является противоположностью easy-out . Он запускается медленно и ускоряется:

Как мы видели, easy-out полезен для вещей, которые видны за пределами экрана. easy-in , естественно, пригодится для обратного: перемещения чего-либо за пределы области просмотра.

Эта комбинация полезна, когда что-то входит и выходит из области просмотра, например, модального окна. Вскоре мы рассмотрим, как смешивать и согласовывать функции синхронизации.

Обратите внимание, что easy-in в значительной степени используется исключительно для анимаций, которые заканчиваются закадровым или невидимым элементом; в противном случае резкая остановка может вызвать раздражение.

Ссылка на эту рубрику

easy-in-out

Next up, easy-in-out . Это комбинация двух предыдущих функций синхронизации:

Эта функция синхронизации симметричная .У него равное количество ускорений и замедлений.

Я считаю эту кривую наиболее полезной для всего, что происходит в цикле (например, когда элемент постепенно появляется и исчезает, снова и снова).

Это большой шаг вперед по сравнению с linear , но прежде, чем вы начнете использовать его во всем, давайте рассмотрим еще один вариант.

Если бы у меня была своя точка зрения от авторов языка CSS, когда дело доходит до переходов, так это то, что easy плохо назван. Это совсем не описательно; буквально все функции тайминга - это те или иные облегчения!

Помимо этой придирки, easy - это здорово.В отличие от easy-in-out , он не симметричен; он имеет кратковременное ускорение и лот замедления.

easy - значение по умолчанию - если вы не укажете функцию синхронизации, будет использоваться easy . Честно говоря, мне это кажется правильным. easy - отличный вариант в большинстве случаев. Если элемент перемещается, но не входит в область просмотра и не выходит из нее, обычно хорошим выбором будет easy .

Время постоянно

Важное замечание обо всех этих демонстрациях: время постоянно .Функции синхронизации описывают, как значение должно переходить от 0 до 1 за фиксированный интервал времени, а не , а не , как быстро должна завершиться анимация. Некоторые функции времени могут казаться быстрее или медленнее, но в этих примерах все они выполняются ровно за 1 секунду.

Ссылка на этот заголовок

Пользовательские кривые

Если предоставленные встроенные параметры не соответствуют вашим потребностям, вы можете определить свою собственную кривую плавности, используя функцию синхронизации кубической кривой Безье!

 

Все значения, которые мы видели до сих пор, на самом деле являются просто предустановками для этой функции кубической кривой Безье .Требуется 4 числа, представляющих 2 контрольные точки.

Кривые Безье действительно хороши, но они выходят за рамки этого руководства. Но я скоро напишу о них больше!

А пока вы можете начать создавать свои собственные временные функции Безье, используя этот замечательный помощник от Lea Verou:

Как только вы придумаете кривую анимации, которая вас устраивает, нажмите «Копировать» вверху и вставьте ее в ваш CSS!

Вы также можете выбрать из этого расширенного набора функций синхронизации. Но будьте осторожны: некоторые из наиболее диковинных вариантов не работают в CSS.

Начиная с пользовательских кривых Безье, может быть трудно придумать кривую, которая кажется естественной. Однако с некоторой практикой это невероятно выразительный инструмент .

Мне пора прийти в себя

Я должен признаться: приведенные выше демонстрации, показывающие различные функции синхронизации, были преувеличены.

По правде говоря, временные функции, такие как easy-in , более тонкие, чем изображено, но я хотел подчеркнуть эффект, чтобы облегчить понимание.Это стало возможным благодаря функции синхронизации cubic-bezier !

Показать еще

Ранее мы упоминали, что анимация должна работать со скоростью 60 кадров в секунду. Однако когда мы проводим вычисления, мы понимаем, что это означает, что у браузера есть только 16,6 миллисекунды для рисования каждого кадра. На самом деле времени совсем немного; для справки, моргание занимает около 100-300 мсек!

Если наша анимация слишком затратна в вычислительном отношении, она будет казаться рывкой и заиканием. Рамки упадут, так как устройство не успеет.

Убедитесь в этом сами, настроив новый элемент управления «Число кадров в секунду»:

На практике низкая производительность часто проявляется в виде переменной частоты кадров , так что это не идеальное моделирование.

Анимация - это удивительно глубокая и интересная область, выходящая далеко за рамки этого вводного руководства. Но давайте рассмотрим абсолютно важные моменты, которые необходимо знать:

  1. Некоторые свойства CSS намного дороже анимировать, чем другие.Например, высота - очень дорогое свойство, поскольку оно влияет на макет. Когда высота элемента уменьшается, это вызывает цепную реакцию; всем его братьям и сестрам также нужно будет подняться, чтобы заполнить пространство!

  2. Другие свойства, например background-color , анимировать несколько дорого. Они не влияют на макет, но требуют свежего слоя краски на каждой раме, что недешево.

  3. Два свойства - transform и opacity - анимировать очень дешево. Если анимация в настоящее время настраивает свойство, такое как width или left , можно значительно улучшить , переместив его в transform (хотя не всегда можно добиться того же эффекта).

  4. Обязательно протестируйте анимацию на самом низком устройстве, на которое нацелен ваш сайт / приложение. Ваша машина разработки, вероятно, во много раз быстрее ее.

Если вам интересно узнать больше о производительности анимации, я выступал на эту тему на React Rally.Он углубляется в эту тему:

Ссылка на этот заголовок

Аппаратное ускорение

В зависимости от вашего браузера и ОС вы могли заметить любопытное небольшое несовершенство в некоторых из предыдущих примеров:

Pay close внимание к буквам. Обратите внимание, как они выглядят слегка глючными в начале и в конце перехода, как будто все встало на свои места?

Это происходит из-за переключения между CPU и GPU компьютера.Позволь мне объяснить.

Когда мы анимируем элемент с помощью преобразования и непрозрачности , браузер иногда пытается оптимизировать эту анимацию. Вместо того, чтобы растрировать пиксели в каждом кадре, он передает все на графический процессор в виде текстуры. Графические процессоры очень хороши в выполнении такого рода преобразований на основе текстур, и в результате мы получаем очень гладкую и очень производительную анимацию. Это известно как «аппаратное ускорение».

Вот проблема: графические процессоры и процессоры визуализируют вещи немного по-разному.Когда центральный процессор передает его графическому процессору, и наоборот, вы сразу видите, как все немного меняется.

Мы можем решить эту проблему, добавив следующее свойство CSS:

 

will-change - это свойство, которое позволяет нам намекнуть браузеру, что мы собираемся анимировать выбранный элемент и что он должен оптимизировать для этот случай.

На практике это означает, что браузер позволяет графическому процессору обрабатывать этот элемент все время . Больше никаких переключений между процессором и графическим процессором, никакой контрольной «фиксации на месте».

will-change позволяет нам целенаправленно определять, какие элементы следует аппаратно ускорять. У браузеров есть своя непостижимая логика вокруг этого материала, и я бы не хотел оставлять это на волю случая.

Есть еще одно преимущество аппаратного ускорения: мы можем воспользоваться преимуществом рендеринга субпикселей .

Посмотрите эти две анимации ниже. Один выполняется с использованием margin-top , поэтому аппаратное ускорение невозможно. Заметили разницу между ними?

Свойства, такие как margin-top , не могут выполнять субпиксельную визуализацию, что означает, что их необходимо округлять до ближайшего пикселя, создавая ступенчатый эффект резкости. transform , тем временем, может плавно переключаться между пикселями благодаря уловке сглаживания графического процессора.

Компромиссы

Ничто в жизни не дается бесплатно, и аппаратное ускорение не исключение.

Передав отрисовку элемента графическому процессору, он потребляет больше видеопамяти, а этот ресурс может быть ограничен, особенно на мобильных устройствах младшего класса.

Это уже не такая большая проблема, как раньше - я провел несколько тестов на Xiaomi Redmi 7A, популярном бюджетном смартфоне в Индии, и, похоже, он работает нормально.Только не применяйте будет широко использовать к элементам, которые не двигаются. Обдумайте, где вы его используете.

Альтернативные свойства

Аппаратное ускорение существует уже давно - фактически, дольше, чем свойство изменит свойство !

В течение долгого времени это осуществлялось с помощью трехмерного преобразования, такого как transform: translateZ (0px) . Даже со значением 0px браузер по-прежнему передает его графическому процессору, поскольку перемещение в трехмерном пространстве определенно является сильной стороной графического процессора. Также есть backface-visibility: скрыто .

Когда вышел will-change , он должен был дать разработчикам правильный, семантически значимый способ намекнуть браузеру на необходимость оптимизации элемента. Однако на начальном этапе с будет заменен с некоторыми проблемами.

К счастью, похоже, что все эти проблемы были решены. Я провел некоторое тестирование и обнаружил, что получаю лучшие результаты в современных браузерах с будет заменять .Но вам всегда следует проводить собственное тестирование, чтобы убедиться, что эти методы работают на целевых устройствах и браузерах.

Ссылка на этот заголовок

Движение, управляемое действием

Давайте еще раз взглянем на нашу поднимающуюся кнопку «Hello World».

Hello World

В его нынешнем виде у нас есть «симметричный» переход - анимация входа такая же, как анимация выхода:

  • При наведении указателя мыши на элемент он смещается вверх на 10 пикселей. 250 мс

  • Когда мышь отодвигается, элемент смещается вниз на 10 пикселей за 250 мс

Маленькая милая деталь - дать каждому действию собственные настройки перехода.Для анимации наведения мне нравится делать анимацию входа быстрой и быстрой, в то время как анимация выхода может быть немного более расслабленной и вялой:

Другой распространенный пример - модальные окна. Для модальных окон может быть полезно входить с анимацией easy-out и выходить с более быстрой анимацией easy-in :

Это небольшая деталь, но она говорит о гораздо большей идее.

Я считаю, что большинство разработчиков думают в терминах состояний : например, вы можете посмотреть на эту ситуацию и сказать, что у нас есть состояние «зависания» и состояние по умолчанию.Вместо этого, что, если бы мы думали в терминах действий ? Мы анимируем, основываясь на том, что делает пользователь, думая в терминах событий, а не состояний. У нас есть анимация ввода мыши и анимация выхода мыши.

Тобиас Алин показывает, как эта идея может создать семантически значимую анимацию следующего уровня в своем блоге Meaningfun Motion with Action-Driven Animation.

Ссылка на этот заголовок

Задержки

Что ж, мы довольно далеко продвинулись в своем стремлении стать профессиональными с переходами CSS, но есть пара заключительных деталей, которые нужно обсудить.Поговорим о задержках перехода.

Я считаю, что почти каждый уже сталкивался с этим разочаровывающим опытом раньше:

Изображение предоставлено Беном Каменсом

Как разработчик, вы, вероятно, можете понять, почему это происходит: раскрывающееся меню остается открытым только при наведении курсора! Когда мы перемещаем мышь по диагонали для выбора дочернего элемента, наш курсор уходит за пределы, и меню закрывается.

Эту проблему можно решить довольно элегантным способом, не прибегая к JS. Мы можем использовать transition-delay !

 

transition-delay позволяет нам сохранять статус-кво в течение короткого интервала. В этом случае, когда пользователь перемещает указатель мыши за пределы .dropdown-wrapper , в течение 300 мс ничего не происходит. Если их мышь повторно входит в элемент в пределах этого окна 300 мс, переход никогда не происходит.

По прошествии 300 мс переход срабатывает нормально, и выпадающий список исчезает более 400 мс.

Почему без стенографии?

До сих пор мы использовали сокращение transition для объединения всех наших значений, связанных с переходом. transition-delay также можно использовать с сокращением:

 Показать еще   

Ссылка на этот заголовок

Мерцание Doom

Когда элемент перемещается вверх или вниз при наведении курсора, мы должны быть очень осторожны. не вводите случайно «мерцание судьбы»:

Предупреждение: Этот GIF-файл содержит мерцающие движения, которые потенциально могут вызвать приступы у людей с светочувствительной эпилепсией.

Reveal

Возможно, вы заметили похожий эффект на некоторых демонстрациях на этой странице!

Неполадка возникает, когда мышь приближается к границе элемента.Эффект наведения выводит элемент из-под мыши, в результате чего он падает обратно под мышью, что вызывает повторное срабатывание эффекта наведения… много раз в секунду.

Как решить эту проблему? Уловка состоит в том, чтобы отделить триггер от эффекта . Вот быстрый пример:

У нашего

Попробуйте сами »

Пример использования значков в качестве курсора: ¶

  

  
     Название документа 
    <стиль>
      тело {
        ширина: 600 пикселей;
        маржа: 0.5эм авто;
      }
      img {
        ширина: 280 пикселей;
        высота: 186 пикселей;
        маржа: 5 пикселей;
        дисплей: встроенный блок;
        фоновая позиция: 50% 50%;
      }
      . собака {
        курсор: url ("/ uploads / media / default / 0001/02 / 53f34c2d574ce31a424df7855ef3e8f2ece589d6.png"), auto;
      }
      .cactus {
        курсор: url ("/ uploads / media / default / 0001/02 / ea8020fd3fdb96affa77c8164f80d88f8c419e0f.png"), auto;
      }
      .природа {
        курсор: url ("/ uploads / media / default / 0001/02 / edcafd9e202ae5f2ae6ae839d21d1d642b2ace00.png"), авто;
      }
      .жилой дом {
        курсор: url ("/ uploads / media / default / 0001/02 / bb6f118f3b06838624b4297992457093f40fd92b.png"), auto;
      }
    
  
  
    кактус
     природа 
    8e2216c756be155e.png" alt = "dog">
    
Попробуйте сами »

Вы также можете использовать значки с веб-сайтов, на которых предоставляется код Base64, просто вставив код Base64 в значение URL-адреса курсора. Или загрузите значок на свой веб-сайт и используйте URL-адрес для установки курсора.

Пример всех типов курсоров¶

Вот пример, который содержит все возможные типы, которые может иметь курсор.

Для значений «приближение», «уменьшение», «захват» и «захват» добавлено расширение свойства -webkit-.

Пример использования всех типов курсоров: ¶

  

  
     Название документа 
    <стиль>
      тело {
        выравнивание текста: центр;
        семейство шрифтов: Roboto, Helvetica, Arial, без засечек;
      }
      .cursor {
        дисплей: гибкий;
        flex-wrap: обертка;
      }
      .cursor> div {
        гибкость: 120 пикселей;
        отступ: 10px 2px;
        белое пространство: nowrap;
        граница: 1px solid # 666;
        радиус границы: 5 пикселей;
        маржа: 0 5px 5px 0;
      }
      . cursor> div: hover {
        фон: # 1c87c9;
      }
      .auto {
        курсор: авто;
      }
      .дефолт {
        курсор: по умолчанию;
      }
      .никто {
        курсор: нет;
      }
      .контекстное меню {
        курсор: контекстное меню;
      }
      .помощь {
        курсор: справка;
      }
      .pointer {
        курсор: указатель;
      }
      .прогресс {
        курсор: прогресс;
      }
      .ждать {
        курсор: ждать;
      }
      .клетка {
        курсор: ячейка;
      }
      .crosshair {
        курсор: перекрестие;
      }
      .text {
        курсор: текст;
      }
      .vertical-text {
        курсор: вертикальный текст;
      }
      .alias {
        курсор: псевдоним;
      }
      .copy {
        курсор: копировать;
      }
      .двигаться {
        курсор: двигаться;
      }
      .no-drop {
        курсор: без капли;
      }
      .не положено {
        курсор: не разрешено;
      }
      . all-scroll {
        курсор: all-scroll;
      }
      .col-resize {
        курсор: col-resize;
      }
      .row-resize {
        курсор: изменение размера строки;
      }
      .n-resize {
        курсор: n-изменить размер;
      }
      .e-resize {
        курсор: изменить размер;
      }
      .s-resize {
        курсор: s-изменить размер;
      }
      .w-resize {
        курсор: w-изменение размера;
      }
      .ns-resize {
        курсор: ns-resize;
      }
      .ew-resize {
        курсор: ew-resize;
      }
      .ne-resize {
        курсор: изменить размер;
      }
      .nw-resize {
        курсор: nw-resize;
      }
      .se-resize {
        курсор: изменить размер;
      }
      .sw-resize {
        курсор: sw-resize;
      }
      .nesw-resize {
        курсор: nesw-resize;
      }
      .nwse-resize {
        курсор: nwse-resize;
      }
      .схватить {
        курсор: -webkit-grab;
        курсор: захватить;
      }
      . grabbing {
        курсор: -webkit-grabbing;
        курсор: захватывающий;
      }
      .приблизить {
        курсор: -webkit-zoom-in;
        курсор: увеличение;
      }
      .уменьшить {
        курсор: -webkit-zoom-out;
        курсор: уменьшение масштаба;
      }
    
  
  
     

Пример свойства курсора

Наведите курсор мыши на элемент, чтобы увидеть изменения:

авто
по умолчанию
нет
контекстное меню
справка
указатель
прогресс
подождите
ячейка
перекрестие
текст
вертикальный текст
псевдоним
копия
переместить
без капли
не допускается
all-scroll
col-resize
изменение размера строки
n-изменить размер
s-изменить размер
изменить размер
w-изменение размера
ns-resize
ew-resize
изменить размер
изменение размера nw
изменить размер
sw-resize
новое изменение размера
изменение размера nwse
взять
захват
увеличение
уменьшение
Попробуйте сами »

Спасибо за ваш отзыв!

Считаете ли вы это полезным? Да Нет


Статьи по теме

.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *