web-dev-qa-db-ja.com

CSS-テキストの各文字の周りに黒いアウトラインを追加することは可能ですか?

各文字の周りに黒のアウトラインを追加したいので、前景と同じ色の背景のフォントIDがまだ読みやすい場合。

これは、ブラウザ固有のCSSの有無にかかわらずCSSで実行できますか?

37
Justin808

CSS 2.1でシミュレートできます text-shadow プロパティ:

p {
    color: #fff;
    text-shadow: 1px 0 0 #000, 0 -1px 0 #000, 0 1px 0 #000, -1px 0 0 #000;
}

もちろん、これはIE9以下ではサポートされていません。参照: http://www.jsfiddle.net/yijiang/UCjgg/ 簡単なデモ。

58
Yi Jiang

-text-stroke を使用して、テキストアウトラインを追加する明示的な-webkitの方法があります。これは、同等の標準化トラック提案(CSS3仕様ドキュメントではテキストアウトラインと呼ばれます)の実験的な実装です。

2
Michael Mullany

始める前に、 Yi Jiang's answer があなたの質問に対する正しいものであるということをはっきりさせたいと思います。


これを行うための互換性のある方法が必要な場合、私が考えることができる唯一の方法は、 設計によるアウトラインを持つフォント を使用することです。

GoogleのFont API を使用して、非常に互換性のあるソリューションを作成することもできます。

幸運を!

0
Trufa

text-stroke広くサポートされるように、必要なtext-shadowプロパティを生成するための非常に優れた "text-shadow hack"ジェネレーターがあります。

https://owumaro.github.io/text-stroke-generator/

h1 {
  color:#00ff19;
text-shadow: rgb(0, 0, 0) 3px 0px 0px, rgb(0, 0, 0) 2.83487px 0.981584px 0px, rgb(0, 0, 0) 2.35766px 1.85511px 0px, rgb(0, 0, 0) 1.62091px 2.52441px 0px, rgb(0, 0, 0) 0.705713px 2.91581px 0px, rgb(0, 0, 0) -0.287171px 2.98622px 0px, rgb(0, 0, 0) -1.24844px 2.72789px 0px, rgb(0, 0, 0) -2.07227px 2.16926px 0px, rgb(0, 0, 0) -2.66798px 1.37182px 0px, rgb(0, 0, 0) -2.96998px 0.42336px 0px, rgb(0, 0, 0) -2.94502px -0.571704px 0px, rgb(0, 0, 0) -2.59586px -1.50383px 0px, rgb(0, 0, 0) -1.96093px -2.27041px 0px, rgb(0, 0, 0) -1.11013px -2.78704px 0px, rgb(0, 0, 0) -0.137119px -2.99686px 0px, rgb(0, 0, 0) 0.850987px -2.87677px 0px, rgb(0, 0, 0) 1.74541px -2.43999px 0px, rgb(0, 0, 0) 2.44769px -1.73459px 0px, rgb(0, 0, 0) 2.88051px -0.838247px 0px;
}
<h1>yayyy text</h1>
0
FelDev