Bagaimana cara membuat latar belakang semi transparan?


178

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


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.


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;
}

9

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

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

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.


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.


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>


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


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); 
}

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.