LESS、Sass、Stylus の類似点と相違点の分析_html/css_WEB-ITnose
前書き: CSS 前処理言語
CSS 前処理言語は、CSS にさらにプログラミング機能を追加し、CSS をターゲットとしてファイルを生成できます。
これらの言語は、プログラミング効率を効果的に向上させ、CSS をより簡潔で、適応性があり、読みやすくし、プロジェクトの保守を容易にすることができます。
この記事では、現在主流の CSS 前処理言語である LESS、Sass、Stylus の類似点と相違点を、開発者の視点から表の水平比較を用いて客観的に分析します。
これらの言語のインストールやコンパイルなどは紹介しません。デフォルトでは、読者はすでに CSS に精通しており、上記の CSS 前処理言語の少なくとも 1 つを使用したことがある可能性があります。
Sass 言語には現在、ファイル名接尾辞として「.sass」と「.scss」を含む 2 つの文法規則セットがあるという事実を考慮して、この記事では、Scss で表される Sass3 以降のバージョンのみを紹介します。
基本的な違い
*.less | *.scss | *.styl |
は、そのメソッドを介して渡すことができますそれぞれ *.css ファイルにローカルでコンパイルする方法 これらの形式のファイルを *.css ファイルにコンパイルできるサードパーティのコンパイル ツールが多数あります | ||
以下を使用して、HTML ファイルにless.js ファイルを導入できます。 imports like * .css ファイルと同じ方法で *.less ファイルを導入し、ブラウザを通じてコンパイルします (パフォーマンスが少し消費される可能性があります)。 | 最初にRubyをインストールする必要があります |
基本構文
/*均支持CSS风格语法*/h1{ color:#000;} ログイン後にコピー | ||
変数とスコープ
で区切ります"= 変数名と変数値 | ||
グローバル変数の概念はなく、後で定義された同じ名前の変数は変数を完全に上書きします最初に定義 | LESS と同じ |
Mixins
Mixins は、CSS プリプロセッサの言語で最も強力な機能です。
ミックスインは、再利用する必要があるいくつかのスタイルを抽出できます。それらは一度定義するだけでよく、多くのセレクターで再利用できます。
ミックスの定義は「@mixin」で始める必要があります。リファレンスミックスは「@include」で始まる必要があります | プレフィックスは必要ありません | |
子孫セレクターのネストされた実装
継承
明示的なプレフィックスは必要ありません | 「@extend」で始まり、その後に継承されたセレクターが続きます | |
div{ margin:10px 5px;}div a{ color:red;}div a:hover{ color:blue;} ログイン後にコピー | れー | |
れー | れー |
条件语句
使用关键字“when”实现条件语句 | 可以使用@if、@else、@else if语句实现判断 | 与其它编程语言类似,不过可以省略大括号 |
@type: link;.mixin(@type) when ( @type == link ){ color:blue;} .mixin(@type) when not ( @type == link ){ color:black;} ログイン後にコピー | $type: link;p { @if $type == link { color: blue; } @else { color: black; }} ログイン後にコピー | type: link;p{ if type==linkcolor:blue; else color:black;} ログイン後にコピー |
/*编译后的CSS*/p {color:blue;} ログイン後にコピー |
循环语句
通过when模拟循环功能 | 使用@for关键字,配合“from”和“through” | 使用for/in对表达式进行循环 |
.funClass (@i) when (@i>0){ .item-@{i}{ width:2em*@i;}/*递归*/.funClass(@i-1);}/*停止循环*/.funClass (0) {}/*输出*/.funClass (3); ログイン後にコピー | @for &i from 1 through 3{ .item-#{$i} { width:2em*$i; }} ログイン後にコピー | for i in 1 2 3 .item-{i} width 2em*i ログイン後にコピー |
/*编译后的CSS*/.item-1{ width:2em;}.item-2{ width:4em;}.item-3{ width:6em;} ログイン後にコピー | ||
还支持each循环语句、while循环语句 |
综合对比
- 均具有“变量”、“混合”、“嵌套”、“继承”、“颜色混合”五大基本特性;
- Scss和LESS语法较为严谨,LESS要求一定要使用大括号“{}”,Scss和Stylus可以通过缩进表示层次与嵌套关系;
- Scss无全局变量的概念,LESS和Stylus有类似于其它语言的作用域概念;
- Scss和Stylus就具有类似其它语言的条件语句、循环语句等,而LESS需要通过When等关键词模拟这些功能;
- Sass是基于Ruby语言的,而LESS和Stylus可以基于NodeJS NPM下载相应库后进行编译;
- 使用LESS时,还可以在引用它的HTML文件中引入从官网下载的“less.js”文件,就可以通过浏览器进行解析。

ホット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)

ホットトピック











SASSの正式名称は「Software as a Service」、つまり「サービスとしてのソフトウェア」を意味し、サードパーティのサプライヤーがクラウドインフラ上にアプリケーションを構築し、インターネット経由で顧客に提供するソフトウェア導入モデルです。顧客が基盤となるインフラストラクチャを事前に構築する必要のないアプリケーション。これは、ローカル マシンにのみインストールできる従来のソフトウェアとは異なり、インターネット接続と Web ブラウザがあればどのデバイスからでもソフトウェアにアクセスできることを意味します。

C 言語と Python は一般的に使用される 2 つのプログラミング言語であり、多くの点で明らかな類似点と相違点があります。この記事では、構文、パフォーマンス、使いやすさなどの観点から C 言語と Python を詳細に比較し、それらの違いを示す具体的なコード例を示します。構文の類似点と相違点: C 言語はプロセス指向のプログラミング言語であり、その構文は比較的厳密で複雑であるため、開発者はメモリとデータ型を自分で管理する必要があります。 Python は簡潔で読みやすい構文を持つ高級言語であり、変数の型を明示的に宣言する必要はありません。サンプルコード

Golang と Go の類似点と相違点: 1 つの記事で読む Go は、オープンソース プログラミング言語として 2007 年に Google によって開発され、効率的で信頼性が高く、簡潔なソフトウェアを構築するために広く使用されています。 Go 言語は C 言語をベースにしたプログラミング言語ですが、より単純な構文とより強力な同時実行サポートを備えています。ただし、Go 言語には Golang という別名もあるため、多くの人はこれらが 2 つの異なる言語であると考えています。では、Golang と Go は同じなのでしょうか?

C++ と C は、多くの点で似ている 2 つの人気のあるプログラミング言語ですが、多くの大きな違いもあります。この記事では、C++ と C 言語の類似点と相違点を詳しく掘り下げ、具体的なコード例を通じてそれらの相違点を説明します。 1. 基本構文と構造の違い 1.1 データ型の定義 C 言語では、変数を定義するときに、最初にデータ型を宣言する必要があります (例: intnum)。C++ では、変数の定義と同時に変数を初期化できます。例: intnum=10; 1.2 関数定義

Vue がプロジェクト作成時に使用する sass は css 補助ツールを強化するものであり、css を拡張したもので、sass は buby 言語で書かれた css 前処理言語で、html と同じ厳密なインデント形式を持ち、css の記述と一貫性があります。中括弧とセミコロンは使用されません。

C 言語と Python は、それぞれの分野で独自の利点を持つ 2 つの非常に人気のあるプログラミング言語です。この記事では、C と Python の類似点と相違点を詳しく説明し、特定のコード例と比較します。 1. 構文と構造の違い まず、C言語とPythonの構文と構造の違いを見てみましょう。 C 言語の例: #includeintmain(){inta=10;

C 言語と Python は、ソフトウェア開発の分野で重要な役割を果たし、広く使用されている 2 つのプログラミング言語です。この記事では、構文構造、データ型、オブジェクト指向、関数などの観点から、C 言語と Python の類似点と相違点について説明し、具体的なコード例を通じてそれらの相違点と関連性を示します。まずは文法構造からC言語とPythonを比較していきます。 C 言語は明確なコード構造を持つ構造化言語であり、さまざまなコード ブロックを区別するために中括弧が使用されます。 Python はスクリプト言語です

Vue プロジェクトのコンパイル Sass エラーの解決策: 1. イメージ ソース「cnpm install node-sass sass-loader --save-dev」を使用して Sass をインストールします; 2. 「package.json」の「sass-loader」バージョンを変更します。 to " "sass-loader": "^7.3.1","; 3. ページ内で直接使用するか、src の代わりに @ を使用します。
