Dari apa yang saya baca, Sass adalah bahasa yang membuat CSS lebih kuat dengan dukungan variabel dan matematika.
Apa bedanya dengan SCSS? Apakah seharusnya bahasa yang sama? Serupa? Berbeda?
Sass adalah pra-prosesor CSS dengan kemajuan sintaksis. Lembar gaya dalam sintaksis lanjutan diproses oleh program, dan diubah menjadi lembar gaya CSS biasa. Namun, mereka tidak memperluas standar CSS itu sendiri.
Variabel CSS didukung dan dapat dimanfaatkan tetapi tidak serta variabel pra-prosesor.
Untuk perbedaan antara SCSS dan Sass, teks ini pada halaman dokumentasi Sass harus menjawab pertanyaan:
Ada dua sintaks yang tersedia untuk Sass. Yang pertama, dikenal sebagai SCSS (Sassy CSS) dan digunakan di seluruh referensi ini, adalah perpanjangan dari sintaks CSS. Ini berarti bahwa setiap lembar gaya CSS yang valid adalah file SCSS yang valid dengan arti yang sama. Sintaks ini ditingkatkan dengan fitur Sass yang dijelaskan di bawah ini. File yang menggunakan sintaks ini memiliki ekstensi .scss .
Sintaks kedua dan yang lebih tua , yang dikenal sebagai sintaks indentasi (atau kadang-kadang hanya "Sass"), menyediakan cara yang lebih singkat untuk menulis CSS. Ini menggunakan lekukan daripada tanda kurung untuk menunjukkan bersarang penyeleksi, dan baris baru daripada titik koma untuk memisahkan properti. File yang menggunakan sintaks ini memiliki ekstensi .sass .
Namun, semua ini hanya berfungsi dengan pre-compiler Sass yang pada akhirnya menciptakan CSS. Ini bukan ekstensi ke standar CSS itu sendiri.
scss
dansass
lebih dari sekedar preferensi pribadi hari ini.scss
jauh lebih umum - yang digunakan dalam kebanyakan kerangka CSS populer sepertiBootstrap
,Foundation
,Materialize
dll kerangka UI utama mendukungscss
lebihsass
secara default - sudut, Bereaksi, Vue. Setiap tutorial atau demo umumnya akan menggunakanscss
misalnyacreate-react-app
facebook.github.io/create-react-app/docs/…Saya salah satu pengembang yang membantu menciptakan Sass.
Perbedaannya adalah UI. Di bawah eksterior tekstual mereka identik. Inilah sebabnya mengapa file sass dan scss dapat saling mengimpor. Sebenarnya, Sass memiliki empat parser sintaksis: scss, sass, CSS, dan kurang. Semua ini mengonversi sintaks yang berbeda menjadi Pohon Sintaks Abstrak yang diproses lebih lanjut menjadi output CSS atau bahkan ke salah satu format lain melalui alat sass-convert.
Gunakan sintaks yang paling Anda sukai, keduanya didukung penuh dan Anda dapat mengubahnya di antara mereka nanti jika Anda berubah pikiran.
sumber
File Sass
.sass
secara visual berbeda dari.scss
file, misExample.sass - sass adalah sintaks yang lebih lama
Example.scss - sassy css adalah sintaks baru pada Sass 3
Setiap dokumen CSS yang valid dapat dikonversi ke Sassy CSS (SCSS) hanya dengan mengubah ekstensi dari
.css
menjadi.scss
.sumber
.scss
ke.css
sama.css
ke.scss
?.css
hanya valid.scss
. Segera setelah Anda menambahkan kode spesifik scss, mengubah kembali nama file akan berakhir sebagai file css yang tidak valid.css
adalah persegi, danscss
adalah persegi panjang. Semua kotak adalah persegi panjang, tetapi tidak semua persegi panjang adalah kotak.Sass ( StyleSheets Awesome Sintaksis ) memiliki dua sintaks:
Jadi keduanya adalah bagian dari preprosesor Sass dengan dua kemungkinan sintaks yang berbeda.
Perbedaan paling penting antara SCSS dan Sass asli :
SCSS :
Sintaksnya mirip dengan CSS (sedemikian rupa sehingga setiap CSS3 valid yang teratur juga valid SCSS , tetapi hubungan ke arah lain jelas tidak terjadi)
Menggunakan kawat gigi
{}
;
:
@mixin
arahan@include
arahanSass Asli :
=
alih-alih:
=
tanda+
tandaBeberapa lebih suka Sass , sintaksis aslinya - sementara yang lain lebih suka SCSS . Either way, tetapi perlu dicatat bahwa sintaks indentasi Sass belum dan tidak akan pernah ditinggalkan .
Konversi dengan sass-convert :
Dokumentasi Sass dan SCSS
sumber
Sintaksnya berbeda, dan itulah pro utama (atau kontra, tergantung pada perspektif Anda).
Saya akan mencoba untuk tidak mengulangi banyak dari apa yang dikatakan orang lain, Anda dapat dengan mudah google itu tetapi sebaliknya, saya ingin mengatakan beberapa hal dari pengalaman saya menggunakan keduanya, kadang-kadang bahkan dalam proyek yang sama.
SASS pro
.sass
jauh lebih mudah 'dan dapat dibaca daripada di.scss
(subjektif).Kontra SASS
body color: red
seperti yang Anda bisa di .scssbody {color: red}
.scss
file (bersama dengan.sass
file) di proyek Anda atau mengubahnya menjadi.sass
.Selain ini - mereka melakukan pekerjaan yang sama.
Sekarang, apa yang saya suka lakukan adalah menulis mixin dan variabel dalam
.sass
dan kode yang benar-benar akan dikompilasi ke dalam CSS.scss
jika memungkinkan (yaitu Visual studio tidak memiliki dukungan untuk.sass
tetapi ketika saya bekerja pada proyek Rails saya biasanya menggabungkan dua dari mereka, tidak dalam satu file ofc).Akhir-akhir ini, saya mempertimbangkan untuk memberi Stylus kesempatan (untuk preprocessor CSS penuh waktu) karena memungkinkan Anda untuk menggabungkan dua sintaksis dalam satu file (di antara beberapa fitur lainnya). Itu mungkin bukan arah yang baik untuk diambil tim tetapi ketika Anda mempertahankannya sendiri - tidak apa-apa. Stylus sebenarnya paling fleksibel ketika sintaksisnya dipertanyakan.
Dan akhirnya mixin untuk
.scss
vs.sass
perbandingan sintaks:sumber
Dari beranda bahasa
SASS adalah bahasa yang ditafsirkan yang mengeluarkan CSS. Struktur Sass terlihat seperti CSS (jarak jauh), tetapi menurut saya deskripsi itu agak menyesatkan; itu bukan pengganti CSS, atau ekstensi. Ini adalah interpreter yang memuntahkan CSS pada akhirnya, jadi Sass masih memiliki keterbatasan CSS normal, tetapi menutupi mereka dengan kode sederhana.
sumber
Perbedaan dasarnya adalah sintaksisnya. Sementara SASS memiliki sintaks yang longgar dengan spasi putih dan tanpa titik koma, SCSS lebih menyerupai CSS.
sumber
Contoh beberapa sintaks SCSS dan SASS:
SCSS
KELANCANGAN
Output CSS setelah Kompilasi (Sama untuk Keduanya)
Untuk panduan lebih lanjut, Anda dapat melihat situs web resmi .
sumber
Sass adalah yang pertama, dan sintaksinya agak berbeda. Misalnya, termasuk mixin:
Sass mengabaikan tanda kurung keriting dan titik koma dan berbaring di atas sarang, yang menurut saya lebih bermanfaat.
sumber
Perbedaan antara artikel SASS dan SCSS menjelaskan perbedaan dalam detail. Jangan bingung dengan opsi SASS dan SCSS, meskipun saya juga awalnya, .scss adalah Sassy CSS dan merupakan generasi berikutnya dari .sass.
Jika itu tidak masuk akal, Anda dapat melihat perbedaan dalam kode di bawah ini.
Dalam kode di atas kita gunakan; untuk memisahkan deklarasi. Saya bahkan telah menambahkan semua deklarasi untuk .border ke satu baris untuk menggambarkan hal ini lebih lanjut. Sebaliknya, kode SASS di bawah ini harus pada baris yang berbeda dengan indentasi dan tidak ada penggunaan;
Anda dapat melihat dari CSS di bawah ini bahwa gaya SCSS jauh lebih mirip dengan CSS biasa daripada pendekatan SASS yang lebih lama.
Saya pikir sebagian besar waktu akhir-akhir ini jika seseorang menyebutkan bahwa mereka bekerja dengan Sass mereka merujuk pada penulisan dalam .scss daripada cara tradisional .sass.
sumber
Asli
sass
adalah sintaks mirip ruby, mirip dengan ruby, jade dll ...Dalam sintaksis tersebut, kami tidak menggunakan
{}
, sebaliknya kami menggunakan spasi putih, juga tidak menggunakan;
...Dalam
scss
sintaksis lebih sepertiCSS
, tetapi dengan mendapatkan lebih banyak opsi seperti: bersarang, mendeklarasikan, dll, mirip denganless
dan pra-pemrosesan lainnyaCSS
...Mereka pada dasarnya melakukan hal yang sama, tapi aku meletakkan beberapa baris masing-masing untuk melihat perbedaan sintaks, lihat
{}
,;
danspaces
:KELANCANGAN:
SCSS:
sumber
Jawaban ringkas:
SCSS mengacu pada sintaks utama yang didukung oleh pra-prosesor Sass CSS .
.scss
mewakili sintaks standar yang didukung oleh Sass. SCSS adalah superset dari CSS..sass
mewakili sintaks "lama" yang didukung oleh Sass yang berasal dari dunia Ruby.sumber
SASS adalah Style Style Sintaks yang Menakjubkan dan merupakan perpanjangan dari CSS yang menyediakan fitur aturan bertingkat, pewarisan, Mixins sedangkan SCSS adalah Sassy Cascaded Style Sheets yang mirip dengan CSS dan mengisi celah dan ketidaksesuaian antara CSS dan SASS. Itu dilisensikan di bawah lisensi MIT. Artikel ini memiliki lebih banyak tentang perbedaan: https://www.educba.com/sass-vs-scss/
sumber