-1

可能であれば、html5とcssを使用して作成したいものは次のとおりです。

赤いオブジェクトが形で、それ以外はすべて透明である必要があるため、背景がその背後に表示されます

赤いオブジェクトは形状で、それ以外はすべて透明にする必要があるため、背景が表示されます。CSS マスクや角を丸くすることで実行できると思いますが、機能させることができませんでした。

4

2 に答える 2

0

編集:[提案された透明な背景ソリューション]

CSS:

.outer{
    width: 240px;
    background: rgba(0,0,0,0.0);
    height:240px;
    border-right: 120px solid red;
    border-bottom: 30px solid red;
    position: relative;
    z-index:1;
}

.outer:after {
    content: '';
    width: 240px;
    height:240px;
    border-radius: 0px 0px 50px 0px;
    -webkit-border-radius: 0px 0px 50px 0px;
    -moz-border-radius: 0px 0px 50px 0px;
    -o-border-radius: 0px 0px 50px 0px;
    -khtml-border-radius: 0px 0px 50px 0px;
    background: rgba(0,0,0,0.0);
    position: absolute;
    top: -30px;
    left: -30px;
    z-index:2;
    border: 30px solid #ccc;
}

HTML

<div class="outer"></div>​

ワーキングデモ

于 2012-09-05T04:13:54.240 に答える
-2

CSSマスクを使用したこの問題の実用的な解決策は次のとおりです。実施例。左下のボックスにある [共有] または [ニュース] をクリックして、実際の動作を確認します。要素 ispector から #smallScaleHolder の mask-image を無効にして、違いを確認します。

わかりました...これについてのより良い説明は次のとおりです...私はこのようなマスクを作りました...ここに画像の説明を入力

そして、ここにcssがあります:

    -webkit-mask-image: url(../img/sliders/mask.png);
    -o-mask-image: url(../img/sliders/mask.png);
    -moz-mask-image: url(../img/sliders/mask.png);
    mask-image: url(../img/sliders/mask.png);
     -webkit-mask-composite: copy; 
     overflow:hidden;

これで、すべての子要素が黒い領域の外に表示されなくなりました。

注: css マスクは chrome 、safari および ios でのみサポートされています。

于 2012-09-05T14:08:13.983 に答える