前書き: 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”文件,就可以通过浏览器进行解析。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...

WebコードエディターのHTML要素分析では、多くのオンラインコードエディターを使用すると、ユーザーはHTML、CSS、およびJavaScriptコードを入力できます。最近、誰かが提案した...

React-App-Recrowiredを使用して静的ページを構築するときにコード圧縮を回避する方法について多くの開発者が配信したい...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

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

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

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

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

ホットトピック



