目次
单文件转换命令
单文件监听命令
文件夹监听命令
ホームページ ウェブフロントエンド htmlチュートリアル Sass の概要、インストール環境、Sass 構文形式とコンパイルとデバッグ_html/css_WEB-ITnose

Sass の概要、インストール環境、Sass 構文形式とコンパイルとデバッグ_html/css_WEB-ITnose

Jun 24, 2016 am 11:34 AM

CSS プリプロセッサとは何ですか?

定義: CSS プリプロセッサは、新しい言語を定義します。基本的な考え方は、特殊なプログラミング言語を使用して CSS にいくつかのプログラミング機能を追加し、CSS をターゲットとして使用してファイルを生成し、作成者が必要なのは次のことだけです。コーディング作業にはこの言語を使用してください。

CSS で変数、単純なロジック プログラム、関数、プログラミング言語のその他の基本機能を使用すると、CSS がより簡潔になり、適応性が高まり、読みやすくなり、コードの保守が容易になるなど、多くの利点があります。

CSS プリプロセッサ言語 (例:
Sass (SCSS)
LESS
Stylus
Turbine
Swithch CSS
CSS Cacheer
DT CSS

これまでのところ、多くの優れた CSS プリプロセッサ言語のジャンル Sass レスStylus Best

Sass とは何ですか?
Sass は CSS よりも上位のメタ言語で、ファイルのスタイルを明確かつ構造的に記述することができ、通常の CSS よりも強力な機能を備えています。
Sass は、保守しやすく管理しやすいスタイルシートを作成するためのさまざまな機能を提供しながら、よりクリーンでエレガントな構文を提供します。

Sass と SCSS の違いは何ですか?
Sass と SCSS は実際には同じものです。通常、この 2 つの違いは次のとおりです。
1. Sass には拡張子「.sass」が付いています。拡張子として「.scss」接尾辞を使用します
2. Sass は、中括弧 ({}) とセミコロン (;) を使用しない、厳密なインデント文法規則で記述されており、SCSS の構文記述は非常に似ています。 CSS 構文の記述に。
Sass構文

1 $font-stack: Helvetica, sans-serif //定义变量2 $primary-color: #333 //定义变量3 body4   font: 100% $font-stack5   color: $primary-color
ログイン後にコピー

SCSS構文

1 $font-stack: Helvetica, sans-serif;2 $primary-color: #333;3 body {4  font: 100% $font-stack;5  color: $primary-color;6 }
ログイン後にコピー

コンパイルされたCSS

1 body {2  font: 100% Helvetica, sans-serif;3  color: #333;4 }
ログイン後にコピー

Sass/SCSS と純粋な CSS の記述には大きな違いがありますか?
Sass と CSS の記述方法には違いがあります:
Sass と CSS の記述方法には確かにいくつかの違いがあります。Sass は Ruby に基づいて記述されているため、Ruby の記述仕様を継承しています。 Sass を記述する場合、中括弧やセミコロンは使用されず、主に厳密なインデントによって制御されます。例:
Sass の書き方:

body    color: #fff    background: #f36
ログイン後にコピー

そして CSS では次のように書きます:

body{ color:#fff; background:#f36;}
ログイン後にコピー

SCSS と CSS の書き方に違いはありません:
SCSS と CSS の記述方法 これが、Sass が一般に普及する理由の 1 つです。簡単に言えば、既存の「.css」ファイルを直接「.scss」に変更するだけで使用できるようになります。

Sass インストール (Windows バージョン)

Windows プラットフォームで Ruby をインストールするには、まず Ruby の公式 Web サイト (http://rubyinstaller.org/downloads) から対応する Ruby をダウンロードします。バージョン。

Ruby インストール ファイルをダウンロードした後、アプリケーション ソフトウェアのインストール手順に従って Ruby をインストールできます。インストールプロセス中は、以下の図に示すように、C ドライブにインストールし、インストールプロセス中に 2 番目のオプションを選択することをお勧めします (選択しない場合、コンパイル中に Ruby 環境が見つかりません)。

Ruby がインストールされたら、以下の図に示すように、スタート メニューで新しくインストールされた Ruby を見つけ、Ruby のコマンド コントロール パネルを起動します:

Ruby がコンピューターにインストールされたら、Sass をインストールできます。

コマンドを使用して Sass をインストールします

コンピューターのコマンド ターミナルを開き、次のコマンドを入力します:

gem install sass
ログイン後にコピー

Mac を使用している学生は、機能させるために上記のコマンドの前に「sudo」を追加する必要がある場合があります。インストール:

sudo gem install sass
ログイン後にコピー

Sass とアップデートを確認する

Sass が正常にインストールされたかどうかを確認するには?

sass -v
ログイン後にコピー

Sass を更新

gem update sass
ログイン後にコピー

Sass をアンインストール (削除)

gem uninstall sass
ログイン後にコピー

Sass コンパイル

Sass を開発に使用するか、プロジェクト内で参照します「 .css」ファイル。Sass は、必要な場合にのみ効果を発揮する、事前の処理を支援する前処理ツールです。

Sass をコンパイルするには、さまざまな方法があります

:

コマンドのコンパイル GUI ツールのコンパイル

  • 自動コンパイル
  • コマンドのコンパイル

    命令编译是指使用你电脑中的命令终端,通过输入 Sass 指令来编译 Sass。这种编译方式是最直接也是最简单的一种方式。因为只需要在你的命令终端输入:

    单文件编译:

    sass <要编译的Sass文件路径>/style.scss:<要输出CSS文件路径>/style.css
    ログイン後にコピー

    多文件编译:

    sass sass/:css/
    ログイン後にコピー

    缺点及解决方法:

    在实际编译过程中,你会发现上面的命令,只能一次性编译。每次个性保存“.scss”文件之后,都得重新执行一次这样的命令。如此操作太麻烦,其实还有一种方法,就是在编译 Sass 时,开启“watch”功能,这样只要你的代码进行任保修改,都能自动监测到代码的变化,并且给你直接编译出来:

    sass --watch <要编译的Sass文件路径>/style.scss:<要输出CSS文件路径>/style.css
    ログイン後にコピー

    例:

    单文件转换命令

    sass style.scss style.css
    ログイン後にコピー

    单文件监听命令

    sass --watch style.scss:style.css
    ログイン後にコピー

    文件夹监听命令

    sass --watch sassstyle:stylesheets
    ログイン後にコピー

    我们一般常用的有 --style , --sourcemap , --debug-info 等。

    sass --watch style.scss:style.css --style compactsass --watch style.scss:style.css --sourcemapsass --watch style.scss:style.css --style expanded --sourcemapsass --watch style.scss:style.css --debug-info
    ログイン後にコピー

    --style 表示解析后的css是什么格式,有四种取值分别为: nested 嵌套输出方式, expanded 展开输出方式, compact 紧凑输出方式, compressed 压缩输出方式。

    --sourcemap 表示开启sourcemap调试。开启sourcemap调试后,会生成一个后缀名为.css.map文件。

    --debug-info 表示开启debug信息,升级到3.3.0之后因为sourcemap更高级,这个debug-info就不太用了。

    四种style生成后的css:

     1 // nested 2 #main { 3  color: #fff; 4  background-color: #000;  5 } 6  #main p { 7  width: 10em;  8 } 9 .huge {10  font-size: 10em;11  font-weight: bold;12  text-decoration: underline;13 }14 // expanded15 #main {16  color: #fff;17  background-color: #000;18 }19 #main p {20  width: 10em;21 }22 .huge {23  font-size: 10em;24  font-weight: bold;25  text-decoration: underline;26 }27 // compact28 #main { color: #fff; background-color: #000; }29 #main p { width: 10em; }30 .huge { font-size: 10em; font-weight: bold; text-decoration: underline; }31 // compressed32 #main{color:#fff;background-color:#000}#main p{width:10em}.huge{font-size:10em;font-weight:bold;text-decoration:underline}
    ログイン後にコピー

    GUI编译Sass,我用的是koala。

    1. Koala (http://koala-app.com/)
    2. Compass.app(http://compass.kkbox.com/)
    3. Scout(http://mhs.github.io/scout-app/)
    4. CodeKit(https://incident57.com/codekit/index.html)
    5. Prepros(https://prepros.io/)

    相比之下推荐使用以下两个:

  • Koala (http://www.w3cplus.com/preprocessor/sass-gui-tool-koala.html)
  • CodeKit (http://www.w3cplus.com/preprocessor/sass-gui-tool-codekit.html)
  • koala工具 http://koala-app.com/index-zh.html

    sass文件需要以.scss来结尾。创建完成需要

    把css文件拖到软件中去,这样就可以将sass转化成css了

    sass不支持中文

    需要在 koala => rubygems => sass => lib => sass => engine.rb

    engine.rb打开加入一句Encoding.default_external = Encoding.find('UTF-8')

    sass配置,输出一般用展开的形式就可以

    自动化编译

    1、Grunt 配置 Sass 编译的示例代码

     1 module.exports = function(grunt) { 2     grunt.initConfig({ 3         pkg: grunt.file.readJSON('package.json'), 4         sass: { 5             dist: { 6                 files: { 7                     'style/style.css' : 'sass/style.scss' 8                 } 9             }10         },11         watch: {12             css: {13                 files: '**/*.scss',14                 tasks: ['sass']15             }16         }17     });18     grunt.loadNpmTasks('grunt-contrib-sass');19     grunt.loadNpmTasks('grunt-contrib-watch');20     grunt.registerTask('default',['watch']);21 }
    ログイン後にコピー

    2、Gulp 配置 Sass 编译的示例代码

     1 var gulp = require('gulp'); 2 var sass = require('gulp-sass'); 3  4 gulp.task('sass', function () { 5     gulp.src('./scss/*.scss') 6         .pipe(sass()) 7         .pipe(gulp.dest('./css')); 8 }); 9 10 gulp.task('watch', function() {11     gulp.watch('scss/*.scss', ['sass']);12 });13 14 gulp.task('default', ['sass','watch']);
    ログイン後にコピー

    没用过Grunt 、Gulp ,放两个案例在这慢慢研究

     

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホット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衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

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

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    &lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

    この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

    &lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

    この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

    &lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

    この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

    ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

    この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

    &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

    この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

    HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

    この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

    HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

    この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

    HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

    記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

    See all articles