これらの SASS ミックスインと関数を使用してワークフローを最大化する
こんにちは!同じ 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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう

私たちは常にWebをよりアクセスしやすくしたいと考えています。色のコントラストは単なる数学なので、SASSはデザイナーが見逃したかもしれないエッジケースをカバーするのに役立ちます。
