Web フレームワークは次々と登場しますが、最も有望なものの 1 つは Svelte です。Svelte は React に代わる優れた選択肢であり、すでに大きなコミュニティを擁していますが、間違いなく注目すべきフレームワークです。Svelte は、さまざまなアプローチが用意されているため、アプリのスタイル設定を簡単に行うことができます。
Svelte アプリケーションのスタイル設定
すべての UI ライブラリまたはフレームワークには、そのコンポーネントのスタイルを設定するためのメソッドが必要です。コンポーネントベースのフレームワークのほとんどは、コンポーネントのスタイルを設定する従来の方法をサポートしています。つまり、CSS ファイルをインポートするだけで完了です。Svelte も例外ではありません。Svelte では、それぞれに長所と短所がある 3 つの主要な方法でアプリケーションのスタイルを設定できます。
Svelte プロジェクトの設定
Svelte をインストールするには、フロントエンドビルドツールの ViteJS を使用できます。設定するには、コンピュータに Node.js ランタイムと Node パッケージ マネージャー (NPM) が正しくインストールされていることを確認してください。次のターミナルコマンドを実行して、Node.js と NPM の可用性を確認できます。
node -v
Node が実行されていることを確認したら、ターミナルを開いて次のコマンドを実行します。
npm create vite
または:
yarn create vite
これにより、新しい Vite プロジェクトが作成されます。プロジェクト名を好きな名前に設定し、フレームワークを「Svelte」、バリアントを JavaScript にする必要があります (ただし、TypeScript に慣れている場合は TypeScript を使用できます)。次に、cdコマンドを使用してプロジェクト ディレクトリに切り替え、次のコマンドを実行して必要な依存関係をインストールします。
npm install
または:
yarn
依存関係をインストールしたら、次のコマンドを実行して開発サーバーを起動できます。
npm run dev
または:
yarn dev
プロジェクトのマークアップを定義する
任意のコードエディタでプロジェクトを開き、assetsフォルダーとlibフォルダーを削除します。また、app.cssファイルとApp.svelteファイルの内容を必ず消去してください。main.jsファイルを開き、その内容を次のように置き換えます。
import App from './App.svelte' const app = new App({ target: document.getElementById('app'), }) export default app
次に、App.svelteファイルを開き、scriptタグで次のようなさまざまなリンクを保持する配列を作成します。
<script> let imageLinks = [ "https://images.pexels.com/photos/1170986/pexels-photo-1170986.jpeg", "https://images.pexels.com/photos/1754986/pexels-photo-1754986.jpeg", "https://images.pexels.com/photos/3257811/pexels-photo-3257811.jpeg", "https://images.pexels.com/photos/3643714/pexels-photo-3643714.jpeg", "https://images.pexels.com/photos/755834/pexels-photo-755834.jpeg", "https://images.pexels.com/photos/2928158/pexels-photo-2928158.jpeg", ]; </script>
scriptタグの下に、すべての子「container」div を保持するmain要素を作成します。これにより、すべての画像が保持されます。次に、imageLinksの各要素を反復処理し、各反復処理に対してimage要素をレンダリングします。
<main> <h1>Cute Cat Gallery</h1> <h3>See the cutest images of cats from the internet</h3> <div> {#each imageLinks as url} <div> <img src={url} /> </div> {/each} </div> </main>
マークアップを定義したら、最初のメソッドである直接 CSS インポートを使用してアプリケーションのスタイルを設定します。
直接 CSS インポートを使用した Svelte コンポーネントのスタイル設定
Svelte コンポーネントのスタイルを設定する一般的な方法の 1 つは、外部 CSS ファイルを記述してコンポーネントに直接インポートすることです。scriptタグの最上位レベルで、app.cssファイルを次のようにインポートします。
import "./app.css";
次に、app.cssファイルを開き、「container」クラスの display プロパティを「grid」に設定し、「image-container」クラスのpaddingを 10px に設定します。
.container { display: grid; grid-template-columns: 33.3% 33.3% 33.3%; } .image-container { padding:10px; }
画像を選択してレスポンシブにし、ホバーされた画像に適切なスタイルを追加します。
img { max-width: 100%; height: auto; border-radius: 10px; transition: 250ms; } img:hover { scale: 1.03; transition: 250ms; }
ブラウザでコードを実行すると、次のようになります。
直接 CSS インポートの利点
- 再利用性: CSS を外部ファイルで定義すると、複数のコンポーネントで同じスタイルを簡単に再利用できます。これは、さまざまなコンポーネントで同じスタイルを共有する場合に便利です。
- 柔軟性: Web サイトのデザインを再設計することにした場合、HTML 構造を変更することなく、外部 CSS ファイルのスタイルを更新できます。この懸念の分離により、サイトのデザインを適応させる際に柔軟性が高まります。
直接 CSS インポートの欠点
- 複雑性のカスケード: 外部ファイルで CSS を定義することは強力ですが、外部スタイルが相互に作用すると予期しない競合やオーバーライドが発生する可能性があります。これにより、時間のかかるデバッグとトラブルシューティングが発生する可能性があります。Svelte ファイルにstyleタグを直接使用することで、予期しないスタイルの競合を防ぐことができます。
- 読み込み時間の増加: ユーザーが Web サイトにアクセスすると、HTML ファイルとオプションの JavaScript ファイルに加えて、外部 CSS ファイルをダウンロードする必要があります。これは、読み込み時間に数ミリ秒を追加する可能性がありますが、それほど多くないと思われるかもしれませんが、外部 CSS ファイルが多い場合は累積する可能性があります。
Svelte スタイルタグを使用したスタイル設定
Svelte コンポーネントのスタイルを設定する 2 番目の方法は、Svelte によって提供されるstyleタグを使用することです。構文は次のようになります。
<script> <!-- Your logic goes here --> </script> <!-- Markup goes here --> <style> <!-- styling goes here --> </style>
この方法の 1 つの利点は、スタイルをコンポーネントに適用することです。つまり、1 つのコンポーネントのスタイルは別のコンポーネントのスタイルに影響を与えることがありません。Svelte のstyleタグは最も優先度が高く、特定の要素に対する外部 CSS スタイル設定をオーバーライドすることに注意することが重要です。それを説明するために、App.svelteファイルの最後に次のコードを追加します。
<style> h1 { background-color: red; } </style>
次に、App.cssファイルの最後に次のコードを追加します。
h1 { background-color: yellow; }
ブラウザでコードを実行すると、h1要素が赤の背景色になることがわかります。これは、App.cssファイルで設定された黄色の背景色をオーバーライドしています。
CSS プリプロセッサによるスタイル設定
Svelte コンポーネントのスタイルを設定する 3 番目に人気のある方法は、styleタグで CSS プリプロセッサを使用することです。CSS プリプロセッサには多くの利点があり、高度な関数、ミックスイン、さらにはネイティブ CSS の新機能であるネストされたスタイル設定もサポートできます。
選択できるプリプロセッサは多く、LessCSS、Sass、Stylus などがあります。お気に入りのプリプロセッサを使用するには、次を実行して開発依存関係としてインストールする必要があります。
npm install -D <css-preprocessor>
または:
yarn add -D <css-preprocessor>
実際のプリプロセッサの名前をで置き換えてください。たとえば、Less をインストールしてプロジェクトで使用したい場合は、次のコマンドを実行します。
npm install -D less
または:
yarn add -D less
これを行ったら、styleタグにlang属性を追加して「less」に設定できます。
<style lang="less"> </style>
これで、Less CSS のすべての優れた機能を Svelte コンポーネントのスタイル設定に使用できるようになりました。
Svelte を驚くほどにしているものとは?
すべての Svelte ファイルは「.svelte」拡張子で終わります。Svelte コンパイラは、.svelteファイルに記述されたコードを解析し、ブラウザに送信するための適切な JavaScript と CSS を生成します。このプロセスにより、Web ページが高速化され、ユーザー エクスペリエンスが向上します。
プロジェクトで外部 JavaScript ライブラリを使用したい場合は、.svelteファイルに直接インポートして、ラッパーを必要とせずに使用できます (React とは異なり)。
コメントする