link要素で外部スタイルシートを指定する際に代替スタイルシートの指定を固定・優先スタイルシートの指定より先に行うと、代替スタイルシートが固定スタイルシートであるかのように扱われてしまうことがある。
- Category: Mac, Safari, ver.3 Under
例示
<head>
<link rel="alternate stylesheet" type="text/css" href="......" title="......">
<link rel="stylesheet" type="text/css" href="......">
</head>
このように代替→固定(優先)の順にスタイルシートを指定すると、まれに代替スタイルシート内のスタイル指定が初めから適用されてしまうことがあるそうです。
修正状況
Safari(v85.6 OS10.2)で不具合が発生するそうです。
報告書き込み
safari
link要素にtype属性を指定した上で外部CSSを読み込んだ場合、
先頭に記述したlink要素を固定スタイルシートとして認識する。
<link rel="ALTERNATE STYLESHEET" type="text/css" href="daitai.css" title="代替スタイル">
<link rel="STYLESHEET" type="text/css" href="kotei.css">
とすると、kotei.cssとdaitai.cssの両方が読み込まれる。
<link rel="ALTERNATE STYLESHEET" type="text/css" href="daitai.css" title="代替スタイル">
<link rel="STYLESHEET" type="text/css" href="yusen.css" title="優先スタイル">
とすると、daitai.cssのみが読み込まれる。
Safari(v85.6 OS10.2)については、
「代替スタイルシートを、優先・固定スタイルより先に記すと、
代替が固定として認識されることがありうる」
でした。
代替の後ろに記述するのが優先なら確率1/2くらい、固定なら1/3?5くらい。
同じソースをリロードする度に、表示が変わるけど、法則と原因は不明。
昨日はtype属性を消してみたり、記述順を変えたり、いろいろな条件を試していて、
偶然、type属性を記述した時にのみ、症状が出ていた様子。


