Saya dapat melihat dalam referensi CSS cara mengatur transparansi gambar dan cara mengatur gambar latar belakang . Tetapi bagaimana saya bisa menggabungkan keduanya untuk menetapkan gambar latar belakang transparan?
Saya memiliki gambar yang ingin saya gunakan sebagai latar belakang, tetapi terlalu terang - saya ingin menurunkan opacity menjadi sekitar 0,2. Bagaimana saya bisa melakukan ini?
#main {
background-image: url(/wp-content/uploads/2010/11/tandem.jpg);
}
opacity: ...
di semua browser, itu jauh lebih baik!sumber
:before
bukan:after
dan kemudian saya tidak perlu mengutak-atikz-index
karena:before
berakhir di bawah konten utama secara otomatis. (Saat ini diuji di Chrome dan FF.)background-repeat: no-repeat; background-attachment: fixed; background-position: center;
dalam #main: after {...} .Solusi dengan 1 div dan TANPA gambar transparan:
Anda dapat menggunakan fitur multibackground CSS3 dan meletakkan dua latar belakang: satu dengan gambar, yang lain dengan panel transparan di atasnya (karena saya pikir tidak ada cara untuk mengatur langsung opacity dari gambar latar belakang):
Anda tidak dapat menggunakan
rgba(255,255,255,0.5)
karena itu sendiri hanya diterima di bagian belakang, jadi Anda saya telah menggunakan gradien yang dihasilkan untuk setiap browser untuk contoh ini (itu sebabnya sangat lama). Tetapi konsepnya adalah sebagai berikut:http://jsfiddle.net/pBVsD/1/
sumber
Solusi sederhana
jika Anda perlu mengatur gradien hanya untuk gambar latar :
sumber
Saya melihat ini dan di CSS3 Anda sekarang dapat menempatkan kode seperti ini. Katakanlah saya ingin menutupi seluruh latar belakang saya akan melakukan sesuatu seperti ini. Kemudian dengan
hsla(0,0%,100%,0.70)
atau rgba Anda menggunakan latar belakang putih dengan persentase saturasi atau opacity berapa pun untuk mendapatkan tampilan yang Anda inginkan.sumber
Anda dapat menggunakan CSS psuedo selector :: after untuk mencapai ini. Ini demo yang berfungsi.
sumber
Saya punya masalah serupa. Saya memiliki gambar dan ingin mengurangi transparansi dan memiliki latar belakang hitam di belakang gambar. Alih-alih mengurangi opacity atau membuat latar belakang hitam atau div sekunder saya mengatur linear-gradien ke gambar semua dalam satu baris:
sumber
Saya telah menggunakan jawaban dari @Dan Eastwell dan bekerja dengan sangat baik. Kode ini mirip dengan kodenya tetapi dengan beberapa tambahan.
sumber
Cara terbaik untuk melakukannya untuk gambar sederhana adalah dengan hanya menggunakan CSS untuk mengatur latar belakang elemen HTML seperti itu.
Jika Anda ingin menjadi mewah , dan mengatur opacity-nya, maka, di IE9 + *, Anda dapat mengatur warna latar belakang tubuh yang transparan. Ini berfungsi dengan overlay putih semitransparan untuk membuat gambar lebih putih, dan tampak lebih cerah. Misalnya, putih dengan opacity 75% (
rgba(255,255,255,.75)
) akan menghasilkan efek berikut.position: relative
, sementara tubuhnyaposition: absolute
. Ini untuk mencegah warna latar belakang tubuh berperilaku lebih seperti penyorot teks dalam tubuh.Ini bahkan dapat diperluas ke sesuatu yang sebanding dengan, tetapi masih sangat berbeda dari, filter CSS dengan mengubah latar belakang warna RGBA tubuh. Misalnya,
rgba(0,255,0,.75)
akan membuat warna yang sangat hijau seperti yang Anda lihat di cuplikan kode.rgba(0,255,0,.75)
sebagai sesuatu yang dicontohkan oleh{red:0, green:255, blue:0, alpha:'75%'}
.* Tabel kompatibilitas penuh dapat ditemukan di Can I Use. Namun, harap perhatikan juga bahwa Anda perlu mengklik "Tampilkan Semua" untuk melihat bahwa IE9 mendukungnya.
Tambahan
Karena saya telah menjawab pertanyaan tetapi saya memiliki lebih banyak yang ingin saya tambahkan, saya memberi judul addendum bagian ini dan menambahkan beberapa informasi yang berpotensi membantu. Jadi, untuk memperkirakan lebih jauh pada konten di atas, Anda dapat menggunakan SVG sebagai gambar latar belakang untuk melakukan hal-hal luar biasa yang jahat. Misalnya, Anda dapat membuat latar belakang layar pemuatan yang menampilkan ikon situs web keren seperti yang Anda lihat dalam contoh SVG yang disandikan base64 di bawah ini.
background-size: cover
CSS menyebabkan logo SVG di latar belakang diubah ukurannya dengan ukuran elemen HTML.sumber
Di CSS Anda tambahkan ...
Dalam penggunaan JavaScript ...
NB: Tambahkan awalan vendor seperti yang diperlukan tetapi Chromium akan baik-baik saja tanpa.
sumber
Yah satu-satunya cara CSS untuk melakukan hanya transparansi latar belakang adalah melalui
RGBa
tetapi karena Anda ingin menggunakan gambar saya sarankan menggunakan Photoshop atau Gimp untuk membuat gambar transparan dan kemudian menggunakannya sebagai latar belakang.sumber
opactiy: 1;
:, bukan hanya RGBa.background-image
gaya pada wadah dan kemudian mengaturopacity
gaya pada elemen yang sama. Itu juga akan membuat teks dan konten lain dari elemen itu transparan. Coba ini jika Anda tidak percaya kepada saya: w3schools.com/Css/tryit.asp?filename=trycss_transparencySaya baru saja menambahkan posisi = absolut, atas = 0, lebar = 100% di # utama dan mengatur nilai opacity ke #background
Saya menerapkan latar belakang ke div sebelum utama.
sumber
Saya menemukan posting ini karena saya memiliki masalah yang sama maka saya pikir mengapa mengacaukan dengan css, menyesuaikan nilai dan menekan refresh ketika Anda dapat dengan mudah menyesuaikan opacity di Photoshop? Salin gambar, rekatkan sebagai layer baru lalu gerakkan bilah geser opacity.
sumber
Saya memiliki masalah serupa dan saya hanya mengambil gambar latar belakang dengan photoshop dan membuat .png baru dengan opacity yang saya butuhkan. Masalah terpecahkan tanpa khawatir tentang apakah CSS saya berfungsi di semua perangkat & browser
sumber