Kumpulan metode yang mungkin untuk mengatur gambar dari CSS
CSS2 's :after
pseudo-elemen atau yang lebih baru sintaks ::after
dari CSS3 bersama dengan content:
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:
Berlaku untuk: :before
dan :after
elemen semu
Sintaks CSS2 (kompatibel untuk maju):
.myClass:after {
content: url("somepicture.jpg");
}
Pemilih CSS3:
.myClass::after {
content: url("somepicture.jpg");
}
Render default: Ukuran Asli (tidak tergantung pada deklarasi ukuran eksplisit)
Spesifikasi ini tidak sepenuhnya menentukan interaksi antara: sebelum dan: setelah dengan elemen yang diganti (seperti IMG dalam HTML). Ini akan didefinisikan secara lebih rinci dalam spesifikasi masa depan.
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 menetapkan gambar latar belakang suatu elemen. Saat mengatur gambar latar belakang, seseorang juga harus mengatur warna latar belakang yang akan digunakan ketika gambar tidak tersedia. Ketika gambar tersedia, itu dilapis di atas warna latar belakang.
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 'sbackground-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
[length> | <percentage> | auto ]{1,2} | cover | contain
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)
Properti daftar menjelaskan pemformatan visual dasar daftar: mereka memungkinkan style sheet untuk menentukan jenis penanda ( gambar , mesin terbang, atau nomor)
display: list-item
- Nilai ini menyebabkan elemen (misalnya, <li>
dalam HTML) untuk menghasilkan kotak blok utama dan kotak penanda.
.myClass {
display: list-item;
list-style-position: inside;
list-style-image: url("someimage.jpg");
}
CSS singkatan: ( <list-style-type> <list-style-position> <list-style-image>
)
.myClass {
display: list-item;
list-style: square inside url("someimage.jpg");
}
Render default: Ukuran Asli (tidak tergantung pada deklarasi ukuran eksplisit)
Pembatasan:
Warisan akan mentransfer nilai 'gaya daftar' dari elemen OL dan UL ke elemen LI. Ini adalah cara yang disarankan untuk menentukan informasi gaya daftar.
Mereka tidak mengizinkan penulis untuk menentukan gaya yang berbeda (warna, font, perataan , dll.) Untuk penanda daftar atau menyesuaikan posisinya
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
):
Perhatikan bahwa, meskipun tidak pernah menyebabkan mekanisme pengguliran, gambar awal mungkin masih terpotong oleh leluhur atau oleh viewport.
Contoh ini menggambarkan gambar yang dikomposisikan hanya sebagai hiasan sudut kanan bawah :
.myClass {
border: solid;
border-width: 0 480px 320px 0;
border-image: url("http://i.imgur.com/uKnMvyp.jpg") 0 100% 100% 0;
}
Berlaku untuk: Semua elemen, kecuali elemen tabel internal saat border-collapse: collapse
Masih tidak dapat mengubah suatu <img>
tag 's src
(tapi inilah hack ), sebaliknya kita bisa menghiasnya:
.myClass {
border: solid;
border-width: 0 96px 96px 0;
border-image: url("http://upload.wikimedia.org/wikipedia/commons/9/95/Christmas_bell_icon_1.png")
0 100% 100% 0;
}
<img width="300" height="120"
src="http://fc03.deviantart.net/fs71/f/2012/253/b/0/merry_christmas_card_by_designworldwide-d5e9746.jpg"
class="myClass"
Metode kandidat yang baik harus dipertimbangkan setelah standar disebarkan.
CSS3 's element()
notasi rancangan kerja bernilai menyebutkan juga:
Catatan: element()
Fungsi hanya mereproduksi tampilan elemen yang dirujuk, bukan konten aktual dan strukturnya.
<div id="img1"></div>
<img id="pic1" src="http://i.imgur.com/uKnMvyp.jpg" class="hide" alt="wolf">
<img id="pic2" src="http://i.imgur.com/TOUfCfL.jpg" class="hide" alt="cat">
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:
#img1 {
width: 480px;
height: 320px;
background: -moz-element(#pic1) no-repeat;
background-size: 100% 100%;
}
.hide {display: none}
Catatan: Ini eksperimental dan hanya berfungsi dengan -moz
awalan di Firefox dan hanya lebih background
atau background-image
properti, juga membutuhkan ukuran yang ditentukan.
Kesimpulan
- Setiap konten semantik atau informasi struktural masuk dalam HTML.
- Informasi gaya dan presentasi ditampilkan dalam CSS.
- Untuk tujuan SEO, jangan sembunyikan gambar yang bermakna di CSS.
- Grafik latar belakang biasanya dinonaktifkan saat mencetak.
- Tag khusus dapat digunakan dan ditata dari CSS, tetapi versi primitif dari Internet Explorer tidak mengerti] ( IE tidak mendesain tag HTML5 (dengan shiv) ) tanpa Javascript atau panduan CSS .
- SPA (Aplikasi Halaman Tunggal), dengan desain, biasanya menggabungkan gambar di latar belakang
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.
.bulletPics > li {display: list-item}
#img1 {list-style: square inside url("http://upload.wikimedia.org/wikipedia/commons/4/4d/Nuvola_erotic.png")}
#img2 {list-style: square inside url("http://upload.wikimedia.org/wikipedia/commons/7/74/Globe_icon_2014-06-26_22-09.png")}
#img3 {list-style: square inside url("http://upload.wikimedia.org/wikipedia/commons/c/c4/Kiwi_fruit.jpg")}
<ul class="bulletPics">
<li id="img1">movie</li>
<li id="img2">earth</li>
<li id="img3">kiwi</li>
</ul>
Keterbatasan: sulit untuk ditata ( width:
atau float:
mungkin membantu)
The <figure>
elemen [HTML5 +]
Elemen gambar mewakili beberapa konten aliran, opsional dengan keterangan, yang mandiri (seperti kalimat lengkap) dan biasanya direferensikan sebagai satu unit dari aliran utama dokumen.
Elemen ini valid tanpa konten, tetapi disarankan mengandung a <figcaption>
.
Elemen dengan demikian dapat digunakan untuk membubuhi keterangan ilustrasi, diagram, foto , daftar kode, dll.
Perenderan default: elemen disejajarkan dengan benar, dengan bantalan kiri dan kanan!
The <object>
elemen [HTML4 +]
Untuk memasukkan gambar, penulis dapat menggunakan elemen OBJECT atau elemen IMG.
The data
atribut yang diperlukan dan dapat memiliki valid tipe MIME sebagai nilai!
<object data="data:x-image/x,"></object>
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.
Membutuhkan browser yang mampu SVG dan memiliki <image>
elemen untuk gambar raster
The <canvas>
elemen [HTML5 +].
The width
atribut default untuk 300 , dan height
default atribut untuk 150 .
Itu <input>
elemen dengantype="image"
Keterbatasan:
... elemen tersebut akan muncul seperti tombol untuk menunjukkan bahwa elemen tersebut adalah sebuah tombol.
yang diikuti Chrome dan merender kotak kosong 4x4px saat tidak ada teks
Solusi sebagian, atur value=" "
:
<input type="image" id="img1" value=" ">
Juga perhatikan <picture>
elemen mendatang dalam HTML5.1 , yang saat ini merupakan konsep yang berfungsi .