SASS'da Dizeler

SASS'da Dizeler

Bu makale SASS'daki dizeleri açıklar.

SASS'da temel dize işlemlerinden gelişmiş dize kullanımlarına kadar adım adım açıklayacağız.

YouTube Video

SASS'da Dizeler

SASS, CSS'i genişletmek için bir ön işlemcidir ve dizeler, stil tanımlarını daha esnek ve dinamik hale getirmek için temel bir unsurdur.

Dizelerin Temelleri

SASS'daki dizeler tek veya çift tırnak içine alınabilir ve bazı durumlarda dizeleri tanımlayıcılar gibi yazmak için tırnaklar atlanabilir. Aşağıda bunların nasıl yazılacağına dair temel örnekler bulunmaktadır.

1// Single quotes
2$single-quoted: 'Hello, World!';
3// Double quotes
4$double-quoted: "Hello, World!";
5// No quotes
6$unquoted: Hello-World;

Notlar

  • Tırnak içindeki dizeler doğrudan dize ifadeleri olarak değerlendirilir.
  • Tırnaksız dizeler genellikle sınıf isimleri veya ID'ler gibi CSS tanımlayıcıları olarak ele alınır, bu yüzden uygun şekilde kullanılmalarına dikkat edilmelidir.

Dize Birleştirme

SASS'da dizeleri + operatörüyle birleştirebilirsiniz.

1$greeting: "Hello";
2$name: "Alice";
3
4$result: $greeting + ", " + $name + "!"; // "Hello, Alice!"
  • Bu kod, SASS'da birden fazla dizenin + operatörü ile birleştirilerek yeni bir dize oluşturulmasına örnektir.

Gelişmiş Örnek: Sınıf İsimleri Oluşturmak

1$base-class: "btn";
2$modifier: "primary";
3
4.class-name {
5    content: $base-class + "--" + $modifier; // "btn--primary"
6}
  • Bu kod, SASS'da temel bir sınıf ismi ile bir değiştiriciyi + operatörüyle birleştirerek yeni bir sınıf ismi oluşturmak için bir örnektir.

Dize Fonksiyonlarını Kullanmak

SASS, tırnak kontrolü ve alt dize çıkartma gibi çeşitli dize işlemleri için kullanışlı yerleşik fonksiyonlar sağlar.

quote() ve unquote()

quote() ve unquote() fonksiyonları ile dizelere tırnak ekleyip kaldırabilirsiniz.

1$quoted: quote(Hello);    // '"Hello"'
2$unquoted: unquote("Hello"); // Hello

str-length($string)

str-length() fonksiyonu bir dizenin uzunluğunu alır.

1$length: str-length("Hello"); // 5

str-insert($string, $insert, $index)

str-insert() fonksiyonu bir dizgeye belirtilen konumda başka bir dizge ekler.

1$result: str-insert("Hello", " SASS", 6); // "Hello SASS"

str-slice($string, $start-at, [$end-at])

str-slice() fonksiyonu bir dizenin bir bölümünü çıkartır.

1$substring: str-slice("Hello, World!", 1, 5); // "Hello"

to-upper-case() ve to-lower-case()

to-upper-case() ve to-lower-case() fonksiyonları bir dizgeyi sırasıyla büyük harfe veya küçük harfe dönüştürür.

1$upper: to-upper-case("sass"); // "SASS"
2$lower: to-lower-case("SASS"); // "sass"

Koşullu Mantıkta Dizeler

SASS'ın @if direktifini kullanarak, dize değerlerine göre koşullu dallanma yapabilir ve temalar ile ayarlara göre stilleri esnek şekilde değiştirebilirsiniz.

 1$theme: "dark";
 2
 3@if $theme == "dark" {
 4  body {
 5    background-color: black;
 6    color: white;
 7  }
 8} @else {
 9  body {
10    background-color: white;
11    color: black;
12  }
13}
  • Bu kod, SASS'da temanın dark olup olmadığını kontrol etmek ve buna göre stilleri değiştirmek için @if direktifinin kullanımına bir örnektir.

Pratik Örnek: Dinamik Arka Plan Görseli Yolları Oluşturmak

Aşağıda arka plan görseli URL'si oluşturmak için dize manipülasyonlarının nasıl kullanılacağına dair bir örnek bulunmaktadır.

1$image-path: "/images/";
2$image-name: "background";
3$image-extension: ".jpg";
4
5.background {
6    background-image: url($image-path + $image-name + $image-extension);
7}

Derlenmiş Sonuç

1.background {
2    background-image: url("/images/background.jpg");
3}
  • Bu kod, SASS'da arka plan görseli yolu oluşturup bunu arka plan olarak uygulamak için dizelerin birleştirilmesine örnektir.

Listeler ve Haritalarla Birleştirme

SASS'daki listeleri ve haritaları dize işlemleriyle birleştirerek stilleri daha esnek şekilde oluşturabilirsiniz.

Liste Örneği

1$states: "hover", "focus", "active";
2
3@each $state in $states {
4    .btn-#{$state} {
5        content: "Button in " + $state + " state";
6    }
7}

Derlenmiş Sonuç

1.btn-hover {
2    content: "Button in hover state";
3}
4.btn-focus {
5    content: "Button in focus state";
6}
7.btn-active {
8    content: "Button in active state";
9}
  • Bu kod, bir listedeki her durum için sınıflar oluşturmak ve içerikleri dizeleri birleştirerek dinamik olarak ayarlamak için SASS'daki @each direktifinin kullanımına bir örnektir.

Harita Örneği

 1$colors: (
 2    "primary": "#3498db",
 3    "secondary": "#2ecc71"
 4);
 5
 6@each $name, $color in $colors {
 7    .text-#{$name} {
 8        color: $color;
 9    }
10}

Derlenmiş Sonuç

1.text-primary {
2    color: #3498db;
3}
4.text-secondary {
5    color: #2ecc71;
6}
  • Bu kod, renk isimlerini değerlerle eşleştirmek ve her sınıfı @each direktifiyle dinamik olarak oluşturmak için SASS haritası kullanımına bir örnektir.

Dizeleri Kaçırmak (Escape Etmek)

Bazı dizeleri CSS tanımlayıcıları olarak güvenle kullanmak için kaçırma (escape) yapmak gerekebilir.

1$special_character: "example\\@123";
2.#{$special_character} {
3  content: "This is a valid CSS class.";
4}

Derlenmiş Sonuç

1.example\@123 {
2    content: "This is a valid CSS class.";
3}
  • Bu kod, özel karakterler içeren bir dizeyi SASS'ta bir değişken olarak ele almanın, bunu #{$variable} ile genişletmenin ve CSS'te geçerli bir sınıf adı olarak kullanmanın bir örneğidir.

Sonuç

SASS'daki dize işlemleri, yalnızca dize ifadeleri yazmaktan çok daha fazlasıdır—bunlar, dinamik olarak stiller oluşturmak için güçlü araçlardır. Burada tanıtılan temel işlemler ve fonksiyonları kullanarak, CSS'inizin tekrar kullanılabilirliğini ve bakımı daha kolay olacak şekilde stil tasarımlarınızı daha verimli şekilde geliştirebilirsiniz.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video