Elemen HTML del
, strike
atau s
mungkin semua akan digunakan untuk teks pemogokan-melalui efek. Contoh:
<del>del</del>
.... memberikan: del
<strike>strike</strike> and <s>strike</s>
.... memberikan: pukulan dan pukulan
text-decoration
Properti CSS dengan nilai line-through
dapat digunakan dengan cara yang sama. Kode...
<span style='text-decoration:line-through'>
text-decoration:line-through
</span>
... juga akan ditampilkan seperti: dekorasi teks: line-through
Namun, garis coret biasanya berwarna sama dengan teks.
Bisakah CSS digunakan untuk membuat garis warna berbeda?
Jawaban:
Ya, dengan menambahkan elemen pembungkus tambahan. Tetapkan warna garis yang diinginkan ke elemen luar, lalu warna teks yang diinginkan ke elemen dalam. Sebagai contoh:
...atau...
(Catatan, bagaimanapun, bahwa
<strike>
yang dianggap usang di HTML4 dan usang dalam HTML5 ( lihat juga W3.org ). Pendekatan yang direkomendasikan adalah dengan menggunakan<del>
jika makna sebenarnya dari penghapusan dimaksudkan, atau menggunakan<s>
unsur atau gaya dengantext-decoration
CSS seperti di contoh pertama di sini.)Untuk membuat coretan muncul untuk: hover, stylesheet eksplisit (dideklarasikan atau dirujuk
<HEAD>
) harus digunakan. (Kelas:hover
pseudo tidak dapat diterapkan dengan atribut STYLE inline.) Misalnya:href
be set pada<a>
sebelum:hover
memiliki efek; FF dan WebKit berbasis browser tidak.)sumber
del { position:relative }
laludel::after { content:'', position:absolute; top: 50%; left: 0; right:0; border-bottom: 1px solid #f00 }
.Pada Februari 2016 , CSS 3 memiliki dukungan yang disebutkan di bawah ini. Berikut ini cuplikan dari halaman produk tunggal WooCommerce dengan diskon harga
Yang menghasilkan:
CSS 3 kemungkinan akan memiliki dukungan langsung menggunakan
text-decoration-color
properti . Khususnya:Juga lihat
text-decoration-color
di spec draft CSS 3 .Jika Anda ingin segera menggunakan metode ini, Anda mungkin harus awalan, menggunakan
-moz-text-decoration-color
. (Juga tentukan tanpa-moz-
, untuk kompatibilitas ke depan.)sumber
text-decoration-color
tanpa 2014) .Saya telah menggunakan
:after
elemen kosong dan menghiasi satu pembatas di atasnya. Anda bahkan dapat menggunakan transformasi CSS untuk memutarnya untuk garis miring. Hasil: CSS murni, tanpa elemen HTML tambahan! Kelemahan: tidak membungkus beberapa baris, meskipun IMO Anda tidak harus menggunakan dicoret pada blok teks yang besar pula.sumber
Jika Anda tidak peduli dengan internet explorer \ edge, maka cara paling sederhana untuk mendapatkan warna berbeda untuk strike-through adalah dengan menggunakan properti CSS: text-decoration-color dalam hubungannya dengan text-decoration: line-through;
- Tidak berfungsi dengan Edge \ Internet Explorer
sumber
CSS3 ini akan membuat Anda menelusuri properti lebih mudah, dan berfungsi dengan baik.
sumber
Menambahkan ke @gojomo Anda bisa menggunakan
:after
elemen pseudo untuk elemen tambahan. Satu-satunya pengecualian adalah bahwa Anda harus mendefinisikan AndainnerText
dalamdata-text
atribut sejak CSS telah membatasicontent
fungsi.sumber
Berikut ini pendekatan yang menggunakan gradien untuk memalsukan garis. Ia bekerja dengan serangan multiline dan tidak memerlukan elemen DOM tambahan. Tapi karena gradien latar belakang, itu di belakang teks ...
Lihat biola: http://jsfiddle.net/YSvaY/
Perhentian warna dan ukuran latar belakang gradien tergantung pada ketinggian garis. (Saya menggunakan KURANG untuk perhitungan dan Autoprefixer sesudahnya ...)
sumber
Ini dia:
sumber
Dalam pengalaman saya itu
bukan pilihan terbaik. Saya memiliki rekan kerja menggunakan metode ini tanpa menguji lintas browser, jadi saya harus kembali dan memperbaikinya karena menyebabkan masalah di firefox. Rekomendasi pribadi saya adalah menggunakan: setelah pemilih untuk membuat coretan. Dengan begitu ia dapat kembali ke IE8 jika Anda benar-benar ingin tanpa konflik gaya serta solid di semua browser lainnya.
Ini juga membuat markup lebih sedikit dan jumlah styling yang kira-kira sama yang menurut saya merupakan masalah yang cukup besar.
Jadi, jika ada orang lain yang mengalami masalah serupa semoga ini dapat membantu:
jelas Anda bisa menggunakan transform: translate alih-alih margin, tetapi contoh ini adalah untuk bekerja kembali ke IE8
sumber
Balasan Blazemonger (di atas atau di bawah) perlu dipilih - tetapi saya tidak punya cukup poin.
Saya ingin menambahkan bilah abu-abu di beberapa tombol putaran CSS lebar 20px untuk menunjukkan "tidak tersedia" dan men-tweak caz Blazemonger:
sumber
Menetapkan warna line-through yang diinginkan ke elemen induk juga berfungsi untuk elemen teks yang dihapus (
<del>
) - menjadikan asumsi yang dibuat klien<del>
sebagai baris-through.http://jsfiddle.net/kpowz/vn9RC/
sumber
Berikut ini contoh implementasi jQuery - berkat jawaban gojomo dan saran utype (+1 untuk keduanya)
CSS untuk itu bisa saja
sumber
originalPrice
, lalu menyuntikkannya kembali sebagai HTML. Coba gunakan.html()
sebagai ganti.text()
. Atau mungkin menggunakan jQuery'swrap()
.