Saat ini saya bermain-main dengan CSS3 dan mencoba mendapatkan efek teks seperti ini (bayangan bagian dalam buram hitam):
Tetapi saya tidak dapat menemukan cara untuk membuat bayangan teks di dalam teks. Saya ingin tahu apakah masih mungkin karena elemen box-shadow mampu membuat bayangan di dalam seperti ini:
box-shadow: inset 0px -5px 10px 0px rgba(0, 0, 0, 0.5);
Ada ide?
Jawaban:
Inilah sedikit trik yang saya temukan menggunakan elemen
:before
dan:after
pseudo:Atribut judul harus sama dengan konten. Demo: http://dabblet.com/gist/1609945
sumber
Anda harus bisa melakukannya dengan menggunakan text-shadow, kadang berpikir seperti ini:
berikut contohnya: http://jsfiddle.net/ekDNq/
sumber
Inilah usaha terbaik saya:
Masalahnya adalah bagaimana memotong bayangan yang berdarah di sekitar tepi !!! Saya mencoba di webkit menggunakan background-clip: teks, tetapi webkit membuat bayangan di atas latar belakang sehingga tidak berfungsi.
Membuat Masker Teks dengan CSS?
Tanpa lapisan topeng atas tidak mungkin untuk melakukan bayangan batin yang sebenarnya pada teks.
Mungkin seseorang harus merekomendasikan agar W3C menambahkan background-clip: reverse-text , yang akan memotong topeng melalui latar belakang daripada memotong latar belakang agar sesuai dengan teks.
Baik itu atau render teks-bayangan sebagai bagian dari latar belakang dan klip dengan klip latar belakang: teks.
Saya benar-benar mencoba memposisikan elemen teks yang identik di atasnya, tetapi masalahnya adalah klip latar belakang: teks memotong latar belakang agar pas di dalam teks, tetapi kita membutuhkan kebalikannya.
Saya mencoba menggunakan text-stroke: 20px white; pada elemen ini dan yang di atasnya, tetapi guratan teks masuk juga keluar.
Metode Alternatif
Karena saat ini tidak ada cara untuk membuat topeng teks terbalik di CSS, Anda dapat beralih ke SVG atau Canvas dan membuat gambar pengganti teks dengan tiga lapisan untuk mendapatkan efek Anda.
Karena SVG adalah bagian dari XML, teks SVG masih dapat dipilih dan dicari, dan efeknya dapat dihasilkan dengan kode yang lebih sedikit daripada Canvas.
Akan lebih sulit untuk mencapai ini dengan Canvas karena tidak memiliki dom dengan lapisan seperti SVG.
Anda dapat membuat SVG di sisi server, atau sebagai metode pengganti teks javascript di browser.
Bacaan lebih lanjut:
SVG versus Canvas:
http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/
Clipping dan Masking dengan Teks SVG:
http://www.w3.org/TR/SVG/text.html#TextElement
sumber
Penjelasan lebih tepat tentang CSS dalam jawaban kendo451 .
Ada cara lain untuk mendapatkan ilusi bayangan batin yang rumit,
yang akan saya jelaskan dalam tiga langkah sederhana. Katakanlah kita memiliki HTML ini:
dan CSS ini:
Langkah 1
Mari kita mulai dengan membuat teks menjadi transparan:
Langkah 2
Sekarang, kita memotong latar belakang itu menjadi bentuk teks:
LANGKAH 3
Sekarang, keajaibannya: kita akan menempatkan buram
text-shadow
, yang akan berada di depan latar belakang , sehingga memberi kesan bayangan batin!Lihat hasil akhirnya .
Kerugian?
background-clip
tidak bolehtext
).sumber
text-shadow: 1px 1px 1px #000, 3px 3px 5px blue;
?Contoh elegan tanpa perlu pembungkus yang diposisikan atau konten duplikat di markup:
Terlihat bagus di latar belakang gelap juga:
DAN SAYA LINK DAN ME2 LINK
sumber
Anda bisa melakukan ini. Sayangnya tidak ada cara untuk menggunakan inset pada text-shadow, tetapi Anda dapat memalsukannya dengan warna dan posisi. Ambil keburaman ke bawah dan atur bayangan di sepanjang kanan atas. Sesuatu seperti ini mungkin berhasil:
... tetapi Anda harus benar-benar berhati-hati tentang warna mana yang Anda gunakan jika tidak maka warna itu akan terlihat tidak bagus. Ini pada dasarnya adalah ilusi optik sehingga tidak akan berfungsi di setiap konteks. Itu juga tidak benar-benar terlihat bagus pada ukuran font yang lebih kecil, jadi waspadalah juga.
sumber
background-clip
seperti yang ditunjukkan dalam jawaban ini .Tidak perlu banyak bayangan atau sesuatu yang mewah seperti itu, Anda hanya perlu mengimbangi bayangan Anda dalam sumbu y negatif.
Untuk teks gelap dengan latar belakang terang:
Jika Anda memiliki latar belakang gelap maka Anda cukup membalikkan warna dan posisi y:
Bermain-main dengan nilai rgba, opacity, dan blur untuk mendapatkan efek yang tepat. Ini akan sangat bergantung pada warna font dan latar belakang yang Anda miliki, dan semakin berat fontnya, semakin baik.
sumber
Coba permata kecil variasi ini:
Saya biasanya menganggap "tidak ada jawaban" sebagai tantangan
sumber
Saya telah melihat banyak solusi yang diusulkan, tetapi tidak ada yang seperti yang saya harapkan.
Inilah peretasan terbaik saya dalam hal ini , di mana warnanya transparan, latar belakang dan bayangan teks atas adalah warna yang sama dengan berbagai opasitas, mensimulasikan topeng, dan bayangan teks kedua adalah versi warna yang lebih gelap dan lebih jenuh dari warna Anda. sebenarnya ingin (cukup mudah dilakukan dengan HSLA).
(btw, teks dan gaya berdasarkan OP utas dupe )
sumber
Saya memiliki beberapa contoh di mana saya membutuhkan bayangan batin pada teks, dan berikut ini berhasil dengan baik untuk saya:
Ini mengatur opacity teks menjadi 80%, dan kemudian menciptakan dua bayangan:
Peringatan
sumber
Berikut ini tautan yang berbicara tentang cara melakukan ini, seharusnya itu yang Anda cari:
http://sixrevisions.com/css/how-to-create-inset-typography-with-css3/
sumber
Sepertinya ini berfungsi: http://tips4php.net/2010/08/nice-css-text-shadow-effects/
Dia menggunakan banyak bayangan untuk mencapai efek itu seperti yang dijelaskan di sini: http://www.w3.org/Style/Examples/007/text-shadow#multiple
sumber
Sepertinya semua orang punya jawaban untuk yang satu ini. Saya suka solusi dari @Web_Designer. Tetapi tidak perlu serumit itu dan Anda masih bisa mendapatkan bayangan dalam buram yang Anda cari.
http://dabblet.com/gist/3877605
sumber
Ini adalah contoh terbaik yang pernah saya lihat. http://lab.simurai.com/carveme/
Sumbernya ada di gitthub https://github.com/simurai/lab/tree/gh-pages/carveme
sumber
Membangun di atas
:before
:after
teknik web_designer, berikut adalah sesuatu yang mendekati tampilan Anda:Pertama, buat teks Anda dengan warna bayangan bagian dalam (hitam-ish untuk OP).
Sekarang, gunakan kelas psuedo: after untuk membuat duplikat transparan dari teks asli, ditempatkan langsung di atasnya. Tetapkan bayangan teks biasa untuk itu tanpa offset. Tetapkan warna teks asli ke bayangan, dan sesuaikan alfa sesuai kebutuhan.
http://dabblet.com/gist/2499892
Anda tidak mendapatkan kendali penuh atas penyebaran bayangan, dll. Seperti yang Anda lakukan di PS, tetapi untuk nilai blur yang lebih kecil itu cukup lumayan. Bayangan melewati batas teks, jadi jika Anda bekerja di lingkungan dengan latar depan kontras tinggi, itu akan terlihat jelas. Untuk item dengan kontras yang lebih rendah, terutama yang memiliki corak yang sama, tidak terlalu terlihat. Misalnya, saya bisa membuat teks terukir yang terlihat sangat bagus di latar belakang logam menggunakan teknik ini.
sumber
Berikut adalah solusi hebat untuk bayangan teks inset BENAR menggunakan properti CSS3 klip latar belakang:
sumber
Inilah yang saya dapatkan setelah melihat beberapa ide di sini. Ide utamanya adalah warna teks menyatu dengan kedua bayangan, dan perhatikan bahwa ini digunakan pada latar belakang abu-abu (jika tidak, warna putih tidak akan muncul dengan baik).
sumber
Coba contoh ini untuk bayangan teks sisipan. Berikut HTML-nya
dan CSS
Demo on Jsfiddle
sumber
untuk bayangan kotak:
Anda dapat melihat teks online dan bayangan kotak: teks online dan bayangan kotak
untuk lebih banyak contoh Anda dapat pergi ke alamat ini: lebih banyak contoh kode freeclup
sumber
Ada cara yang jauh lebih sederhana untuk mencapai ini
Voila
sumber
Untuk teks berukuran normal pada tombol kecil
Saya menemukan ide lain di halaman ini kehilangan keefektifannya saat digunakan pada tombol kecil dengan tulisan teks kecil. Jawaban ini memperluas jawaban RobertPitt .
Berikut adalah perubahan kecil:
Tampilkan cuplikan kode
catatan:
Saya menggunakan situs ini untuk mempercantik nuansa warna.
sumber
Saya menggunakannya dari situs ini, juga terlihat bagus. Coba lihat itu Inner shadow
sumber