Saya memiliki DIV dan saya ingin menempatkan pola sebagai latar belakang. Pola ini berwarna abu-abu. Jadi untuk membuatnya sedikit lebih bagus, saya ingin meletakkan "lapisan" warna transparan terang. Di bawah ini adalah apa yang saya coba tetapi tidak berhasil. Apakah ada cara untuk meletakkan lapisan berwarna di atas gambar latar belakang?
Inilah CSS saya:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
Saya tahu ini adalah utas yang sangat lama, tetapi muncul di bagian atas di Google, jadi inilah opsi lain.
Ini adalah CSS murni, dan tidak memerlukan HTML tambahan.
Ada sejumlah kegunaan mengejutkan untuk fitur bayangan kotak.
sumber
box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, .2)
.Dari CSS-Trik ... ada satu langkah cara untuk melakukan ini tanpa pengindeksan z dan menambahkan elemen semu - memerlukan gradien linier yang saya pikir berarti Anda memerlukan dukungan CSS3
sumber
background-size:cover;
danbackground-position:center center;
mengatur elemen ini. Ini tampaknya membatalkan efek itu.Anda juga dapat menggunakan gradien linier dan gambar: http://codepen.io/anon/pen/RPweox
Ini karena fungsi gradien linier membuat Gambar yang ditambahkan ke tumpukan latar belakang. https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
sumber
Anda perlu elemen pembungkus dengan gambar bg dan di dalamnya elemen konten dengan warna bg:
dan css:
sumber
Coba ini. Bekerja untukku.
sumber
Saya telah menggunakan ini sebagai cara untuk menerapkan warna serta gradien pada gambar untuk membuat teks overlay dinamis lebih mudah untuk ditata untuk keterbacaan ketika Anda tidak dapat mengontrol profil warna gambar. Anda tidak perlu khawatir tentang indeks-z.
HTML
KELANCANGAN
CSS
Semoga ini bisa membantu
sumber
div
memiliki setidaknya posisi: relatifLihat jawaban saya di https://stackoverflow.com/a/18471979/193494 untuk ikhtisar komprehensif tentang solusi yang mungkin:
sumber
Kenapa begitu rumit? Solusi Anda hampir benar kecuali itu cara yang lebih mudah untuk membuat pola transparan dan warna latar belakang menjadi solid . PNG dapat berisi transparansi. Jadi gunakan photoshop untuk membuat pola transparan dengan mengatur layer ke 70% dan menyimpan ulang gambar Anda. Maka Anda hanya perlu satu pemilih. Bekerja lintas browser.
CSS:
HTML:
Ini dasar. Contoh penggunaan berikut di mana saya beralih dari
background
kebackground-image
tapi kedua sifat bekerja sama.TUNGGU MENIT! DIBUTUHKAN BEBERAPA WAKTU UNTUK MENDAPAT POLA EKSTERNAL.
Situs web ini tampaknya agak lambat ...
sumber
:hover
dan itu akan overlay di atas gambar latar belakang?Anda dapat menggunakan piksel semitransparan, yang dapat Anda hasilkan misalnya di sini , bahkan di base64 Berikut adalah contoh dengan 50% putih:
tanpa mengunggah
tanpa html tambahan
Saya kira pemuatan harus lebih cepat daripada bayangan kotak atau gradien linier
sumber
Ini adalah trik yang lebih sederhana dengan hanya css.
sumber
Lain dengan SVG sebagai inline overlay-image (catatan: jika Anda menggunakan
#
di dalam svg-code Anda harus urlencode itu!):sumber
Saya hanya menggunakan properti css background-image pada target background div.
Catatan background-image hanya menerima fungsi warna gradien.
Jadi saya menggunakan linear-gradient menambahkan warna overlay yang diinginkan dua kali (gunakan nilai rgba terakhir untuk mengontrol opacity warna).
Juga, temukan dua sumber daya yang bermanfaat ini untuk:
HTML
CSS
sumber
Anda juga dapat menambahkan opacity ke warna overlay Anda.
Alih-alih melakukan
Anda dapat melakukan:
Kemudian buat gaya baru untuk warna opacity:
Ubah opacity ke nomor apa pun yang Anda inginkan di bawah 1. Kemudian Anda membuat gaya warna ini ukuran yang sama dengan gambar Anda. Itu harus bekerja.
sumber