bootstrap v4 sass 設計の解釈
まず第一に、bootstrap が v3 の less から v4 の sass に変更された理由は 100,000 個ありますが、今のところここではリストしません。別の記事を書く予定です(less、sass、postcss)。
第二に、この記事は主に次の目標に焦点を当てています:
- bootstrap 4 の Sass 設計全体を理解する
- bootstrap v4 のスタイルの使用方法と変更方法
- ブートストラップの Sass 設計を改善する方法
最後に、特定のコードの実装の詳細には立ち入らず、アーキテクチャ全体の分析のみを行います
見ていきましょうinto bootstrap v4 sass
1. Bootstrap の sass ファイルはすべて scss ディレクトリに配置されているのはなぜですか?これは主に sass 構文と scss 構文の違いに関係します。scss 構文は css に近いため、より一般的で広く使用されています。詳細については、sass 構文
を参照してください。 2. scss ファイルには、_variables.scss のようにアンダースコアで始まるファイルと、bootstrap.scss のようにアンダースコアなしで始まるファイルの 2 種類があります。 2 つは、前者はインポートされたファイルがデフォルトでは対応する CSS ファイルにコンパイルされないことを意味し、後者は対応する CSS ファイルをコンパイルすることを意味します。したがって、2 つのファイル _a.scss と b.scss がある場合、デフォルトのコンパイル結果は b.css ファイルのみになります。 b が _a.scss のスタイルを使用したい場合は、インポート関数 @import a (インポートされたファイルはアンダースコアとファイル接尾辞を省略できます)。詳細については、sass 構文
を参照してください。 3. scss ディレクトリ全体をコンパイルすると、bootstrap.css、bootstrap-flex.css、bootstrap-reboot.css、bootstrap の 4 つの CSS ファイルを取得できます。 -grid .css の場合、これら 4 つの CSS スタイルは、次の 4 つの scss ファイルから生成されます。
-
bootstrap-reboot はリセット スタイル、bootstrap-grid はグリッド スタイルである場合、これら 2 つは自由な別のスタイルとみなすことができます。シナリオ ブートストラップ スタイル全体を使用したくないが、リセットまたはグリッド システムを使用したい場合は、これら 2 つを直接使用できます。
-
bootstrap と bootstrap-flex の違いは、前者は従来のレイアウト方式を使用するのに対し、後者は flex 方式を使用するため、実際の状況に応じて使用することを選択できることです。 。上の図からわかるように、bootstrap.scss をインポートする前に、bootstrap-flex.scss は $enable-flex: true
をリセットします。 4. bootstrap.scss を開くと、さまざまな内容が表示されます。ファイルがインポートされ、全体が 6 つの大きなブロックに分割されます。
- 変数 & ミックスイン: 変数とミックスイン ファイルを紹介します。その中で、_mixin.scss ファイルは、 mixin ディレクトリ ファイル
- reset: 正規化ファイルと印刷ファイルを紹介します。
- core: グリッド、フォーム、テーブル、ボタンなどの基本的なスタイル ファイルを紹介します。
- component: 紹介します。 nav 、card、breadcrumb などのコンポーネント ファイル。
- component js: モーダル、ツールチップなど、js コントロールを必要とするコンポーネント ファイルを導入します。
- utility: いくつかのクラス ファイルを導入します。サイト全体で、clearfix、center-block などのいくつかの共通クラスが含まれています。
bootstrap v4 のスタイルの使用方法と変更方法
詳しい方もちろん、sass に詳しくない場合でも、sass を直接使用できます。コンパイルされた bootstrap.css はディレクトリ dist/css にあります。
まず CSS を直接使用する方法について説明します。
- について説明します。ブートストラップ スタイルを変更する必要がある場合は、style.css などの別のスタイル シートを作成して、ブートストラップ スタイルをオーバーライドできます。 bootstrap.css スタイルシートを直接変更して開くことは推奨されません。
- sass で書かれているので、もちろん、より高品質な Sass を選択することもできます。sass には 2 つの変更方法もあります。 1 つは非破壊的で、もう 1 つは破壊的です。
破壊的なものについては、満足できないものを修正するだけです。簡単な方法はありません。非破壊的な使用方法の変更について説明します。次のメソッドを使用できます。
すべてのブートストラップ scss ファイルをブートストラップ ディレクトリに配置します。
style.scss コードは次のとおりです。 >
scss bootstrap 目录 (原先bootstrap中scss目录所有文件) bootstrap.scss ... mixin目录 ... _custom-variables.scss (自定义的变量,或覆盖bootstrap的变量) _custom-mixin.scss(自定义的mixin) style.scss
もちろん、コードに執着している場合は、常に未使用のスタイルを削除したくなるので、bootstrap.scss をもう一度取り出して確認するだけでよいのではないでしょうか。不要なスタイルを削除してインポートしますか?将来的にアップグレードを検討する場合は、新しいファイルを作成し、bootstrap.scss の方法に従って必要なものをインポートすると良いでしょう。コンポーネント スタイルについては、必要な場合はインポートし、必要ない場合はインポートしないでください。ただし、コアとユーティリティのスタイルには注意する必要があります。これらの基本スタイルはコンポーネントで使用される可能性があるためです
@charset "UTF-8";// 导入文件@import "custom-variables";@import "custom-mixin";@import "bootstrap/bootstrap";Bootstrap v4 の設計で Sass を改善する方法
個人的な実践経験の観点から、Bootstrap v4 には次の欠陥があると感じます: (個人的な意見にすぎません)
- すべてのコンポーネント ファイルをコンポーネント ディレクトリに配置し、ユーティリティ ファイルをユーティリティ ディレクトリに配置するなど、ディレクトリをさらに計画することができます。これにより、少し散在して少し乱雑に見えるようになります。
- % デザインはありません。個人的には、% デザインはスタイル宣言、特に互換性のある短いコードを組み合わせるのに非常に効果的だと思います。
- 変数とミックスインの機能を統合した scss ファイルを提供できるため、新しいスタイル ファイルを簡単に作成し、この統合されたファイルを直接インポートできます
- コンポーネントの変数 変数ファイルに配置するのではなく、コンポーネントのみが使用するため、それぞれのコンポーネント scss に配置できることを明記する必要があります。これにより、変数ファイルが肥大化します
- もあります。多くの mixin デザイン、同じサイズでも mixin ファイルがあり、少し多すぎるように感じます
上記の見解は、私の個人的な Sass ベーシック ライブラリ サンダルに反映されています。練習するには、Sandal をベースにしたモバイル UI ライブラリである sheral に移動してください。興味がある場合は、ご覧ください。

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ホットトピック









