私は、多くの透明性が関係するWebサイトで作業しており、完全にRGBAで構築してからIEのフォールバックを実行しようと思っていました。 「フェイスボックス」スタイルのボーダーエフェクトが必要です。外側のボーダーは丸みがあり、周囲のボックスの背景よりも不透明度が低くなっています。
http://24ways.org/2009/working-with-rgba-colour の最後の例は、それが可能であることを示唆しているようですが、私はそれを機能させることができないようです。私が次のことを試みると:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>RGBA Test</title>
<style type='text/css'>
body {
background: #000;
color: #fff;
}
#container {
width: 700px;
margin: 0 auto;
background: rgba(255, 255, 255, 0.2);
border: 10px solid rgba(255, 255, 255, 0.1);
padding: 20px;
}
</style>
</head>
<body>
<div id='container'>
This should look like a facebox.
</div>
</body></html>
要素の境界線の下に背景が「伸びる」ようで、ピクセル値が加算されます。したがって、背景と境界線の両方が半透明の場合、境界線は常に要素の背景よりも不透明になります。これは私が達成しようとしていることの正反対ですが、私が見た例に基づいてそれは可能であるように思われます。
また、コンテナー内でborder-radiusを使用して角を丸くするので、コンテナー内で別の要素を使用できないことも追加する必要があります。また、背景がある場合、webkitは子要素の角を正方形にします。割り当てられます。これは、基本的に正方形の内容を持つ丸い外側の境界線を意味します。
申し訳ありませんが、この画像を投稿することはできません...画像を投稿するのに十分な担当者がいないようです。
新しいbackground-clip: padding-box;
プロパティを使用してこれを実行します。ボックス内の背景の開始位置を計算します。詳細と例については、 ここ を確認してください
Firefoxでこれをテストすると、あなたの説明が裏付けられます。これの意味を理解するのに少し時間がかかりました!ボーダーは透明度が低くても、ボーダーは(あなたの言うとおり)追加的であるため、その下の透明な背景には影響しません。
その場合は、目的の効果をシミュレートして、アルファよりも多くの色で作業する必要があります。
background: rgba(128, 128, 128, 0.7);
border: 10px solid rgba(0, 0, 0, 0.1);
これを試して:
#container {
width: 700px;
margin: 0 auto;
background: rgba(255, 255, 255, 0.2);
border: 10px solid rgba(255, 255, 255, 0.1);
padding: 20px;
/* and here is the fix */
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}