2012-06-08 14 views
15

これは可能です。HTML/CSS:「背景を見る」テキスト?

私は背景イメージを持っています。その上に、私はコンテンツのための透明な灰色のボックスを持っています。テキストの先頭にタイトルを付けると、基本的にはの背景にあるの文字が表示されます。したがって、テキストは灰色のボックスを削除し、背景が透けて見えるようにします。

私が見ることができる唯一のハッキーなやり方は、同じ灰色の背景に文字の透明な画像を作成し、それを何とか灰色のボックスに揃えることです。

他にも良い方法がありますか?

+1

CSS 3の不透明度プロパティを使用すると役立ちます。 http://www.w3schools.com/css/css_image_transparency.asp – Celeritas

+1

なぜ「ハッキー」ですか?それは透明性のあるレイヤーです。 –

+1

私が考えることができる唯一の方法はWebKitだけです。それは大丈夫ですか? – Ryan

答えて

17

一方向は-webkit-background-clip: text;demo here(明らかにウェブキットのみ)です。位置を使用して

、我々は両方の背景を同期することができます。

#container, #container h1 { 
    background: url(bg.png) 
} 

#container { 
    position: relative; 
} 

#container #gray { 
    background: rgba(0,0,0,.8); 
    padding-top: 8em; 
} 

#container h1 { 
    font-size: 8em; 
    padding-top: /* padding + border of div */; 
    position: absolute; 
    -webkit-text-fill-color: transparent; 
    -webkit-background-clip: text; 
}​ 

それとも、同じアプローチを使用し、すべての最新ブラウザで動作しますsvg maskを、適用することができます。

+2

それは実際にはChromeで素晴らしいです。 –

+0

Webkitには完璧に見えます - 非WebkitにCVGを使用する方法を詳しく説明できますか? – mtyson

+1

@mtyson http://jsfiddle.net/NT7z7/12/ソースをきれいに保つために、SVGを生成するためにいくつかのjを使用する必要があります。 – jasssonpet

関連する問題