流動性のある柔軟な曲線のコーナーボックスを作成したい。 理想的には汎用性の高いものでなければならないので、コンテンツはボックスの上部/下部に表示されます。バックグラウンド画像の位置は、IE6の最上部ではなく上部にとどまる
権利によって、4つの要素(div)と1つの画像を使用できるはずです。 私はこれをIE6を除いてほぼすべてのブラウザで動作させることができます。
コードを変更しましたhttp://www.schillmania.com/projects/dialog2/basic.html 次のマークアップとCSSがあります。
<div class="boxtl boxcontent">
<div class="boxtr boxcontentside">tr</div>
<p>This is the top half of the box</p>
<p> content! </p>
<p> content! </p>
</div>
<div class="boxbl boxcontent2">
<div class="boxbr boxcontentside">br</div>
<p>This is the bottom half of the box</p>
<p> content! </p>
<p> content! </p>
</div>
.boxtl, .boxtr, .boxbl, .boxbr {position:relative; zoom:1; background: url(../revised-images/testbox2.png) no-repeat 0 0; _background: url(../revised-images/testbox2ie.png) no-repeat 0 0; height:auto;}
.boxtl {margin-right:20px; }
.boxtr {margin-right:-20px; width:20px; height:20px; position:absolute; left:100%; top:0; background-position: 100% 0; }
.boxbl {margin-right:20px; background-position: 0 100%;}
.boxbr {margin-right:-20px; width:20px; position:absolute; left:100%; top:0; background-position: 100% 100%;}
.boxcontent {padding:20px 0 1px 20px; position:relative; zoom:1; _overflow-y:hidden; width:auto;}
.boxcontentside {height:100%; _height:2000px;}
私は大きな単一のボックス画像(2000px H/W)を使用しました。 この方法の考え方は、私はアルファ透明度(コーナー、陰影等)、無重複等
とを使用することができることです。
問題はIE6です。それは背景画像の垂直方向の位置付けに似ていることを何もしません。私はトップ2のdiv(.tlと.tr)の背景位置を上から50%に変更しようとしましたが、IE6では0にとどまりました。
私はフル/ (バックグラウンドイメージ/バックグラウンドリピート/バックグラウンドポジション)、x/yバージョン(バックグラウンドポジション-x /バックグラウンドポジション-y)などを試しました。
_height :または_overflow-y:IEが必要な高さに伸びるようにするには、画像を垂直方向に配置する能力が犠牲になります。
どうすればいいですか?
私があなただったら、すべてのブラウザで丸みのあるコーナーを実装するためにCSS PIEを使用することを検討します。それは軽量で進歩的なフレンドリーです:http://css3pie.com/documentation/supported-css3-features/ – Dan
@ダン:私はCSSメソッド/ルートが、JSなどに頼るのではなく、欲しいと思っていました。 – theclueless1
さて、上記のCSSと同様に6つのdiv([TL [TR]] [ML [MR]] [BL [BR]])で管理することができます(#Rsに絶対位置を適用し、/MLにオーバーフローする...それは私が得る最高ですね:s – theclueless1