Webフォントを使うときにお世話になっているAdobe Fonts
その中の「貂明朝」(てんみんちょう)というフォントを使ったときに起きた問題について紹介。
発生した問題
MacのFirefoxで開いたときにだけ、color指定をしているにも関わらず文字の色が黒になる。その他のブラウザではIEも含めて問題なく表示されるのになぜかFirefoxだけ、それもMacでのみ問題が起こる。
対処法
配置を変える方法はいくつかあるが、文字色を変える方法はcolorしかない。
そこで文字色を変えるのではなく、背景色を変えて文字で切り抜くという方法をとることにした。
-webkit-background-clipはだいたいのブラウザで使えるがIEでは適用されず塗りつぶしの状態になるので、CSSハックでIEだけ背景色を無しにした。
.tenmincho {
color: #f00; /* 文字色(Firefox以外のブラウザ用) */
background: #f00; /* 背景色(Firefox用) */
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/*
CSSハック(以下はIE11の場合)
*/
@media all and (-ms-high-contrast: none) {
*::-ms-backdrop,
.tenmincho {
background: none;
}
}
注意点として、ここでbackgroundを使うので背景を指定できない。
例えばボタンを作る時に<a>タグで背景色を指定したい場合は<a>タグの中に、さらに<span>などで囲う必要があります。
今のところこの方法以外で対処法が思いつかないです。
というか「なぜ貂明朝だけ」しかも「Firefoxだけ」。
ただ貂明朝のためだけにここまで手間をかけるよりか、近いフォントに変える方がいいのでは?とも思いました。
Shuei Mincho (medium)
https://fonts.adobe.com/fonts/dnp-shuei-mincho-pr6n
Toppan bunkyu
https://fonts.adobe.com/fonts/toppan-bunkyu-mincho-pr6n


