HTML - элементы del
, strike
или s
могут быть использованы для текста Зачеркнутого эффекта. Примеры:
<del>del</del>
.... дает: дель
<strike>strike</strike> and <s>strike</s>
.... дает: бей и бей
Свойство CSS text-decoration
со значением line-through
может использоваться аналогично. Код...
<span style='text-decoration:line-through'>
text-decoration:line-through
</span>
... также будет выглядеть так: text-ornament: line-through
Однако зачеркнутая линия обычно имеет тот же цвет, что и текст.
Можно ли использовать CSS, чтобы сделать линию другим цветом?
Ответы:
Да, добавив дополнительный элемент упаковки. Присвойте желаемый цвет сквозного соединения внешнему элементу, а затем желаемый цвет текста внутреннему элементу. Например:
...или...
(Однако обратите внимание, что
<strike>
это считается устаревшим в HTML4 и устаревшим в HTML5 ( см. Также W3.org ). Рекомендуемый подход - использовать,<del>
если подразумевается истинное значение удаления, или иным образом использовать<s>
элемент или стиль сtext-decoration
CSS, как в первый пример здесь.)Чтобы зачеркивание появилось для: hover,
<HEAD>
должна использоваться явная таблица стилей (объявленная или указанная в ). (:hover
Псевдокласс не может быть применен со встроенными атрибутами STYLE.) Например:href
были установлены<a>
до того, как:hover
это произойдет; браузеры на основе FF и WebKit этого не делают.)источник
del { position:relative }
и тогдаdel::after { content:'', position:absolute; top: 50%; left: 0; right:0; border-bottom: 1px solid #f00 }
.По состоянию на февраль 2016 года CSS 3 имеет поддержку, упомянутую ниже. Вот фрагмент страницы одного продукта WooCommerce со скидкой
В результате чего:
CSS 3, скорее всего, получит прямую поддержку, используя
text-decoration-color
свойства . В частности:Также см
text-decoration-color
В спецификации проекта CSS 3 .Если вы хотите использовать этот метод немедленно, вам, вероятно, придется использовать префикс, используя
-moz-text-decoration-color
. (Также укажите это без-moz-
, для прямой совместимости.)источник
text-decoration-color
без префиксов.Я использовал пустой
:after
элемент и украсил на нем одну рамку. Вы даже можете использовать CSS-преобразования, чтобы повернуть его для наклонной линии. Результат: чистый CSS, без лишних элементов HTML! Недостаток: не переносится на несколько строк, хотя, по-моему, в любом случае не следует использовать зачеркивание больших блоков текста.источник
Если вы не заботитесь об интернет-обозревателе \ edge, то самым простым способом достижения другого цвета для зачеркивания будет использование свойства CSS: text-decor-color в сочетании с text-ornament: line-through;
- не работает с Edge \ Internet Explorer
источник
Этот CSS3 облегчит вам работу со свойством и будет работать нормально.
источник
Добавив @gojomo, вы можете использовать псевдоэлемент
:after
для дополнительного элемента. Единственное ограничение в том , что вам нужно определить свойinnerText
вdata-text
атрибуте , так как CSS имеет ограниченныеcontent
функции.источник
Вот подход, который использует градиент, чтобы подделать линию. Он работает с многострочными ударами и не требует дополнительных элементов DOM. Но поскольку это фоновый градиент, он стоит за текстом ...
Смотрите скрипку: http://jsfiddle.net/YSvaY/
Цветовые градиенты и размер фона зависят от высоты строки. (Я использовал LESS для расчета и Autoprefixer потом ...)
источник
Ну вот:
источник
По моему опыту
не лучший вариант У меня был сотрудник, который использовал этот метод без тестирования кросс-браузер, поэтому мне пришлось вернуться и исправить его, потому что это вызвало проблемы в Firefox. Моя личная рекомендация - использовать селектор: after для создания зачеркивания. Таким образом, он может вернуться к IE8, если вы действительно этого хотите, без каких-либо стилевых конфликтов, а также без проблем во всех других браузерах.
Это также создает меньше разметки и примерно такое же количество стилей, что, на мой взгляд, довольно большое дело.
Так что, если кто-то столкнется с подобными проблемами, надеюсь, это поможет:
очевидно, вы могли бы использовать transform: translate вместо полей, но этот пример должен вернуться к IE8
источник
Ответ Blazemonger (выше или ниже) нуждается в голосовании - но мне не хватает очков.
Я хотел добавить серую полосу на несколько круглых кнопок CSS шириной 20 пикселей, чтобы указать «не доступно», и настроить CSS из Blazemonger:
источник
Присвоение желаемого цвета сквозного перехода родительскому элементу также работает для удаленного текстового элемента (
<del>
) - делая предположение, что клиент визуализирует его<del>
как сквозной.http://jsfiddle.net/kpowz/vn9RC/
источник
Вот пример реализации jQuery - благодаря ответу gojomo и предложению utype (+1 для обоих)
CSS для этого может быть
источник
originalPrice
, а затем внедрите его обратно как HTML Попробуйте использовать.html()
вместо.text()
. Или, может быть, использовать JQuerywrap()
.