Ось моя найкраща спроба:
.inner_shadow {
color:transparent;
background-color:white;
text-shadow: 0 0 20px rgba(198,28,39,0.8), 0 0 0 black;
font-family:'ProclamateHeavy'; // Or whatever floats your boat
font-size:150px;
}
<span class="inner_shadow">Inner Shadow</span>
Проблема в тому, як обрізати тінь, що кровоточить по краях !!! Я спробував у webkit використовуючи background-clip: text, але webkit робить тінь над фоном, щоб він не працював.
Створення текстової маски за допомогою CSS?
Без верхнього шару маски неможливо зробити справжню внутрішню тінь на тексті.
Можливо, хтось повинен порекомендувати W3C додати background-clip: reverse-text , який би вирізав маску через фон замість того, щоб вирізати фон, щоб він вмістився всередині тексту.
Або це, або візьміть текст-тінь як частину фону та обріжте його фоном-кліпом: текст.
Я спробував абсолютно розташувати ідентичний текстовий елемент над ним, але проблема полягає в фоновому кліпі: текст обрізає фон, щоб він помістився всередині тексту, але нам потрібен зворотній бік.
Я спробував використовувати обведення тексту: 20px білий; як на цьому елементі, так і на тій, що знаходиться над ним, але обведення тексту йде як у, так і поза.
Альтернативні методи
Оскільки в даний час немає можливості зробити маску із перевернутим текстом у CSS, ви можете звернутися до SVG чи Canvas та зробити зображення заміни тексту трьома шарами, щоб отримати ефект.
Оскільки SVG є підмножиною XML, текст SVG все ще може бути доступним для пошуку та пошуку, і ефект може бути створений з меншим кодом, ніж Canvas.
Це було б важче досягти Canvas, оскільки він не має купола з шарами, як SVG.
Ви можете створити SVG або на стороні сервера, або як метод заміни тексту JavaScript у браузері.
Подальше читання:
SVG та Canvas:
http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/
Відсікання та маскування текстом SVG:
http://www.w3.org/TR/SVG/text.html#TextElement