Oto moja najlepsza próba:
.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>
Problem w tym, jak przyciąć cień, który krwawi na brzegach !!! Próbowałem w webkicie używając background-clip: text, ale webkit renderuje cień nad tłem, więc nie działa.
Tworzenie maski tekstowej za pomocą CSS?
Bez górnej warstwy maskującej niemożliwe jest wykonanie prawdziwego wewnętrznego cienia na tekście.
Być może ktoś powinien zalecić W3C dodanie klipu tła: odwróconego tekstu , który przeciąłby maskę przez tło zamiast wycinać tło, aby dopasować je do tekstu.
Albo wyrenderuj cień tekstu jako część tła i przytnij go za pomocą background-clip: text.
Próbowałem bezwzględnie umieścić nad nim identyczny element tekstowy, ale problemem jest przycięcie tła: tekst przycina tło, aby dopasować się do tekstu, ale potrzebujemy odwrotności tego.
Próbowałem użyć linii tekstu: 20px biała; zarówno na tym elemencie, jak i nad nim, ale obrys tekstu wchodzi i wychodzi.
Metody alternatywne
Ponieważ obecnie nie ma sposobu na utworzenie maski z odwróconym tekstem w CSS, możesz przejść do SVG lub Canvas i zrobić obraz zastępujący tekst z trzema warstwami, aby uzyskać efekt.
Ponieważ SVG jest podzbiorem XML, tekst SVG nadal byłby możliwy do wybrania i przeszukiwania, a efekt można uzyskać przy użyciu mniejszej ilości kodu niż Canvas.
Byłoby to trudniejsze do osiągnięcia w przypadku Canvas, ponieważ nie ma domeny z warstwami, jak ma to miejsce w SVG.
Możesz utworzyć SVG po stronie serwera lub jako metodę zastępowania tekstu javascript w przeglądarce.
Dalsze czytanie:
SVG a Canvas:
http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/
Przycinanie i maskowanie za pomocą tekstu SVG:
http://www.w3.org/TR/SVG/text.html#TextElement