既存のUIkitウェブサイトを最新バージョンに移行します。
カスタムUIkitスタイルを作成し、`*-color-mode` 変数をオーバーライドした場合、それが `light` または `dark` に設定されていることを確認してください。 `none` に設定したり、空にすることはできません。
UIkit 3.18 では、プライマリおよびセカンダリスタイルモディファイアと同様に、セクション、タイル、カード、オーバーレイコンポーネントのデフォルトおよびミュートスタイルモディファイアに新しい `*-color-mode` Less変数が導入されました。デフォルトのUIkitスタイルには明るい背景があるため、そのカラーモード変数はデフォルトでdarkに設定されています。カラーモード変数が反対の色に変更される暗いカスタムUIkitスタイルがある場合は、新しいカラーモード変数もlightに変更する必要があります。
// For dark UIkit styles only
@card-default-color-mode: light;
@overlay-default-color-mode: light;
@section-default-color-mode: light;
@section-muted-color-mode: light;
@tile-default-color-mode: light;
@tile-muted-color-mode: light;
スクロールコンポーネント は、スティッキー要素、例えばスティッキーナビゲーションバーの高さを、スクロールターゲットへのオフセットとして自動的に追加するようになり、スティッキー要素で覆われないようになりました。スティッキー要素に既にオフセットがある場合、`offset` オプションが加算されます。つまり、ナビゲーションバーがスクロールターゲットを覆わないようにするために、offsetオプションを設定する必要がなくなりました。
グリッドコンポーネント に、新しい組積造 `pack` モードが追加されました。これは、アイテムを最もスペースのある列にソートします。後方互換性を維持するために、組積造を `true` に設定すると、新しい `pack` モードが使用されます。以前のようにアイテムを自然な順序で表示するには、`next` モードを使用します。
UIkit 3.16 は、ドロップコンポーネント のいくつかのクラスを簡略化します。以下のクラスを置き換えて、マークアップを更新してください。
クラス | 置換 |
---|---|
uk-dropdown-close |
uk-drop-close |
uk-dropdown-grid |
uk-drop-grid |
uk-navbar-dropdown-close |
uk-drop-close |
uk-navbar-dropdown-grid |
uk-drop-grid |
ドロップダウン、ドロップバー、ナビゲーションバードロップダウンのCSSは、ドロップコンポーネントに基づくようになりました。そのため、個別の `z-index` Less変数はなくなりました。カスタムUIkitテーマでこれらの変数のいずれかを使用している場合は、それらを置き換える必要があります。
Less変数 | 置換 |
---|---|
@dropdown-z-index |
@drop-z-index |
@dropbar-z-index |
@drop-z-index |
@navbar-dropdown-z-index |
@drop-z-index |
UIkit 3.15 の ナビゲーションコンポーネント は、親アイコンをCSSにコンパイルする代わりに、JavaScriptコンポーネントを使用してナビゲーションアイテムの親アイコンを作成するようになりました。 ` .uk-nav-parent-icon` クラスを検索し、マークアップから削除します。代わりに、子を持つ各ナビゲーションアイテムに `uk-nav-parent-icon` 属性を持つ `span` を使用します。簡単な例を次に示します。
<ul class="uk-nav-default" uk-nav>
<li class="uk-parent">
<a href="#">Parent <span uk-nav-parent-icon></span></a>
<ul class="uk-nav-sub">…</ul>
</li>
</ul>
ドロップコンポーネント、ドロップダウンコンポーネント、ナビゲーションバーコンポーネントコンポーネントは、`pos` オプションから配置 `*-justify` を削除します。 `pos: top-justify`、`pos: bottom-justify`、`pos: left-justify`、`pos: right-justify` を検索し、代わりに新しい `stretch` オプションを使用します。
オプション | 置換 |
---|---|
pos: top-justify |
pos: top-left; stretch: x |
pos: bottom-justify |
pos: bottom-left; stretch: x |
pos: left-justify |
pos: left-top; stretch: y |
pos: right-justify |
pos: right-top; stretch: y |
`boundary-align` オプションも削除されます。 `boundary: SELECTOR` と `boundary-align: true` の組み合わせを検索し、`boundary` と同じセレクターを持つ新しい `target` オプションを代わりに使用します。
オプション | 置換 |
---|---|
boundary: SELECTOR; boundary-align: true |
target: SELECTOR |
`flip` オプションは、`flip` と `shift` の2つのオプションに分割されます。次のようにオプションを更新します。
オプション | 置換 |
---|---|
flip: false |
flip: false; shift: false |
Position が `top-*` または `bottom-*` の場合
オプション | 置換 |
---|---|
flip: x |
flip: false |
flip: y |
shift: false |
Position が `left-*` または `right-*` の場合
オプション | 置換 |
---|---|
flip: x |
shift: false |
flip: y |
flip: false |
`display` オプションは削除されました。代わりに `auto-update` を使用します。
オプション | 置換 |
---|---|
display: static |
auto-update: false |
display: dynamic |
auto-update: true |
ナビゲーションバーコンポーネントのドロップバーのスタイルを削除し、代わりに新しいドロップバーコンポーネントを使用するようになりました。このため、ナビゲーションバーコンポーネントは ` .uk-navbar-dropbar` クラスに加えて、`.uk-dropbar` と `.uk-dropbar-top` を設定します。ドロップバーのマークアップを手動で配置する場合は、これらのクラスを自分で追加する必要があります。
Lessでは `@navbar-dropbar-background` 変数を削除したので、背景を設定するには、代わりに `@dropbar-background` 変数を使用します。ナビゲーションバードロップバーに適用したその他のスタイルも必ず追加してください。
次のLess変数も名前が変更されました。カスタムLessテーマを使用している場合は、これらのLess変数を検索して置換してください。
Less変数 | 置換 |
---|---|
@offcanvas-bar-width-m |
@offcanvas-bar-width-s |
@offcanvas-bar-padding-vertical-m |
@offcanvas-bar-padding-vertical-s |
@offcanvas-bar-padding-horizontal-m |
@offcanvas-bar-padding-horizontal-s |
@nav-primary-item-font-size |
@nav-primary-font-size |
@nav-primary-item-line-height |
@nav-primary-line-height |
@navbar-dropdown-dropbar-margin-top |
@navbar-dropdown-dropbar-padding-top |
@navbar-dropdown-dropbar-margin-bottom |
@navbar-dropdown-dropbar-padding-bottom |
UIkit 3.14 は、スティッキーコンポーネント の `top` および `bottom` オプションの名前を `start` および `end` に変更します。
オプション | 置換 |
---|---|
top |
start |
bottom |
end |
また、スティッキーコンポーネント から `position: auto` オプションを非推奨にします。代わりに、新しい `overflow-flip: true` オプションを使用してください。
オプション | 置換 |
---|---|
position: auto |
overflow-flip: true |
UIkit 3.12 は、画像コンポーネント の `<img>` 要素から `uk-img` を非推奨にします。代わりに、ネイティブの `loading="lazy"` 属性を使用してください。これは、`uk-img` がスライドショーまたはスライダー内の隣接するスライドをターゲットにするために使用される場合にも適用されます。スライドショーとスライダーの両方のコンポーネントは、遅延読み込み画像をそのまま使用できます。
属性 | 置換 |
---|---|
uk-img |
loading="lazy" |
**重要** この変更により、レイアウトのずれを防ぐために、`<img>` 要素に `width` および `height` 属性を設定する必要もあります。
UIkit 3.11 は、パララックスコンポーネント に新しい `start` および `end` オプションを追加し、`viewport` オプションを非推奨にします。 `viewport` オプションを `end` オプションに置き換えます。ビューポート値を1から差し引き、`100vh + 100%` を掛けます。いくつかの例を次に示します
ビューポート値 | 終了値 |
---|---|
0.6 |
40vh + 40% |
0.5 |
50vh + 50% |
0.3 |
70vh + 70% |
UIkit 3.5 では、名前に `xxlarge` が含まれるすべての Less 変数とクラス名が、一貫性を向上させるために `2xlarge` に名前変更されました。カスタム Less テーマを使用している場合は、これらの Less 変数を検索して置換してください。マークアップで更新する必要がある 幅コンポーネント には、クラスが1つだけあります。
クラス | 置換 |
---|---|
uk-width-xxlarge |
uk-width-2xlarge |
UIkit 3.3 は、コンテナコンポーネント にデフォルト値として幅 `1600px` の新しい `uk-container-xlarge` クラスを追加します。このため、クラス `uk-container-large` は幅を `1600px` から `1400px` に変更します。次のクラスを置き換えて、マークアップを更新します。
クラス | 置換 |
---|---|
uk-container-large |
uk-container-xlarge |
UIkit 3.2 は テキストコンポーネント に新しい `uk-text-bolder` クラスを追加したので、クラス `uk-text-bold` は `bolder` の代わりに文字通り `bold` フォントウェイトを適用するようになりました。 `bolder` に設定されていた `@text-bold-font-weight` 変数は削除されました。
UIkit 3.1 は `@deprecated` Less 変数を追加します。デフォルトでは `false` に設定されており、非推奨のクラスは CSS にコンパイルされません。
後でマークアップを更新して、新しいクラスと一緒に非推奨のクラスを使用する場合は、カスタムUIkitテーマで変数をtrue
に設定してください。
@deprecated: true;
見出しコンポーネントのプライマリクラスとヒーロークラスは非推奨です。次のクラスを置き換えて、マークアップを更新してください。
クラス | 置換 |
---|---|
uk-heading-primary |
uk-heading-medium |
uk-heading-hero |
uk-heading-xlarge |
Uikit 3は、ブラウザで実行され、既存のUikit 2サイトからの必要な変更をすべてリストする移行ツールを提供します。ツールを実行するには、ブックマークを使用するか、単一のJavaScriptファイルを含めるかの2つのオプションがあります。必要な移行の変更は、ブラウザのコンソールにリストされます。
移行ツールを使用する最も簡単な方法は、ブラウザのブックマークを使用することです。ブックマークをクリックするだけで、移動先の任意のページでスクリプトを実行できます。次のリンクをブラウザのブックマークセクションにドラッグしてください。
ブックマークバーにドラッグ UIkit 3 移行
または、次のコードをURLとして使用して、ブックマークを手動で作成することもできます。
javascript: (function () {
var script = document.createElement('script');
script.setAttribute('src', 'https://uikit.dokyumento.jp/migrate.min.js');
document.body.appendChild(script);
}());
必要なJavaScriptをWebサイトにロードすることによっても、移行ツールを実行できます。この方法では、移行スクリプトは常にWebサイトにロードされます。移行が完了したら、これを削除することを忘れないでください。終了</body>
タグの直前に次の行を追加します。
<script src="https://uikit.dokyumento.jp/migrate.min.js"></script>
移行を開始するには、WebサイトのUIkit 2ファイルをUIkit 3の同等のファイル(JSとCSSの両方)に置き換え、上記のいずれかのソリューションを使用して移行ツールを実行します。マークアップの変更方法については、ブラウザの開発者コンソールを開いてください。変更する必要があることを示す警告と通知のリストが表示されます。メッセージの横にある矢印をクリックすると、必要な変更の詳細を確認できます。
すべての通知または警告メッセージは、影響を受けるすべてのHTML要素のリストを含め、変更する必要があることを示しています。より複雑な変更は、理解しやすい例で説明されています。移行する最良の方法は、コンポーネントを1つずつ修正することです。そうすることで、ページをリロードした後にエラーメッセージが消えたかどうかを確認し、サイトの変更を確認することもできます。
警告は、UIkit 3でサポートされなくなったか、変更されたすべてのCSSクラスまたはJavaScript属性を強調表示します。WebサイトをUIkit 3に移行するには、これらの警告を修正する必要があります。
通知は、サイトを壊さない可能性のある潜在的な問題を強調表示します。一部の通知は、変更をまったく必要としない場合があります。これは、UIkit 2の一部の名前がUIkit 3にまだ存在するものの、現在は異なるコンポーネントに属しているか、異なるセマンティクスを持っているという事実が原因です。これは、正しいマークアップかどうかを判断するために使用するセレクターでは検出できないため、調べて、すでに変更したのか、まだ修正する必要があるのかを判断する必要があります。