2016-04-14 42 views
0

RGBAを設定して、背景画像の不透明度を変更しようとしています。しかし、背景画像の不透明度は変化しません。以下は私が使用しているコードスニペットです。背景画像angacity2の不透明度

このようにバックグラウンドイメージの不透明度を変更すると、HTMLで動作しますが、これをangle2で試してみると動作しません。

import {Component} from 'angular2/core'; 

@Component({ 
    selector: 'my-app', 
    styles: [` 

.background-image { 
    z-index: -1; 
    position: absolute; 
    top: 0px; 
    left: 0px; 
    width: 100%; 
    height: 100%; 
    background-size: cover; 
    background-position: center; 
    background-color: rgba(0, 0, 0, 0.9); 
}, 

`], 
    template: 
      ` 
      <h1>Hello Angular</h1> 
       <div class="background-image" style="background-image : url('http://v4.pingendo.com/assets/photos/food/cover-1.jpg')"> 
       </div> 
      `, 
}) 
export class AppComponent { } 

はちょうど私は、ただ、スレッドを閉じるために

background-image { 
    opacity: 0.4; 
    filter: alpha(opacity=40); /* For IE8 and earlier */ 
} 
+0

「ホスト:バックグラウンド画像{' –

+0

お返事ありがとうございます。私はちょうど試みました:host .background-image {.background-image {の代わりに、結果は同じです。画像はロードされていますが、不透明度は変更されていません。 – MJDude

+0

私は背景画像が背景色プロパティの影響を受けていないと考えました。 – apokryfos

答えて

0

てみCSSイメージ不透明度/透明にジャンプするためのみんなに感謝を言いたかったですPhotoshopで手動で画像を暗くする必要がありました。(

これは角2のバグではありません。

+0

ありがとう@blasteralfredは働いていましたが、画像を明るくしました。私がrbgaを使用した理由は、背景イメージを暗くすることでした。不透明度は画像を明るくするように見えます。 – MJDude

0

、同じような問題を解決する手助け

+1

HTMLで動作すると言っても、Angularに関連するとは考えにくいです。あなたは再現を可能にするPlunkerを作成できますか? –

+0

@GünterZöchbauer戻ってくれてありがとう。ここに私のプランナー[リンク](http://plnkr.co/edit/5HxQjQSAiXl5AUhty13w?p=preview)へのリンクがあります。 Abdulrahmanが解決策を投稿したようだ。 – MJDude

+0

Angularコンポーネントから移動しましたが、それでもhttp://plnkr.co/edit/3t2zWpMOoOjFG9YbQLXQ?p=previewは機能しません。 –

1

任意のhtmlのように、CSS疑似要素を使用できます。これはAngular2とは関係ありません。

Plunker

@Component({ 
    selector: 'my-app', 
    styles: [` 
     .background-image{ 
      position: absolute; 
      top: 0px; 
      left: 0px; 
      width: 100%; 
      height: 100%; 
      z-index:-2; 
     } 
     .background-image:after { 
      content: ' '; 
      z-index: -1; 
      top: 0px; 
      left: 0px; 
      width: 100%; 
      height: 100%; 
      position: absolute; 
      background-size: cover; 
      background-position: center; 
      background-color: rgba(0, 0, 0, 0.2); 
     }, 
    `], 
    template: 
      ` 
      <h1>Hello Angular</h1> 
      <div class="background-image" style="background-image : url('http://v4.pingendo.com/assets/photos/food/cover-1.jpg')"> 
      </div> 
      `, 
}) 
export class AppComponent { } 
+0

ありがとう@Abdulrahman、私はなぜあなたのソリューションが動作し、私のことはわかりません。ここに私のプランカー[リンク]へのリンクがあります(http://plnkr.co/edit/5HxQjQSAiXl5AUhty13w?p=preview) – MJDude

+0

@MJDude擬似 ':after'を使用すると、現在のものの後ろに別の' div'を追加するようなものです。新しく追加されたものが元のものよりも上にあります。 ':after'はz-index:-1で、元のz-indexは-2です。だから、彼らを2つの異なる部門と考えるのが助けになるでしょう。上記のものは背景色を持っていますが、下のものはあなたのプランナーの背景画像 – Abdulrahman

+0

@MJDudeを持っています。背景色と背景画像は同じdivにあります。これは、背景色を背景色の上にする。 – Abdulrahman

0

私は不透明度/フィルタのために行くことを好みません。

私は次のようにブラウザのほとんどをサポートして背景画像に不透明度を置くための最良の方法だと思います:最低のzインデックスを持つ100%の高さと幅でimgタグを使用して

  1. と不透明度または他の追加あなたが欲しいものは何でもcss。 imgタグを使用すると、検索エンジンの可視性も向上します。
  2. 私は検索エンジンの可視性を望まない場合は、複数の背景を使用します。

    背景:背景:rgba(255,255,255,037)、url( 'img/img.png');

関連する問題