Bagaimana cara membuat latar belakang semi transparan?

178

Saya perlu membuat latar belakang putih 50% transparan tanpa mempengaruhi apa pun. Bagaimana saya melakukannya?

lisovaccaro
sumber
di sini adalah tautan ke artikel yang menjelaskan metode untuk menerapkan transparansi menggunakan CSS. domedia.org/oveklykken/css-transparency.php Waspadalah meskipun tampaknya dukungan lintas peramban dapat menjadi masalah yang dapat menyebabkan Anda mengubah implementasi Anda.
Bnjmn
3
Apakah maksud Anda cara mengatur opacity ke latar belakang div tanpa memengaruhi elemen bersarang?
Ben

Jawaban:

317

Gunakan rgba():

.transparent {
  background-color: rgba(255,255,255,0.5);
}

Ini akan memberi Anda 50% opacity sedangkan konten kotak akan terus memiliki opacity 100%.

Jika Anda menggunakan opacity:0.5, konten akan memudar serta latar belakang. Karenanya jangan menggunakannya.

Tarun
sumber
3
ya, IE mendukung rgba, sintaksnya adalah #ARGB dan ditulis sebagai filter: progid: DXImageTransform.Microsoft.gradient (startColorstr = # AARRGGBBAA, endColorstr = # AARRGGBBAA); pada dasarnya gradien warna statis tetapi dengan transparansi.
Tarun
Ubah background:denganbackground-color:
Gabrielizalo
background-colortidak lebih benar dari background.
Sean
@Sean Apakah lebih spesifik dan mengungkap maksud? Secara pribadi saya lebih suka menggunakannya dalam kasus ini, tetapi apakah ada alasan yang bukan pilihan yang baik?
Dave Slutzkin
1
@DaveSlutzkin Ini adalah preferensi yang baik untuk dimiliki dan tidak ada yang salah dengan itu, tetapi pengeditan tidak boleh dilakukan berdasarkan preferensi pribadi. Kalau tidak, pertanyaan akan terus terombang-ambing di antara versi yang berbeda ketika orang-orang dengan preferensi yang berlawanan menjumpainya.
Sean
12

Ini bekerja, tetapi semua anak-anak dari elemen dengan kelas ini juga akan menjadi transparan, tanpa ada cara untuk mencegahnya.

.css-class-name {
    opacity:0.8;
}
umesh pathak
sumber
9

Jika Anda ingin latar belakang transparan berwarna abu-abu, harap coba:

   .transparent{
       background:rgba(1,1,1,0.5);
   }
ThomasDuc
sumber
3

Senang mendengarnya

Beberapa browser web mengalami kesulitan untuk membuat teks dengan bayangan di atas latar belakang transparan. Kemudian Anda dapat menggunakan gambar PNG semi transparan 1x1 sebagai latar belakang.

Catatan

Ingat bahwa IE6 tidak mendukung file PNG.

Joacim Nitz
sumber
2
IE6 mendukung PNG, bahkan yang transparan: filter: progid: DXImageTransform.Microsoft.AlphaImageLoader (diaktifkan = true, sizingMethod = scale, src = '/ filename.png');
manmal
@ Manmal tetapi di mana Anda menempatkan perbaikan IE Anda? Langsung di situs file .css?
Thalatta
1
@Tatta, ya, coba saja.
manmal
3

JANGAN gunakan PNG semi transparan 1x1. Ukuran PNG hingga 10x10, 100x100, dll. Apa pun yang masuk akal pada halaman Anda. (Saya menggunakan 200x200 PNG dan hanya 0,25 kb, jadi tidak ada masalah nyata pada ukuran file di sini.)

Setelah mengunjungi posting ini, saya membuat halaman web saya dengan PNG 3, 1x1 dengan transparansi yang bervariasi.

Dreamweaver CS5 adalah tanking. Saya mengalami flash back ke DOS !!! Rupanya setiap kali saya mencoba menggulir, menyisipkan teks, pada dasarnya melakukan apa saja, DW mencoba memuat ulang area semi transparan 1x1 piksel sekaligus ... YIKES!

Dukungan teknis Adobe bahkan tidak tahu apa masalahnya, tetapi mengatakan kepada saya untuk membangun kembali file (itu bekerja pada sistem mereka, kebetulan). Hanya ketika saya memuat PNG transparan pertama ke dalam file css, dokter itu menyelam lagi.

Kemudian saya menemukan posting di situs bantuan lain tentang PNG yang menabrak Dreamweaver. Besarkan ukuran PNG Anda; tidak ada kerugian untuk melakukannya.

Windows Warrior
sumber
13
Mengukur PNG hanya karena alat Anda sangat jelek sehingga tidak mendukungnya? Sungguh ...
Jurchik
0

Meskipun bertanggal, tidak ada satu jawaban pun di utas ini yang dapat digunakan secara universal. Menggunakan rgba untuk membuat topeng warna transparan - itu tidak menjelaskan bagaimana melakukannya dengan gambar latar belakang.

Solusi saya berfungsi untuk gambar latar belakang atau latar belakang warna.

#parent {
    font-family: 'Open Sans Condensed', sans-serif;
    font-size: 19px;
    text-transform: uppercase;
    border-radius: 50%;
    margin: 20px auto;
    width: 125px;
    height: 125px;
    background-color: #476172;
    background-image: url('https://unsplash.it/200/300/?random');
    line-height: 29px;
    text-align:center;
}

#content {
    color: white;
    height: 125px !important;
    width: 125px !important;
    display: table-cell;
    border-radius: 50%;
    vertical-align: middle;
    background: rgba(0,0,0, .3);
}
<h1 id="parent"><a href="" id="content" title="content" rel="home">Example</a></h1>

Bruce
sumber
0
div.main{
     width:100%;
     height:550px;
     background: url('https://images.unsplash.com/photo-1503135935062-
     b7d1f5a0690f?ixlib=rb-enter code here0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=cf4d0c234ecaecd14f51a2343cc89b6c&dpr=1&auto=format&fit=crop&w=376&h=564&q=60&cs=tinysrgb') no-repeat;
     background-position:center;
     background-size:cover 
}
 div.main>div{
     width:100px;
     height:320px;
     background:transparent;
     background-attachment:fixed;
     border-top:25px solid orange;
     border-left:120px solid orange;
     border-bottom:25px solid orange;
     border-right:10px solid orange;
     margin-left:150px 
}

masukkan deskripsi gambar di sini

Abhi Sharma
sumber
Terima kasih atas cuplikan kode ini, yang mungkin memberikan bantuan terbatas dan segera. Sebuah penjelasan yang tepat akan sangat meningkatkan nilai jangka panjang dengan menunjukkan mengapa ini adalah solusi yang baik untuk masalah ini, dan akan membuatnya lebih bermanfaat untuk pembaca masa depan dengan lainnya, pertanyaan-pertanyaan serupa. Harap edit jawaban Anda untuk menambahkan beberapa penjelasan, termasuk asumsi yang Anda buat.
iBug
-2

Coba ini:

.transparent
{ 
  opacity:.50;
  -moz-opacity:.50; 
  filter:alpha(opacity=50); 
}
Chandu
sumber
12
ini akan membuat konten memiliki 50% opacity juga.
Tarun
Ini dapat dengan mudah diperbaiki oleh css:, .transparent * { opacity:1; }kecuali, misalnya, elemen dengan transparentkelas memiliki html dalam
Tim Cooke