SASS/SCSS'ye Giriş: CSS'i Güçlendirme

SASS/SCSS'ye Giriş: CSS'i Güçlendirme

SASS/SCSS'ye Giriş: CSS'i Güçlendirme

SASS/SCSS'ye Giriş: CSS'i Güçlendirme

SASS (Syntactically Awesome Style Sheets) ve SCSS (Sassy CSS), CSS'in daha gelişmiş ve dinamik bir versiyonunu sunan önişlemci (preprocessor) dilleridir. Bu teknolojiler, CSS yazmayı daha kolay, düzenli ve verimli hale getirir. SASS ve SCSS, geliştiricilere değişkenler, fonksiyonlar, iç içe kurallar (nesting), mixin'ler ve kalıtım (inheritance) gibi özellikler sunar. Bu özellikler, CSS kodunun daha modüler ve yeniden kullanılabilir olmasını sağlar.

SASS ve SCSS Arasındaki Fark

SASS: Daha eski bir sözdizimine sahiptir ve .sass uzantısını kullanır. Satır sonlarında noktalı virgül (;) ve küme parantezleri ({}) kullanılmaz. Bunun yerine girintiler (indentation) kullanılır.

.container

  width: 100%

  margin: 0 auto

  .box

    background: blue

SCSS: CSS sözdizimine daha yakındır ve .scss uzantısını kullanır. CSS ile tam uyumludur ve mevcut CSS kodları SCSS dosyalarına doğrudan eklenebilir.

scss

Copy

.container {

  width: 100%;

  margin: 0 auto;

  .box {

    background: blue;

  }

}

SASS/SCSS'in Temel Özellikleri

  1. Değişkenler (Variables)

Değişkenler, renkler, font boyutları veya diğer stil değerlerini tek bir yerde tanımlamayı ve tekrar kullanmayı sağlar.

$primary-color: #3498db;

$font-size: 16px;

.header {

  color: $primary-color;

  font-size: $font-size;

}

  1. İç İçe Kurallar (Nesting)

CSS seçicilerini iç içe yazmayı sağlar, bu da kodun daha okunabilir olmasını sağlar 

.navbar {

  background: #333;

  ul {

    list-style: none;

    li {

      display: inline-block;

      a {

        color: white;

      }

    }

  }

}

 

  1. Mixin'ler

 

Mixin'ler, tekrar kullanılabilir CSS kod blokları oluşturmayı sağlar. Parametre alabilirler.

 

@mixin border-radius($radius) {

  -webkit-border-radius: $radius;

  -moz-border-radius: $radius;

  border-radius: $radius;

.button {

  @include border-radius(5px);

}

  1. Kalıtım (Inheritance)

 Bir stil kümesini başka bir seçiciye aktarmayı sağlar. Bu, kod tekrarını azaltır.

scss

Copy

%message-shared {

  padding: 10px;

  border: 1px solid #ccc;

}

 

.message {

  @extend %message-shared;

}

 

.success {

  @extend %message-shared;

  border-color: green;

}

  1. Fonksiyonlar ve Operatörler

Matematiksel işlemler ve fonksiyonlar kullanarak dinamik stil değerleri oluşturulabilir.

$base-padding: 10px;

.container {

  padding: $base-padding * 2;

}

  1. Modüler Yapı (Partials ve Import)

SCSS dosyalarını modüler hale getirerek birden fazla dosyada çalışmayı sağlar. @import ile bu dosyalar birleştirilir.

// _variables.scss

$primary-color: #3498db;

// styles.scss

@import 'variables'; 

.header {

  color: $primary-color;

}

 

  1. Koşullu İfadeler ve Döngüler

Koşullu ifadeler (@if, @else) ve döngüler (@for, @each, @while) kullanarak dinamik stiller oluşturulabilir.

@for $i from 1 through 3 {

  .item-#{$i} {

    width: 100px * $i;

  }

}

SASS/SCSS Nasıl Kullanılır?

Kurulum:

SASS/SCSS, Node.js üzerinden npm ile kurulabilir:

npm install -g sass

Derleme:

SCSS dosyalarını CSS'e dönüştürmek için komut satırı kullanılır:

sass input.scss output.css

Otomatik derleme için:

sass --watch input.scss:output.css

Build Araçları ile Entegrasyon:

Webpack, Gulp veya Grunt gibi araçlarla otomatik derleme yapılabilir.

SASS/SCSS'in Avantajları

Daha Az Kod Tekrarı: Değişkenler ve mixin'ler sayesinde kod tekrarı azalır.

Daha İyi Organizasyon: Modüler yapı ve iç içe kurallar, kodun daha düzenli olmasını sağlar.

Dinamik Stiller: Matematiksel işlemler ve fonksiyonlarla dinamik stiller oluşturulabilir.

CSS ile Uyumluluk: SCSS, CSS ile tam uyumludur ve mevcut CSS kodları kolayca entegre edilebilir.

Sonuç

SASS/SCSS, modern web geliştirmede CSS yazmayı daha verimli ve keyifli hale getiren güçlü araçlardır. Özellikle büyük ölçekli projelerde, stil dosyalarının yönetimini kolaylaştırır ve geliştiricilere büyük esneklik sağlar.

 

Blog

Hemen Arayın Whatsapp'tan Yazın
,