Как правило, лучший подход к замене изображения - это делать это исключительно в таблице стилей.
HTML-код должен выглядеть следующим образом:
<h2 id="fantastic-section-of-awesomeness"><span>This is an Ordinary Heading</span></h2>
Ваш CSS может сделать:
h2#fantastic-section-of-awesomeness {
background: ...; /* The replacement image */
}
h2 span {
text-indent: -100000px;
}
Обратите внимание, что текст на самом деле не скрыт. Некоторые программы чтения с экрана неправильно интерпретируют display: none;
(даже если они указаны в таблице стилей media="screen"
). Вместо этого мы просто сдвигаем его далеко от левой стороны экрана, где его невозможно увидеть.
Я специально не проверял это для Ctrl + F , но тот факт, что текст все еще технически видим, должен позволить браузеру найти его.
Он не сможет выделить изображение как совпадающее, что может привести к путанице. Там нет реального способа обойти это без использования @font-face
.