文字詰めCSS font-feature-settings
テキストの文字詰めをしたい時に役立つのがfont-feature-settings
プロパティ。
font-feature-settings: "palt" 約物を含む和文の字間を詰める font-feature-settings: "pkna" 仮名系のみ字間を詰める
この2種の設定方法があります。
文字詰した方が見やすい場合もありますが、そうでない場合もあるのでその場合はletter-spacing
で調節するのが良さそうです。
ほとんどのブラウザで対応されていますが、webフォント等の影響で文字が崩れたりする場合があるので注意しましょう。
文字詰時の参考になるサンプルページがあったので載せておきます。
折り返し制御するcss
長いテキストや長いURLを途中で折り返す時にcssで設定する主なプロパティが
word-break: break-all
または
word-wrap: word-break; overflow-wrap: word-break;
word-wrap
とoverflow-wrap
を併記していますが、word-wrap
からoverflow-wrap
へと改称されたためです。ブラウザによってoverflow-wrap
がサポートされていなかったりするので、word-wrap
も一緒に記載すると良いです。
それぞれ名前が似ていますが、挙動が違います。
word-break: break-all
好ましくない位置でテキストを折り返してしまうことがあります。
例えばor
のような単語でも、or
が行ボックスの幅からあふれそうな位置にあれば、あふれる直前で折り返すためo
とr
の途中で折り返してしまいます。
word-wrap: break-word
単語の途中で折り返さないと行ボックスの幅からあふれてしまうときのみ、その単語の途中で折り返します。 可能な限り折り返しを避けることができます。
Cache-Control max-age=0 no-cache
ブラウザのキャッシュを制御するのに設定するのが、Cache-Control
。
Cache-Control: max-age=N
のようにしてレスポンスヘッダに設定して使います。
設定方法に、Cache-Control: max-age=0
とCache-Contro: no-cache
があるのですが、二つともキャッシュ制限してないようにみられます。
ですが、それぞれ同じようで挙動が違うので書き留めておきます。
max-age=0
validateして最新と判定できたならキャッシュを返します。最新なら304 を返します。
no-cache
no-cacheはcache
を使うことを許していません。なのでvalidateすらせず200で返すように促します。
rel="noreferrer"
先日の記事でrel="noopener
について記述しました。
今回は補足として、rel="noopener noreferrer"
と設定する事がより良い事がわかりました。
noopnener
はIE/Edgeやある端末ブラウザで対応していません。
Can I use... Support tables for HTML5, CSS3, etc
代替としてnoreferrer
でリファラーを送信しなくなるので設定しておくのが望ましいです。
rel="noopener"
aタグにtarget="_blank"
を設定している場合は、rel="noopener"
をつけておくのがよさそうです。
というのも、遷移先のページのjavascriptで元のページを操作することができてしまうそうです。
遷移先でwindow.opener.location=hogehoge
としてあると元タブのページはでhogehogeのページ飛ばすことができてしまったりします。
そのような悪質な行為を防ぐために、target="_blank"
で別タブでページを開く場合はrel="noopener"
をつけておく事をオススメします。
Cache-Control immutable max-age
Cache-Controlにmax-age
を指定することで、ブラウザにリソースをキャッシュさせることができます。
ブラウザはmax-age
に満たないキャッシュを持っていてもConditional GET
によってキャッシュの有効性の問い合わせを行います。
Immutableは、キャッシュがmax-age
内であればリロード時もキャッシュヒットさせることができます。
max-age
の期間内はfresh
とみなされ、 fresh
であればサーバへの問い合わせなく再利用されます。
サーバへの問い合わせが無いため、事実上最速のリソース取得が可能になります。
Cache-Control: max-age=10000, immutable
のように設定されていると、キャッシュをImmutableと指定することができ、ブラウザはキャッシュが fresh であればリロード時でもヒットさせるようになります。
PageSpeed Insightsでもキャッシュの期日設定をした方が良いと言われることもあるので、前向きに設定しましょう。