半透明の背景を作成するにはどうすればよいですか?


178

他に影響を与えずに白い背景を50%透明にする必要があります。どうすればいいのですか?


CSSを使用して透過性を実装する方法を説明する記事へのリンクは次のとおりです。domedia.org/oveklykken/css-transparency.phpクロスブラウザーのサポートが実装の変更を引き起こす可能性のある問題である可能性があるようですが、注意してください。
Bnjmn 2011年

3
ネストされた要素に影響を与えずにdiv背景に不透明度を設定する方法を意味しますか?
Ben


回答:


317

使用rgba()

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

これにより、ボックスのコンテンツは100%の不透明度を維持しながら、50%の不透明度が得られます。

を使用するopacity:0.5と、コンテンツだけでなく背景もフェードされます。したがって、使用しないでください。


3
はい、IEはrgbaをサポートします。その構文は#ARGBであり、filter:progid:DXImageTransform.Microsoft.gradient(startColorstr =#AARRGGBBAA、endColorstr =#AARRGGBBAA);のように記述されます。基本的には静的な色のグラデーションですが、透明度があります。
Tarun、2011年

変更background:background-color:
Gabrielizalo

background-colorはより正確ではありませんbackground
ショーン

@Seanそれでは、より具体的で意図を明らかにしているのでしょうか?個人的にはこの場合に利用したいのですが、あまり好まない理由はありますか?
Dave Slutzkin

1
@DaveSlutzkinこれは良い設定であり、何も問題はありませんが、編集は個人の設定に基づいて行われるべきではありません。そうでなければ、反対の好みを持つ人々がそれらに遭遇するとき、質問は異なるバージョン間で振動し続けます。
ショーン

12

これは機能しますが、このクラスを持つ要素のすべての子も透明になり、これを防ぐ方法はありません。

.css-class-name {
    opacity:0.8;
}

9

透明な背景を灰色にしたい場合、plsは次のことを試みます。

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

3

知っておきたい

一部のWebブラウザーでは、透明な背景の上に影のあるテキストをレンダリングすることが困難です。次に、半透明の1x1 PNG画像を背景として使用できます。

注意

IE6はPNGファイルをサポートしていないことに注意してください。


2
IE6はPNGをサポートしていますが、透明なものもサポートしています。
manmal

@manmalですが、IEフィックスはどこに置きますか?サイトの.cssファイルに直接?
Thalatta 2014

1
@Thalattaはい、試してみてください。
manmal 2014

3

1x1の半透明のPNGは使用しないでください。PNGのサイズを最大10x10、100x100などに設定します。ページで意味のあるものは何でもかまいません。(私が使用したのは200x200のPNGで、サイズは0.25 kbしかなかったので、ここではファイルサイズに特に問題はありません。)

この投稿にアクセスした後、3つの1x1 PNGで透明度を変えたWebページを作成しました。

Dreamweaver CS5は急上昇していました。私はDOSにフラッシュバックしていました!!! どうやら私がスクロール、テキストの挿入、基本的に何でもしようとしたときはいつでも、DWは一度に1x1ピクセルの半透明領域をリロードしようとしていました...

アドビの技術サポートは問題が何であるかさえ知りませんでしたが、ファイルを再構築するように私に言いました(偶然、彼らのシステムで動作しました)。最初の透明なPNGをcssファイルにロードしたときだけ、ドキュメントが再び深くなります。

次に、PNGがDreamweaverをクラッシュさせることについて、別のヘルプサイトに投稿を見つけました。PNGのサイズを大きくします。そうすることの欠点はありません。


13
あなたのツールがとてもサポートされていないので、PNGをサイズ変更するのですか?本当に...
jurchiks 2015

0

日付は付けられていますが、このスレッドで1つの回答を普遍的に使用することはできません。rgbaを使用して透明なカラーマスクを作成する-これは、背景画像を使用して行う方法を正確に説明していません。

私のソリューションは、背景画像またはカラー背景で機能します。

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

ここに画像の説明を入力してください


このコードスニペットをありがとうございます。このコードスニペットは、限られた、即時の助けを提供する可能性があります。適切な説明が大幅に長期的な価値を向上させるだろう示すことによって、なぜこれが問題に良い解決策であり、他の、同様の質問を将来の読者にそれがより便利になるだろう。答えを編集して、仮定を含めて説明を追加してください。
iBug 2018年

-2

これを試して:

.transparent
{ 
  opacity:.50;
  -moz-opacity:.50; 
  filter:alpha(opacity=50); 
}

12
これにより、コンテンツの不透明度も50%になります。
Tarun

これはcss:.transparent * { opacity:1; }で簡単に修正できます。たとえば、transparentクラスを持つ要素に内部htmlがない場合を除きます
Tim Cooke
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.