このようなものを CSS/CSS3 または javascript だけで取得することは可能ですか? しかし、テキストの画像はありません。
質問する
2375 次
2 に答える
4
古いブラウザのサポートが限られているため、テキスト クリッピングを使用してこれを実現できます。
このhtmlの場合:
<div class="filter">
<div class="base">SOME TEXT</div>
</div>
そのCSSで:
.filter {
width: 250px;
height: 250px;
background: -webkit-linear-gradient(-45deg, black 0%,black 50%,white 51%,white 100%);
}
.base {
width: 100%;
height: 100%;
font-size: 80px;
background: -webkit-linear-gradient(-45deg, white 0%,white 50%,black 51%,black 100%);
-webkit-background-clip: text;
color: transparent;
}
ベース (最初の div の反転色) から背景を取得して、テキストのみを表示します。
編集
単一の要素で実行できることがわかりました。スタイルは次のようになります。
.base {
width: 100%;
height: 100%;
font-size: 80px;
background: -webkit-linear-gradient(-45deg, white 0%,white 50%,black 51%,black 100%), -webkit-linear-gradient(-45deg, black 0%,black 50%,white 51%,white 100%);
-webkit-background-clip: text, border;
color: transparent;
}
于 2013-04-22T18:24:57.500 に答える
2
CSS でこれを実現するには、グラデーションを使用する必要があります。1 つは背景用、もう 1 つはテキスト用で、グラデーションは一定になります。それらを生成するには、これを参照してください: http://www.colorzilla.com/gradient-editor/これを生成するには:
background: #000000; /* Old browsers */
background: -moz-linear-gradient(-45deg, #000000 0%, #000000 50%, #ffffff 51%, #ffffff 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#000000), color-stop(50%,#000000), color-stop(51%,#ffffff), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(-45deg, #000000 0%,#000000 50%,#ffffff 51%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(-45deg, #000000 0%,#000000 50%,#ffffff 51%,#ffffff 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(-45deg, #000000 0%,#000000 50%,#ffffff 51%,#ffffff 100%); /* IE10+ */
background: linear-gradient(135deg, #000000 0%,#000000 50%,#ffffff 51%,#ffffff 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
それでも直面する主な問題は、テキストの色を反対にするために背景画像を「検出」できないことです。
背景を検出したい場合は、Webkit -webkit-background-composite を調べることができます。これには、複合効果用の XOR と plus-darker と plus-lighter があります。
お役に立てれば。
于 2013-04-22T11:42:28.720 に答える