検索

@import
Sass は、すべての CSS3 @ ルール と、「ディレクティブ」とも呼ばれるいくつかの Sass 固有のルールをサポートします。
Sass は、CSS @import ルールを拡張して、SCSS および Sass ファイル をインポートします。 インポートされたすべての SCSS および Sass ファイルは マージ され、単一の CSS ファイルが出力されます。 また、インポートしたファイル内で定義されている変数ミックスインをメインファイルでも使用することができます。
Sass は現在のディレクトリ内で他の Sass ファイルを探します。Rack、Rails、または Merb 環境の場合、これが Sass ファイル ディレクトリです。 追加の検索ディレクトリは、:load_paths オプションまたはコマンド ラインで --load-path オプションを使用して指定することもできます。
@import ファイル名に基づいてインポートします。 デフォルトでは、Sass ファイルを検索して直接インポートしますが、場合によっては CSS にコンパイルされます @import ルール:

  • ファイル拡張子が .css の場合。
  • ファイル名が http:// で始まる場合。
  • ファイル名が url() の場合。
  • @import にメディア クエリが含まれている場合。
  • 上記の状況がいずれも発生せず、拡張子が .scss または .sass の場合、その名前の Sass または SCSS ファイルが インポート されます。 拡張子がない場合、Sass は、.scss または .sass 拡張子を持つ同じ名前のファイルを見つけてインポートしようとします。
    例:

    1 @import "foo.scss";

    または

    @import "foo";

    どちらも foo.scss ファイルをインポートしますが、

    @import "foo.css";@import "foo" screen;@import "http://foo.com/bar";@import url(foo);

    は次のようにコンパイルされます:

    rrrええ

    を通じて紹介することもできます@import 複数のファイル 。例:

    rrree

    は、round-corners と text-shadow の 2 つのファイルを導入します。

    インポートする必要がある SCSS または Sass ファイルがありますが、それを CSS ファイルにコンパイルしたくない場合は、そのファイルの前に アンダースコア を追加できます。コンパイルを避けるためのファイル名。 これにより、Sass に CSS ファイルにコンパイルしないよう指示されます。 その後、ファイル名の前にあるアンダースコアを省略して、通常どおりファイルをインポートできます。

    たとえば、_colors.scss というファイルがあるとします。 この方法では、_colors.css ファイルは生成されません また、次のようにすることもできます:

    @import "foo.css";@import "foo" screen;@import "http://foo.com/bar";@import url(foo);

    を実行して、

    _colors.scss ファイルをインポートします。

    注意: 下線のあるファイルと下線のないファイルは、同じディレクトリに同時に存在できません。 たとえば、_colors.scss は color.scss と共存できません。

    ネストされた @import

    ほとんどの場合、最上位ファイルで @import を使用するだけで十分ですが、CSS ルールや @media ルールに @import を含めることもできます。

    インポートされるスタイル ファイル `example.scss` に次のようなコードが含まれているとします:

    @import "rounded-corners", "text-shadow";

    次に、次のように引用します:

    @import "colors";//不用加下划线

    コンパイルされた CSS:

    .example { color: red;}

    @media Sass の
    @media ディレクティブは、CSS 使用ルールと同じくらい単純ですが、別の機能があります。 は CSS ルールにネストできます。 JS のバブリング機能に似ていますが、スタイル内で @media ディレクティブを使用すると、外側にバブリングします。来看一简单例:

    #main { @import "example";}

    编译出来:

    #main .example { color: red;}

    @media も可嵌套@media:

    1 .sidebar {2  width: 300px;3  @media screen and (orientation: landscape) {4  width: 500px;5     }6 }

    今回の编译出来:

    1 .sidebar {2  width: 300px; 3 }4 @media screen and (orientation: landscape) {5  .sidebar {6  width: 500px;7     }8 }

    在使用@media 時間,还プラグイン

    #{}:

    1 @media screen {2  .sidebar {3  @media (orientation: landscape) {4  width: 500px;5         }6  }7 }

    コンパイル済み CSS:

    1 @media screen and (orientation: landscape) {2  .sidebar {3  width: 500px; 4     } 5 }

    @extend を使用できます。 Sass の
    @extend は、 選択範囲を拡張するために使用されますデバイス または プレースホルダー 。例:

    1 $media: screen;2 $feature: -webkit-min-device-pixel-ratio;3 $value: 1.5;4 @media #{$media} and ($feature: $value) {5  .sidebar {6  width: 500px;7     }8 }

    は次のようにコンパイルされます:

    1 @media screen and (-webkit-min-device-pixel-ratio: 1.5) {2  .sidebar {3  width: 500px;4     }5 }

    拡張セレクター:

    @extend 不止扩展类选择器,还可以扩展任何选择器,比如 .special.cool, a:hover, 或 a.user[href^=“http://“],例如:

    1 .hoverlink {2  @extend a:hover;3 }4 a:hover {5  text-decoration: underline;6 }

    编译出来:

    1 a:hover, .hoverlink {2  text-decoration: underline;3 }

    再来看一个复杂点的:

    1 .hoverlink {2  @extend a:hover;3 }4 .comment a.user:hover {5  font-weight: bold;6 }

    编译出来的CSS:

    1 .comment a.user:hover, .comment .user.hoverlink {2  font-weight: bold;3 }

    多个扩展

    所设某个样式要继承多个地方的样式,那么可以使用 @extend 来继承多个选择器或占位符的样式

     1 .error { 2  border: 1px #f00; 3  background-color: #fdd; 4 } 5 .attention { 6  font-size: 3em; 7  background-color: #ff0; 8 } 9 .seriousError {10  @extend .error;11  @extend .attention;12  border-width: 3px;13 }

    编译出来的CSS:

     1 .error, .seriousError { 2  border: 1px #f00; 3  background-color: #fdd; 4 } 5 .attention, .seriousError { 6  font-size: 3em; 7  background-color: #ff0; 8 } 9 .seriousError {10  border-width: 3px;11 }

    扩展单一选择器

    我们知道 %placeholder 不使用@extend显示调用是不会生成任何样式代码。那么在选择器中使用占位符一样。比如下面的代码:

    1 #context a%extreme {2  color: blue;3  font-weight: bold;4  font-size: 2em;5 }

    这段代码在不调用之前不产生任何代码,只有能过@extend调用之后才生成代码:

    1 .notice {2  @extend %extreme;3 }

    编译出来的CSS:

    1 #context a.notice {2  color: blue;3  font-weight: bold;4  font-size: 2em;5 }

     

     

     

    @at-root
    @at-root 从字面上解释就是跳出根元素。当你选择器嵌套多层之后,想让某个选择器跳出,此时就可以使用 @at-root。来看一个简单的示例:

     1 .a { 2  color: red; 3  .b { 4  color: orange; 5  .c { 6  color: yellow; 7  @at-root .d { 8  color: green; 9             }10  }11  } 12 }

    编译出来的CSS

     1 .a { 2  color: red; 3 } 4 .a .b { 5  color: orange; 6 } 7 .a .b .c { 8  color: yellow; 9 }10 .d {11  color: green;12 }

     

     

     

     

    @debug
    @debug 在 Sass 中是用来调试的,当你的在 Sass 的源码中使用了 @debug 指令之后,Sass 代码在编译出错时,在命令终端会输出你设置的提示 Bug:

    @debug 10em + 12em;

    会输出:

    Line 1 DEBUG: 22em

     

     

     

    @warn
    @warn @debug 功能类似,用来帮助我们更好的调试 Sass。如:

     1 @mixin adjust-location($x, $y) { 2  @if unitless($x) { 3  @warn "Assuming #{$x} to be in pixels"; 4  $x: 1px * $x; 5  } 6  @if unitless($y) { 7  @warn "Assuming #{$y} to be in pixels"; 8  $y: 1px * $y; 9  }10  position: relative; left: $x; top: $y;11 }

     1 @mixin adjust-location($x, $y) { 2  @if unitless($x) {//unitless是内置函数,判断数值是否有“单位” 3  @warn "Assuming #{$x} to be in pixels"; 4  $x: 1px * $x; 5  } 6  @if unitless($y) { 7  @warn "Assuming #{$y} to be in pixels"; 8  $y: 1px * $y; 9  }10  position: relative; left: $x; top: $y;11 }12 .botton{13  @include adjust-location(20px, 30);14 }

    编译出来的CSS:

    1 .botton {2  position: relative;3  left: 20px;4  top: 30px;5 }

     

     

     

     

    @error

    @error 和 @warn、@debug 功能是如出一辙。

     1 @mixin error($x){ 2  @if $x < 10 { 3  width: $x * 10px; 4     }@else if $x == 10 { 5  width: $x; 6     }@else { 7  @error "你需要将#{$x}值设置在10以内的数"; 8  } 9 }10 .test {11  @include error(15);12 }

    编译的时候:

    你需要将15值设置在10以内的数 on line 7 at column 5

     

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    HTMLを超えて:Web開発のための重要なテクノロジーHTMLを超えて:Web開発のための重要なテクノロジーApr 26, 2025 am 12:04 AM

    強力な機能と優れたユーザーエクスペリエンスを備えたWebサイトを構築するには、HTMLだけでは十分ではありません。次のテクノロジーも必要です。JavaScriptは、Webページに動的とインタラクティブ性を与え、リアルタイムの変更がDOMを操作することで達成されます。 CSSは、美学とユーザーエクスペリエンスを向上させるために、Webページのスタイルとレイアウトを担当しています。 React、Vue.JS、Angularなどの最新のフレームワークとライブラリは、開発効率とコード組織構造を改善します。

    HTMLのブール属性とは何ですか?いくつかの例を挙げてください。HTMLのブール属性とは何ですか?いくつかの例を挙げてください。Apr 25, 2025 am 12:01 AM

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

    HTMLコードをどのように検証できますか?HTMLコードをどのように検証できますか?Apr 24, 2025 am 12:04 AM

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

    HTML対CSSおよびJavaScript:Webテクノロジーの比較HTML対CSSおよびJavaScript:Webテクノロジーの比較Apr 23, 2025 am 12:05 AM

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

    マークアップ言語としてのHTML:その機能と目的マークアップ言語としてのHTML:その機能と目的Apr 22, 2025 am 12:02 AM

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

    HTML、CSS、およびJavaScriptの未来:Web開発動向HTML、CSS、およびJavaScriptの未来:Web開発動向Apr 19, 2025 am 12:02 AM

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

    HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

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

    HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

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

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

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

    AI Clothes Remover

    AI Clothes Remover

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

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

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

    ホットツール

    SublimeText3 英語版

    SublimeText3 英語版

    推奨: Win バージョン、コードプロンプトをサポート!

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    PhpStorm Mac バージョン

    PhpStorm Mac バージョン

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

    WebStorm Mac版

    WebStorm Mac版

    便利なJavaScript開発ツール

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール