19
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CSSでSan Franciscoを指定する(2017年版)

Last updated at Posted at 2016-12-03

ちょっと前,San FranciscoをCSSで指定する方法がむずかしいという話を見聞きしたので,調べてみました。
話題としては2015年のものですが,当時から若干状況が変わったりしていますのでおさらいがてら眺めてみていただけますと幸いです。

San Franciscoというフォント

iOS9やOS X El Cpitanからシステムフォントとして指定されているフォントです。
もともとはHelveticaが指定されていたのですが,小さいサイズのときに読みにくいという弱点があるらしく,
San Fransiscoがシステムフォントとして指定されたようです。

San FranciscoをCSSで指定する

demo1
demo1はCSSで以下のように指定しています。

body {
    font-family: "San Francisco", Sans-Serif;
}

どうでしょうか,OS Xなみなさんも,macOSなみなさんも,iOSなみなさんも,Arialになっていることがわかると思います。
要するに,San Franciscoというやつは,単にCSSでSan Franciscoと指定しても無駄ということです。

ではどうやって指定するかというと,以下のようにします。

body {
    font-family: -apple-system, Sans-Serif;
}

こんな感じの指定をすると次のようになります。

demo2

あれ?上と変わらないじゃん,と思ったChrome on Macユーザの皆さん。そうなんです。Chromeでは -apple-system という指定ではSan Franciscoが指定されません。
Chromeにも対応させようと思うと,こんな感じになります。

body {
  font-family: -apple-system, 'BlinkMacSystemFont', Sans-Serif;
}

BlinkMacSystemFont はChromeやOpera(レンダリングエンジンがBlinkのブラウザ)でSan Francisco(というよりMacのシステムフォント)を使うという指定です。

demo3

めんどくさいですね。

ちなみに,weightを変えようと思ったら,普通に font-weight を指定すればいいです。

demo4

まとめ

San FranciscoをCSSで指定するときには,次のようにしましょう!!

body {
  font-family: -apple-system, 'BlinkMacSystemFont',  Sans-Serif;
}

なんか,スマートじゃないなぁ…

ちなみに

日本語の指定なんかは,この後ろに追記していくと良いです。例えば,

body {
  font-family: -apple-system, 'BlinkMacSystemFont', 'Hiragino Kaku Gothic ProN', 'メイリオ', Sans-Serif;
}

などなど。

日本語といえば,日本語表示が最適化されたBootstrapテーマ,Honokaがあります。

このHonokaのForkテーマであるところの「Rin」をForkして作りました。
ぜひ使ってみてください💕

参考

19
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?