Apakah mungkin untuk menetapkan nilai src
atribut dalam CSS? Saat ini, apa yang saya lakukan adalah:
<img src="pathTo/myImage.jpg"/>
dan saya ingin menjadi seperti ini
<img class="myClass" />
.myClass {
some-src-property: url("pathTo/myImage.jpg");
Saya ingin melakukan ini tanpa menggunakan properti background
atau background-image:
di CSS.
getPropertyValue("--src")
lihat: jsfiddle.net/CustomElementsExamples/vjfpu3a2Jawaban:
Gunakan
content:url("image.jpg")
.Solusi kerja penuh ( Live Demo):
Diuji dan bekerja:
Diuji dan Tidak berfungsi:
sumber
content
untukimg
, perubahan perilakunya. Gambar mulai mengabaikan atribut ukuran, dan di Chrome / Safari kehilangan opsi menu konteks seperti 'Simpan gambar'. Ini karena menetapkancontent
konversi yang efektifimg
dari elemen yang diganti menjadi sesuatu seperti<span><img></span>
.Ada solusi yang saya temukan hari ini (berfungsi di IE6 +, FF, Opera, Chrome):
Bagaimana itu bekerja:
background-size
misalnya:background-size:cover;
yang sesuai gambar Anda ke ruang yang ditentukan.Ini juga berfungsi untuk mengirimkan-input-gambar, mereka tetap dapat diklik.
Lihat demo langsung: http://www.audenaerde.org/csstricks.html#imagereplacecss
Nikmati!
sumber
src
atribut, ini adalah teknik yang Anda butuhkan. +1 - banyak membantu sayaKumpulan metode yang mungkin untuk mengatur gambar dari CSS
CSS2 's
:after
pseudo-elemen atau yang lebih baru sintaks::after
dari CSS3 bersama dengancontent:
properti:Rekomendasi W3C Pertama: Cascading Style Sheets, level 2 Spesifikasi CSS2 12 Mei 1998
Rekomendasi W3C Terbaru: Penyeleksi Level 3 Rekomendasi W3C 29 September 2011
Metode ini menambahkan konten setelahnya konten pohon dokumen elemen.
Catatan: beberapa browser secara eksperimental merender
content
properti secara langsung melalui beberapa pemilih elemen tanpa menghiraukan bahkan rekomendasi W3C terbaru yang mendefinisikan:Sintaks CSS2 (kompatibel untuk maju):
Pemilih CSS3:
Render default: Ukuran Asli (tidak tergantung pada deklarasi ukuran eksplisit)
tetapi bahkan pada saat penulisan ini, perilaku dengan
<IMG>
tag masih belum ditentukan dan meskipun dapat digunakan dengan cara yang diretas dan tidak sesuai standar , penggunaan dengan<img>
tidak dianjurkan !Metode kandidat hebat, lihat kesimpulan ...
CSS1 's
background-image:
properti:Rekomendasi W3C Pertama: Cascading Style Sheets, level 1 17 Des 1996
Properti ini telah ada sejak awal CSS dan meskipun demikian layak disebutkan secara mulia.
Render default: Ukuran Asli (tidak dapat diskalakan, hanya diposisikan)
Namun ,
CSS3 's
background-size:
properti meningkat di atasnya dengan memungkinkan beberapa pilihan skala:Status W3C Terbaru: Rekomendasi Calon Latar Belakang dan Batas CSS Modul Level 3 9 September 2014
Tetapi bahkan dengan properti ini, itu tergantung pada ukuran kontainer.
Masih merupakan metode kandidat yang baik, lihat kesimpulan ...
CSS2 's
list-style:
properti bersama dengandisplay: list-item
:Rekomendasi W3C Pertama: Cascading Style Sheets, level 2 Spesifikasi CSS2 12 Mei 1998
list-style-image:
properti mengatur gambar yang akan digunakan sebagai penanda item daftar (bullet)display: list-item
- Nilai ini menyebabkan elemen (misalnya,<li>
dalam HTML) untuk menghasilkan kotak blok utama dan kotak penanda.CSS singkatan: (
<list-style-type> <list-style-position> <list-style-image>
)Render default: Ukuran Asli (tidak tergantung pada deklarasi ukuran eksplisit)
Pembatasan:
Metode ini juga tidak cocok untuk
<img>
tag karena konversi tidak dapat dilakukan antara tipe elemen, dan inilah hack yang terbatas dan tidak sesuai yang yang tidak berfungsi pada Chrome.Metode kandidat yang baik, lihat kesimpulan ...
CSS3 's
border-image:
properti rekomendasi :Status W3C Terbaru: Rekomendasi Calon Latar Belakang dan Batas CSS Modul Level 3 9 September 2014
Sebuah background-jenis metode yang mengandalkan menentukan ukuran dalam cara yang agak aneh (tidak didefinisikan untuk kasus penggunaan ini) dan sifat perbatasan mundur sejauh (misalnya.
border: solid
):Contoh ini menggambarkan gambar yang dikomposisikan hanya sebagai hiasan sudut kanan bawah :
Masih tidak dapat mengubah suatu
<img>
tag 'ssrc
(tapi inilah hack ), sebaliknya kita bisa menghiasnya:Tampilkan cuplikan kode
Metode kandidat yang baik harus dipertimbangkan setelah standar disebarkan.
CSS3 's
element()
notasi rancangan kerja bernilai menyebutkan juga:Kami akan menggunakan isi yang diberikan dari salah satu dari dua gambar yang tersembunyi untuk mengubah gambar latar belakang di
#img1
didasarkan pada ID Selector melalui CSS:Catatan: Ini eksperimental dan hanya berfungsi dengan
-moz
awalan di Firefox dan hanya lebihbackground
ataubackground-image
properti, juga membutuhkan ukuran yang ditentukan.Kesimpulan
Karena itu, mari kita jelajahi tag HTML yang cocok untuk tampilan gambar:
Itu
<li>
elemen [HTML4.01 +]Penggunaan yang sempurna untuk
list-style-image
dengandisplay: list-item
metode .The
<li>
elemen, bisa kosong, memungkinkan konten mengalir dan itu bahkan diizinkan untuk menghilangkan</li>
tag akhir.Tampilkan cuplikan kode
Keterbatasan: sulit untuk ditata (
width:
ataufloat:
mungkin membantu)The
<figure>
elemen [HTML5 +]Elemen ini valid tanpa konten, tetapi disarankan mengandung a
<figcaption>
.Perenderan default: elemen disejajarkan dengan benar, dengan bantalan kiri dan kanan!
The
<object>
elemen [HTML4 +]The
data
atribut yang diperlukan dan dapat memiliki valid tipe MIME sebagai nilai!Catatan: trik untuk menggunakan
<object>
tag dari CSS adalah dengan menetapkan MimeType yang valid kustomx-image/x
diikuti oleh tidak ada data (nilai tidak memiliki data setelah koma yang diperlukan,
)Render default: 300 x 150px, tetapi ukuran dapat ditentukan dalam HTML atau CSS.
Itu
<SVG>
tagMembutuhkan browser yang mampu SVG dan memiliki
<image>
elemen untuk gambar rasterThe
<canvas>
elemen [HTML5 +].Itu
<input>
elemen dengantype="image"
Keterbatasan:
yang diikuti Chrome dan merender kotak kosong 4x4px saat tidak ada teks
Solusi sebagian, atur
value=" "
:Juga perhatikan
<picture>
elemen mendatang dalam HTML5.1 , yang saat ini merupakan konsep yang berfungsi .sumber
saya menggunakan solusi div kosong, dengan CSS ini:
HTML:
sumber
Saya menemukan cara yang lebih baik daripada solusi yang diusulkan, tetapi memang menggunakan gambar latar belakang. Metode yang sesuai (tidak dapat mengkonfirmasi untuk IE6) Kredit: http://www.kryogenix.org/code/browser/lir/
CSS:
Gambar lama tidak terlihat dan yang baru terlihat seperti yang diharapkan.
Solusi rapi berikut ini hanya berfungsi untuk webkit
sumber
content
properti hanya berlaku untuk:before
dan:after
semu kelas. Juga, jika Anda harus mendukung IE7 atau sebelumnya, saya pikircontent
dukungan tidak ada. Tetap saja, sangat menggoda.content
Properti ini berlaku untuk semua elemen. http://www.w3.org/TR/css3-content/#contentMereka benar. IMG adalah elemen konten dan CSS adalah tentang desain. Tapi, bagaimana kalau Anda menggunakan beberapa elemen konten atau properti untuk tujuan desain? Saya memiliki IMG di seluruh halaman web saya yang harus diubah jika saya mengubah gaya (CSS).
Nah ini adalah solusi untuk mendefinisikan presentasi IMG (tidak benar-benar gambar) dalam gaya CSS.
Ini bekerja seperti pesona :)
sumber
background*
Berikut ini adalah solusi yang sangat baik -> http://css-tricks.com/replace-the-image-in-an-img-with-css/
Pro dan Kontra:
(+) bekerja dengan vektor image yang memiliki relatif lebar / tinggi (hal yang Robau 's jawabannya tidak menangani)
(+) adalah cross browser yang (juga bekerja untuk IE8 +)
(+) hanya menggunakan CSS. Jadi tidak perlu memodifikasi img src (atau jika Anda tidak memiliki akses / tidak ingin mengubah atribut img src yang sudah ada).
(-) maaf, itu memang menggunakan atribut latar belakang css :)
sumber
Anda dapat menentukan 2 gambar dalam kode HTML Anda dan gunakan
display: none;
untuk memutuskan mana yang akan terlihat.sumber
background-image
bukan pilihan. Saya inginimg
tag untuk keperluan SEO. Jawaban Anda sangat sederhana, elegan, dan menyelesaikan semua rintangan saya! bravo! Pengguna juga tidak perlu mengunduh kedua gambar. Selanjutnya, saya dapat menambahkan sejumlah gambar.Tidak, Anda tidak dapat mengatur atribut src gambar melalui CSS. Yang paling dekat yang bisa Anda dapatkan adalah, seperti yang Anda katakan,
background
ataubackground-image
. Saya tidak akan merekomendasikan melakukan itu karena itu akan agak tidak masuk akal.Namun, ada solusi CSS3 yang tersedia untuk Anda, jika browser yang Anda targetkan dapat menggunakannya. Gunakan
content:url
seperti yang dijelaskan dalam jawaban Pacerier . Anda dapat menemukan solusi lintas peramban lain dalam jawaban lain di bawah ini.sumber
Masukkan beberapa gambar dalam wadah "pengontrol", dan ganti kelas wadahnya. Di CSS, tambahkan aturan untuk mengelola visibilitas gambar tergantung pada kelas wadah. Ini akan menghasilkan efek yang sama dengan mengubah
img src
properti dari satu gambar.HTML:
CSS:
Perhatikan bahwa ini akan memuat semua gambar, seperti dengan CSS
backround-image
, tetapi tidak seperti mengubahimg src
melalui JS.sumber
Cara alternatif
sumber
Beberapa data akan saya tinggalkan dalam HTML, tetapi lebih baik untuk mendefinisikan src di CSS:
sumber
Sejauh yang saya ketahui, ANDA TIDAK BISA. CSS adalah tentang gaya dan gambar src adalah konten.
sumber
Untuk menegaskan kembali solusi sebelumnya dan untuk menekankan implementasi CSS murni di sini adalah jawaban saya.
Solusi Pure CSS diperlukan dalam kasus di mana Anda mencari konten dari situs lain, dan karenanya Anda tidak memiliki kendali atas HTML yang dikirimkan. Dalam kasus saya, saya mencoba untuk menghapus branding dari konten sumber yang dilisensikan sehingga pemegang lisensi tidak harus beriklan untuk perusahaan tempat mereka membeli konten tersebut. Karena itu, saya menghapus logo mereka sambil menyimpan yang lainnya. Saya harus mencatat bahwa ini adalah kontrak klien saya untuk melakukannya.
sumber
Saya tahu ini adalah pertanyaan yang sangat lama namun tidak ada jawaban yang memberikan alasan yang tepat mengapa hal ini tidak dapat dilakukan. Meskipun Anda dapat "melakukan" apa yang Anda cari, Anda tidak dapat melakukannya dengan cara yang valid. Untuk memiliki tag img yang valid, harus memiliki atribut src dan alt.
Jadi, salah satu jawaban yang memberikan cara untuk melakukan ini dengan tag img yang tidak menggunakan atribut src mempromosikan penggunaan kode yang tidak valid.
Singkatnya: apa yang Anda cari tidak dapat dilakukan secara legal dalam struktur sintaksis.
Sumber: W3 Validator
sumber
Atau Anda bisa melakukan ini yang saya temukan di interweb thingy.
https://robau.wordpress.com/2012/04/20/override-image-src-in-css/
Jadi secara efektif menyembunyikan gambar dan mengisi latar belakang. Oh, betapa hacknya tetapi jika Anda menginginkan tag IMG dengan teks alt dan latar belakang yang dapat menskala tanpa menggunakan JavaScript?
Dalam sebuah proyek yang sedang saya kerjakan sekarang saya membuat templat ranting blok pahlawan
sumber
Jika Anda tidak ingin mengatur properti latar belakang maka Anda tidak dapat mengatur atribut src dari suatu gambar hanya menggunakan CSS.
Atau Anda dapat menggunakan JavaScript untuk melakukan hal seperti itu.
sumber
Menggunakan CSS, itu tidak bisa dilakukan. Tetapi, jika Anda menggunakan JQuery, sesuatu seperti ini akan membantu:
sumber
Anda dapat mengonversinya dengan JS:
sumber
Jika Anda mencoba untuk menambahkan gambar di tombol secara dinamis berdasarkan konteks proyek Anda, Anda dapat menggunakan? ambil untuk referensi sumber berdasarkan hasil. Di sini saya menggunakan desain mvvm untuk membiarkan nilai Model.Phases [0] saya menentukan apakah saya ingin tombol saya diisi dengan gambar bola lampu yang hidup atau mati berdasarkan nilai fase cahaya.
Tidak yakin apakah ini membantu. Saya menggunakan JqueryUI, Blueprint, dan CSS. Definisi kelas harus memungkinkan Anda untuk mendesain tombol berdasarkan apa pun yang Anda inginkan.
sumber
Saya akan menambahkan ini: gambar latar belakang juga dapat diposisikan dengan
background-position: x y;
(x horizontal y vertikal). (..) Kasing saya, CSS:sumber
Kode HTMl:
Kode Css:
Saya sudah belajar html sepulang sekolah selama beberapa hari, dan ingin tahu bagaimana melakukan ini. Menemukan latar belakang dan kemudian menempatkan 2 dan 2 bersama-sama. Ini bekerja 100% saya periksa, jika tidak pastikan Anda mengisi hal-hal yang diperlukan !!! Kita perlu menentukan ketinggian, karena tanpanya tidak akan ada apa-apa !!! Saya akan meninggalkan shell dasar ini yang bisa Anda tambahkan.
Contoh:
PS Ya saya pengguna Linux;)
sumber
Metode apa pun yang didasarkan pada
background
ataubackground-image
kemungkinan gagal ketika pengguna mencetak dokumen dengan " warna latar belakang cetak dan gambar " dinonaktifkan. Sayangnya ini adalah tipikal browser standar.Satu-satunya metode yang kompatibel dengan cetak dan lintas-browser di sini adalah metode yang diusulkan oleh Bronx.
sumber
Memuat IMG src dari definisi CSS, menggunakan properti CSS modern
src
definisi kosong pada <IMG> memicu penangan onerror: fungsi loadIMGJSFiddle: https://jsfiddle.net/CustomElementsExamples/vjfpu3a2/
SO jawaban terkait: WCPROPS
sumber
Cukup gunakan HTML5 :)
sumber