У меня есть случай, когда я должен написать встроенный код CSS, и я хочу применить стиль наведения на привязку.
Как я могу использовать a:hover
встроенный CSS внутри атрибута стиля HTML?
Например, вы не можете надежно использовать классы CSS в электронных письмах HTML.
html
css
inline-styles
Амр Элгархи
источник
источник
Ответы:
Краткий ответ: вы не можете.
Длинный ответ: ты не должен.
Дайте ему имя класса или идентификатор и используйте таблицы стилей для применения стиля.
:hover
является псевдоселектором и для CSS имеет значение только в таблице стилей. Нет никакого эквивалента в стиле inline (так как он не определяет критерии выбора).Ответ на комментарии ОП:
См. Totally Pwn CSS с Javascript для хорошего скрипта по динамическому добавлению правил CSS. Также см. Изменение таблицы стилей для некоторой теории по этому вопросу.
Кроме того, не забывайте, что вы можете добавить ссылки на внешние таблицы стилей, если это возможно. Например,
Внимание: вышеизложенное предполагает наличие головной секции.
источник
style="{color:green;} :hover { color: red; }"
и Firefox удалось покрасить ссылку в зеленый цвет, но проигнорировал наведение. Хром проигнорировал оба. Продолжать тестирование было бы бессмысленно.Вы можете получить тот же эффект, изменив стили с JavaScript в
onMouseOver
иonMouseOut
параметров, хотя это крайне неэффективно , если вам необходимо изменить более одного элемента:Также я точно не помню,
this
работает ли в этом контексте. Возможно, вам придется переключить его сdocument.getElementById('idForLink')
.источник
<div onMouseOver="this.style.backgroundColor='#F8F8F8'" onMouseOut="this.style.backgroundColor='#FFFFFF'"> ...
Вы могли бы сделать это в какой-то момент в прошлом. Но сейчас (согласно последней редакции того же стандарта, который является Рекомендацией кандидата) вы не можете.
источник
<a href="http://www.w3.org/" style="{color: #900} :link {background: #ff0} :visited {background: #fff} :hover {outline: thin red solid} :active {background: #00f}">...</a>
но это не сработалоЯ очень поздно помогаю этому, но мне было грустно видеть, что никто не предложил это, если вам действительно нужен встроенный код, это возможно сделать. Мне это было нужно для некоторых кнопок наведения, метод такой:
В этом случае встроенный код: "background-color: red;" это переключатель цвета при наведении, поместите туда нужный цвет, и тогда это решение сработает. Я понимаю, что это не может быть идеальным решением с точки зрения совместимости, однако это работает, если это абсолютно необходимо.
источник
Вы не можете делать именно то, что описываете, так как
a:hover
это часть селектора, а не правила CSS. Таблица стилей состоит из двух компонентов:Встроенные стили имеют только правила; селектор неявно является текущим элементом.
Селектор - это выразительный язык, который описывает набор критериев для сопоставления элементов в XML-подобном документе.
Тем не менее, вы можете подобраться ближе, потому что
style
технически набор может пойти практически куда угодно:источник
<html> </html>
тегомиспользуя Javascript:
а) Добавление встроенного стиля
б) или немного более сложный метод - добавление «наведения мыши»
Примечание: стили из нескольких слов (то есть
font-size
) в Javascript написаны вместе :element.style.fontSize="12px"
источник
Это лучший пример кода:
Предложение модератора: Держите разделение интересов.
HTML
JS
источник
Встроенные объявления псевдоклассов не поддерживаются в текущей итерации CSS (хотя, насколько я понимаю, это может появиться в будущей версии).
На данный момент лучше всего просто определить блок стиля непосредственно над ссылкой, которую вы хотите стилизовать:
источник
Как уже указывалось, вы не можете установить произвольные встроенные стили для наведения, но вы можете изменить стиль наведения курсора в CSS с помощью следующего в соответствующем теге:
источник
Hover - это псевдокласс, поэтому его нельзя применять с атрибутом стиля. Это часть селектора.
источник
Ты можешь сделать это. Но не во встроенных стилях. Вы можете использовать
onmouseover
иonmouseout
события:источник
Согласно вашим комментариям, вы все равно отправляете файл JavaScript. Сделайте ролловер в JavaScript. Jquery «s
$.hover()
метод позволяет легко, как и любой другой обертку JavaScript. В прямом JavaScript это тоже не сложно.источник
Нет способа сделать это. Ваши варианты - использовать блок JavaScript или CSS.
Может быть, есть какая-то библиотека JavaScript, которая преобразует собственный атрибут стиля в блок стиля. Но тогда код не будет соответствовать стандарту.
источник
Я просто придумал другое решение.
Моя проблема: у меня есть
<a>
тег вокруг некоторых слайдов / просмотра основного контента, а также<a>
теги в нижнем колонтитуле. Я хочу, чтобы они были в одном месте в IE, поэтому весь абзац будет подчеркнутonHover
, даже если они не являются ссылками: слайд в целом является ссылкой. IE не знает разницы. У меня также есть некоторые реальные ссылки в моем нижнем колонтитуле, которые действительно нуждаются в подчеркивании и изменении цветаonHover
. Я подумал, что мне придется поместить стили в линию с тегами нижнего колонтитула, чтобы изменить цвет, но совет сверху говорит о том, что это невозможно.Решение: я дал ссылкам нижнего колонтитула два разных класса, и моя проблема была решена. Я смог
onHover
изменить цвет в одном классе, у слайдовonHover
не было изменений цвета / подчеркивания, и я все еще мог иметь внешние HREFS в нижнем колонтитуле и слайдах одновременно!источник
Я согласен с тенью . Вы можете использовать
onmouseover
иonmouseout
событие , чтобы изменить CSS с помощью JavaScript.И не говорите, что людям нужно активировать JavaScript. Это только вопрос стиля, поэтому не имеет значения, есть ли посетители без JavaScript;) Хотя большая часть Web 2.0 работает с JavaScript. Смотрите Facebook например (много JavaScript) или Myspace .
источник
Это довольно поздно в игре, но когда бы вы использовали JavaScript в электронной почте HTML? Например, в компании, в которой я сейчас работаю (рифмуется с Abodee), мы используем наименьший общий знаменатель для большинства маркетинговых кампаний по электронной почте - а JavaScript просто не используется. Когда-либо. Если вы не имеете в виду какую-то предварительную обработку.
Как упоминалось в соответствующем сообщении: «Lotus Notes, Mozilla Thunderbird, Outlook Express и Windows Live Mail, похоже, поддерживают некое выполнение JavaScript. Ничего другого не делает».
Ссылка на статью, из которой это было взято: [ http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients]
Кроме того, как зависание перевести на мобильные устройства? Вот почему мне нравится ответ сверху:
Long answer: you shouldn't.
Если у кого-то есть больше идей по этому вопросу, пожалуйста, не стесняйтесь меня поправлять. Спасибо.
источник
Так что это не совсем то, что искал пользователь, но я нашел этот вопрос в поисках ответа и придумал что-то похожее. У меня была куча повторяющихся элементов, которые нуждались в новом цвете / наведении для вкладки внутри них. Я использую руль, который является ключевым для моего решения, но другие языки шаблонов также могут работать.
Я определил некоторые цвета и передал их в шаблон руля для каждого элемента. В верхней части шаблона я определил тег стиля и добавил свой собственный класс и цвет при наведении.
Затем я использовал стиль в шаблоне:
Вам может не понадобиться
!important
источник
Вы можете написать код в различном типе
сначала я могу написать это
HTML
CSS
ты можешь попробовать другой способ
HTML
CSS
Вы также можете попробовать навести курсор в JQuery
сценарий Java
HTML
в этом коде у вас есть три функции в jquery: сначала вы готовите функцию, которая является основной функцией jquery, затем, во-вторых, у вас есть функция наведения в этой функции, когда вы наводите указатель на текст, цвет будет изменен, а затем следующий когда вы отпустите указатель на текст, он будет другого цвета, и это третья функция
источник
Теперь это возможно с Hacss .
источник
Я должен был избегать JavaScript, но мог пойти с кодом на стороне сервера.
поэтому я сгенерировал идентификатор, создал блок стиля, сгенерировал ссылку с этим идентификатором. Да, это действительный HTML.
источник
Вы можете использовать псевдокласс только
a:hover
во внешних таблицах стилей. Поэтому я рекомендую использовать внешнюю таблицу стилей. Код является:источник
style
тег.Вы можете сделать идентификатор, добавив класс, но никогда не встроенный.
2 строки, но вы можете использовать класс везде.
источник
Моя проблема заключалась в том, что я создаю веб-сайт, который использует множество изображений-значков, которые должны быть изменены другим изображением при наведении курсора (например, изображения с синим шрифтом становятся красными при наведении курсора). Я разработал следующее решение для этого:
Я представил контейнер, содержащий пару изображений. Первый виден, а другой скрыт (дисплей: нет). При наведении указателя на контейнер первый становится скрытым (дисплей: нет), а второй снова появляется (дисплей: блок).
источник