101

ねえ、私はグーグルで検索していますが、完璧な答えを見つけることはできません

親DIVで不透明にしたいが、子DIVでは不透明にしたい

HTML

<div class="parent">
<div class="child">
Hello I am child 
</div>
</div>

Css

.parent{
background:url('../images/madu.jpg') no-repeat 0 0;
}
.child{
Color:black;
}

注:-色ではなく背景画像にしたいParent Div

4

7 に答える 7

104

私はこれが古いことを知っていますが、念のために他の誰かを助けるでしょう.

<div style="background-color: rgba(255, 0, 0, 0.5)">child</div> 

rgba、緑、青、およびaは透明度です。

于 2013-01-25T16:04:12.647 に答える
49

疑似クラスでbackground-imageを定義すると良いかもしれません。:after次のように書きます。

.parent{
    width:300px;
    height:300px;
    position:relative;
    border:1px solid red;
}
.parent:after{
    content:'';
    background:url('http://www.dummyimage.com/300x300/000/fff&text=parent+image');
    width:300px;
    height:300px;
    position:absolute;
    top:0;
    left:0;
    opacity:0.5;
}
.child{
    background:yellow;
    position:relative;
    z-index:1;
}

このフィドルをチェックしてください

于 2012-06-04T10:07:50.703 に答える
19

疑似要素でそれを行うことができます: ( dabblet.comデモ) ここに画像の説明を入力

あなたのマークアップ:

<div class="parent">
    <div class="child"> Hello I am child </div>
</div>

CSS:

.parent{
    position: relative;
}

.parent:before {
    z-index: -1;
    content: '';
    position: absolute;

    opacity: 0.2;
    width: 400px;
    height: 200px;
    background: url('http://img42.imageshack.us/img42/1893/96c75664f7e94f9198ad113.png') no-repeat 0 0; 
}

.child{
    Color:black;
}
于 2012-06-04T09:55:58.070 に答える
12

トムbackground-color: rgba(229,229,229, 0.85)が言ったように、トリックを行うことができます。親要素のスタイルにそれを配置すると、子は影響を受けません。

于 2014-09-05T18:38:19.143 に答える
6

できません。今日の Css はそれを許可していません。

論理レンダリング モデルは次のとおりです。

オブジェクトがコンテナ要素の場合、マスクの各ピクセルの値が .

参考:css透明度

解決策は、別の要素構成を使用することです。通常は、現在子として定義されているものに対して固定または計算された位置を使用します。ユーザーにとって論理的かつ視覚的に子として表示される場合がありますが、要素は実際に子である必要はありませんあなたのコード。

css を使用したソリューション: fiddle

.parent {
    width:500px;
    height:200px;    
    background-image:url('http://canop.org/blog/wp-content/uploads/2011/11/cropped-bandeau-cr%C3%AAte-011.jpg');
    opacity: 0.2;
}
.child {
    position: fixed;
    top:0;
}

JavaScriptを使用した別のソリューション:フィドル

于 2012-06-04T09:29:00.200 に答える
0

親から子を取り出して配置しない限り、それはできません。

私が知っていて実際に機能する唯一の方法は、親の背景に半透明の画像 (透明な .png) を使用することです。唯一の欠点は、不透明度を CSS で制御できないことです。

于 2012-06-04T09:43:30.707 に答える