Hanya ingin tahu apakah mungkin entah bagaimana membuat content
properti CSS memasukkan kode html sebagai ganti string :before
atau :after
elemen seperti:
.header:before{
content: '<a href="#top">Back</a>';
}
ini akan sangat berguna ... Itu bisa dilakukan melalui Javascript tetapi menggunakan css untuk ini benar-benar akan membuat hidup lebih mudah :)
html
css
pseudo-element
css-content
Zanona
sumber
sumber
Jawaban:
Sayangnya, ini tidak mungkin. Per spec :
Dengan kata lain, untuk nilai string ini berarti nilai selalu diperlakukan secara harfiah. Itu tidak pernah diartikan sebagai markup, terlepas dari bahasa dokumen yang digunakan.
Sebagai contoh, menggunakan CSS yang diberikan dengan HTML berikut:
... akan menghasilkan output berikut:
<a href="#top"> Kembali </a> Judul
sumber
url
atribut, menambahkan tautan tidak akan jauh berbeda dalam perspektif ini.<img>
), mereka hanya ditarik ke elemen yang ada, jadi dengan menerapkan gambar latar belakang atau daftar Anda tidak benar-benar memodifikasi DOM.url()
gantinya, seperti halnya dengan gambar lain.Seperti hampir dicatat dalam komentar untuk jawaban @ BoltClock, di browser modern , Anda sebenarnya dapat menambahkan beberapa markah html ke pseudo-elements menggunakan (
url()
) dalam kombinasi dengan<foreignObject>
elemen svg .Anda dapat menentukan URL yang menunjuk ke file svg yang sebenarnya, atau membuatnya dengan dataURUR versi (
data:image/svg+xml; charset=utf8, + encodeURIComponent(yourSvgMarkup)
)Tetapi perhatikan bahwa ini sebagian besar merupakan peretasan dan ada banyak batasan:
document.styleSheets
. untuk bagian ini,DOMParser
danXMLSerializer
dapat membantu .<img>
tag, ini tidak akan berfungsi dalam elemen semu (setidaknya pada hari ini, saya tidak tahu apakah itu ditentukan di mana saja yang seharusnya tidak, sehingga mungkin menjadi fitur yang belum diimplementasikan).Sekarang, demo kecil beberapa markup html di elemen pseudo:
sumber
url('/relativePathToMySvg/mySvg.svg')
dan tidak berhasil/root/css/yourFile.css
, maka fungsi relatif sepertiyourFile.svg
akan menunjuk ke/root/css/yourFile.svg/
. Tapi, saya pikir saya ingat bahwa beberapa UA sebelumnya memiliki bug dan membuatnya relatif terhadap baseURI dokumen. Jadi cara paling aman adalah dengan menggunakan jalur absolut.content: url('../../images/como-funciona.svg');
dan berfungsi dengan baikDalam media halaman CSS3 ini dimungkinkan menggunakan
position: running()
dancontent: element()
.Contoh dari konsep Pembuatan Konten CSS untuk Modul Media Paged :
.runner dapat berupa elemen apa saja dan
heading
merupakan nama arbitrer untuk slot.EDIT: untuk memperjelas, pada dasarnya tidak ada dukungan browser jadi ini sebagian besar dimaksudkan untuk referensi di masa mendatang / di samping 'jawaban praktis' yang sudah diberikan.
sumber