Я знаю, что встраивание стилей CSS непосредственно в теги HTML, которые они затрагивают, в значительной степени противоречит целям CSS, но иногда это полезно для целей отладки, например:
<p style="font-size: 24px">asdf</p>
Какой синтаксис для встраивания правила вроде:
a:hover {text-decoration: underline;}
в атрибут стиля тега A? Очевидно, дело не в этом ...
<a href="foo" style="text-decoration: underline">bar</a>
... поскольку это будет применяться постоянно, а не только во время наведения.
Ответы:
Боюсь, что это невозможно, селекторы псевдоклассов нельзя установить в строке, вам придется делать это на странице или в таблице стилей.
Я должен упомянуть, что технически вы должны иметь возможность делать это в соответствии со спецификацией CSS , но большинство браузеров не поддерживают это.
Изменить: я только что провел быстрый тест:
<a href="test.html" style="{color: blue; background: white} :visited {color: green} :hover {background: yellow} :visited:hover {color: purple}">Test</a>
И это не работает в IE7, IE8 beta 2, Firefox или Chrome. Может ли кто-нибудь еще протестировать в других браузерах?
источник
style
атрибутом.Если вы только отлаживаете, вы можете использовать javascript для изменения css:
<a onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">bar</a>
источник
Простое решение:
<a href="#" onmouseover="this.style.color='orange';" onmouseout="this.style.color='';">My Link</a>
Или же
<script> /** Change the style **/ function overStyle(object){ object.style.color = 'orange'; // Change some other properties ... } /** Restores the style **/ function outStyle(object){ object.style.color = 'orange'; // Restore the rest ... } </script> <a href="#" onmouseover="overStyle(this)" onmouseout="outStyle(this)">My Link</a>
источник
Если это для отладки, просто добавьте класс css для зависания (поскольку элементы могут иметь более одного класса):
a.hovertest:hover { text-decoration:underline; } <a href="http://example.com" class="foo bar hovertest">blah</a>
источник
Я собрал быстрое решение для всех, кто хочет создавать всплывающие окна при наведении курсора без CSS с помощью поведения onmouseover и onmouseout.
http://jsfiddle.net/Lk9w1mkv/
<div style="position:relative;width:100px;background:#ddffdd;overflow:hidden;" onmouseover="this.style.overflow='';" onmouseout="this.style.overflow='hidden';">first hover<div style="width:100px;position:absolute;top:5px;left:110px;background:white;border:1px solid gray;">stuff inside</div></div>
источник
Если этот
<p>
тег создан из JavaScript, у вас есть другой вариант: использовать JSS для программной вставки таблиц стилей в заголовок документа. Это поддерживает'&:hover'
. https://cssinjs.org/источник
Я не думаю, что jQuery поддерживает псевдоселекторы, но он предоставляет быстрый способ добавления событий к одному, многим или всем вашим аналогичным элементам управления и тегам на одной странице.
Лучше всего то, что вы можете связать привязки событий и делать все это в одной строке скрипта, если хотите. Намного проще, чем вручную редактировать весь HTML, чтобы включить или выключить их. Опять же, поскольку вы можете делать то же самое в CSS, я не знаю, что это вам что-то дает (кроме изучения jQuery).
источник