こんにちは!同じ CSS を何度も書いていることに気付いた場合、またはデザインをさまざまな画面サイズでレスポンシブにするのに苦労したことがある場合は、ここが正しい場所です。この記事では、ワークフローをよりスムーズにしてくれる、非常に便利な SASS ミックスインと関数をいくつか紹介します。これらの小さなツールのおかげで、コードを DRY (繰り返さない) に保ち、レスポンシブ デザイン、レイヤー化、キャッシュ無効化などを簡単に行うことができ、時間と労力を大幅に節約できました。
ピクセルからレムへの変換、よりクリーンなレイアウトのための z-index の処理、再利用可能なヘルパー クラスの作成など、あなたのために役立つものがここにあります。プロジェクトに簡単に追加してすぐに使い始めることができる、これらのミックスインと関数について説明します。
これから示す例は改良したり拡張したりすることができ、さらに多様な例をオンラインで見つけることができます。しかし、これらは私が個人的に最もよく使用するものです。飛び込んでみましょう!
- ピクセルからレムへの関数
- レスポンシブ デザイン用のメディア クエリ Mixin
- 階層化のための Z インデックス関数
- 単一または複数の背景画像をキャッシュ無効化
- フォントのキャッシュ無効化
- 絶対位置決め
- テキスト省略記号
- アイテムホバー
- 再利用性のためのヘルパー クラス
ピクセルからレムへの関数
ピクセル値を rem に変換します。
@function rem($pixel) { $convertedValue: ($pixel / 16) + rem; @return $convertedValue; } // Usage div { font-size: rem(32); width: rem(600); }
レスポンシブ デザインのためのメディア クエリ Mixin
メディア クエリを使用したレスポンシブ デザインのための、シンプルで読みやすい mixin の使用法。
@mixin small { @media only screen and (max-width: 768px) { @content; } } @mixin medium { @media only screen and (max-width: 992px) { @content; } } @mixin large { @media only screen and (max-width: 1200px) { @content; } } // Usage .title { font-size: 16px; @include small { font-size: 14px; } @include medium { font-size: 18px; } @include large { font-size: 20px; } }
階層化のための Z インデックス機能
この設定により、レイアウトの柔軟性と拡張性を維持しながら、ビジュアル レイヤーの明確な階層がレイアウトに確保されます。
$z-index: ( dropdown: 6, mobileMenu: 7, stickyHeader: 8, tooltip: 10, modalBackdrop: 11, modal: 12, header: 15, notificationToast: 18, spinner: 20, ); @function z-index($key) { @return map-get($z-index, $key); } .header { z-index: z-index(header); }
単一または複数の背景画像をキャッシュ無効にする
ID を使用して背景画像をキャッシュする
$imageId: unique_id(); @mixin cacheBustBgImages($urls...) { $backgroundImages: (); @each $url in $urls { $backgroundImages: append( $backgroundImages, url("#{$url}?v=#{$imageId}"), comma ); } background-image: $backgroundImages; } // Single Image Usage .hero { @include cacheBustBgImages("asset/images/image.png"); background-size: cover; background-position: center; background-repeat: no-repeat; } // Multiple Image Usage .hero { @include cacheBustBgImages( "asset/images/image.png", "asset/images/other-image.png" ); background-size: cover; background-position: center; background-repeat: no-repeat; }
フォントのキャッシュ無効化
ID を使用してアプリのフォントをキャッシュします。
$fontId: unique_id(); @font-face { font-family: "Custom Fonts"; src: url("asset/images/custom-font.eot?v=#{$fontId}"); src: url("asset/images/custom-font.eot?v=#{$fontId}#iefix") format("embedded-opentype"), url("asset/images/custom-font.woff2?v=#{$fontId}") format("woff2"), url("asset/images/custom-font.woff?v=#{$fontId}") format("woff"), url("asset/images/custom-font.ttf?v=#{$fontId}") format("truetype"), url("asset/images/custom-font.svg?v=#{$fontId}#svg") format("svg"); font-weight: normal; font-style: normal; font-display: swap; }
絶対位置決め
絶対位置決め要素のミックスイン。上下左右の順番が重要です。
@mixin absolute($top, $right, $bottom, $left) { position: absolute; top: $top; right: $right; bottom: $bottom; left: $left; } // Usage div { @include absolute(100px, 100px, auto, auto); }
テキストの省略記号
あふれたテキストを省略記号で切り詰めます。
@mixin text-ellipsis($max-width: 100%) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: $max-width; } // Usage .element { @include text-ellipsis(200px); }
アイテムホバー
ホバー状態の場合、特定のプロパティを渡すことができます。
@mixin item-hover($color, $bg-color) { &:hover { color: $color; background-color: $bg-color; } } // Usage .button { @include item-hover(white, black); }
再利用性のためのヘルパー クラス
// Center child elements both vertically and horizontally .flex-center { display: flex; align-items: center; justify-content: center; } // Center element both horizontally and vertically .absolute-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } // Center text .text-center { text-align: center; } // Hide element .hidden { display: none; } // Hide element on desktop view .d-none-desktop { @media screen and (min-width: 680px) { display: none; } } // Hide element on mobile view .d-none-mobile { @media screen and (max-width: 680px) { display: none; } } // Add border radius to element .border-radius { border-radius: 10px; }
読んでいただきありがとうございます。記事が役に立ったと思われる場合は、他の人もアクセスできるように、「いいね」やコメントを忘れないでください。寛大な日なら、コーヒーを買ってきてくれることもできます。 ?
以上がこれらの SASS ミックスインと関数を使用してワークフローを最大化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

先日、この質問がありました。私の最初の考えは、奇妙な質問です!特異性はセレクターに関するものであり、アットレールはセレクターではないので、...無関係ですか?

はい、あなたはできます、そしてそれは本当にどの順序で重要ではありません。 CSSプリプロセッサは必要ありません。通常のCSSで動作します。

CSSやJavaScript(および画像とフォントなど)などのアセットにファーアウトキャッシュヘッダーを確実に設定する必要があります。それはブラウザを伝えます

多くの開発者は、CSSコードベースを維持する方法について書いていますが、そのコードベースの品質をどのように測定するかについて多くの人が書いていません。確かに、私たちは持っています

短い任意のテキストを受け入れるために必要なフォームを持っていたことがありますか?名前などのように。それはまさにそのためのものです。たくさんあります

私は、フロント会議のためにスイスのチューリッヒに向かうことにとても興奮しています(その名前とURLが大好きです!)。私はこれまでスイスに行ったことがないので、興奮しています

ソフトウェア開発における私のお気に入りの開発の1つは、サーバーレスの出現です。詳細に行き詰まる傾向がある開発者として

この投稿では、私が構築して展開して展開してネットライフを使用して、着信データの動的ルートを作成する方法を示すeコマースストアのデモを使用します。それはかなりです


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

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

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
