Skip to content

Giriş

  • Angular nedir?
  • Temel Bilgiler
    • Genel Bakış
    • Bileşenler
    • Dinamik Verileri Yönetme
    • Dinamik Şablonları Oluşturma
    • Koşullu İfadeler ve Döngüler
    • Kullanıcı Etkileşimini Yönetme
    • Kod Paylaşımı

Kapsamlı Kılavuzlar

  • Component
    • Bir Componentin Anatomisi
    • Component’leri İçe Aktarma ve Kullanma
    • Component Seçiciler
    • Stil Componentleri
    • Input Özelliklerine Sahip Verileri Kabul Etme
    • Outputları Olan Özel Etkinlikler
    • Ng-content ile İçerik Projeksiyonu
    • Component Ana Öğeleri
    • Component Yaşam Döngüsü
    • Sorgularla Bileşen Alt Öğelerine Başvurma
    • DOM API’lerini Kullanma
    • Inheritance
    • Bileşenleri Programlı Olarak Oluşturma
    • Gelişmiş Bileşen Yapılandırması
  • Şablon Sözdizimi
    • Genel Bakış
    • Text Interpolation
    • Template Statements
    • Bağlamayı Anlama
    • Property Binding
    • En İyi Property Binding Kullanımları
    • Öznitelik Bağlama
    • Sınıf ve stil bağlama
    • Olay Bağlama
    • İki Yönlü Bağlama
    • Yerleşik Kontrol Akışı
    • Şablon Değişkenlerini Anlama
    • Şablon Olarak SVG
  • Directives
    • Directives
    • Öznitelik yönergeleri
    • Yapısal Direktifler
    • API Direktif Bileşimi

Bağımlılık Enjeksiyonu

  • Genel Bakış
  • Başlangıç
  • Dokümanlar
  • Kapsamlı Kılavuzlar
  • Component
  • Stil Componentleri

Stil Componentleri

Componentler isteğe bağlı olarak, o bileşenin DOM’una uygulanan CSS stillerini içerebilir:

@Component({
  selector: 'profile-photo',
  template: `<img src="profile-photo.jpg" alt="Your profile photo">`,
  styles: ` img { border-radius: 50%; } `,
})
export class ProfilePhoto { }

Ayrı dosyalarda stillerinizi yazmayı da seçebilirsiniz:

@Component({
  selector: 'profile-photo',
  templateUrl: 'profile-photo.html',
  styleUrl: 'profile-photo.css',
})
export class ProfilePhoto { }

Angular bileşeniniz derlendikçe, bu stiller Componentlerin JavaScript çıktısı ile birlikte yayınlanır. Bu, bileşen stillerinin JavaScript modül sisteminde yer aldığı anlamına gelir. Bir Angular Componenti render ettiğinizde, framework otomatik olarak ilişkili stilleri dahil eder, hatta bir bileşeni lazy-loading yaptığınızda bile.

Style kapsamı #

Her componentin , framework bir bileşenin stillerini nasıl kapsadığını belirleyen bir görünüm encapsulation ayarı vardır. Üç görünüm encapsulation modu vardır: Emulated, ShadowDom ve None. Modu @Component dekoratöründe belirtebilirsiniz:

ViewEncapsulation.Emulated #

Angular, varsayılan olarak encapsulation taklit eder, böylece bir componentin stilleri yalnızca o componentin şablonunda tanımlanan öğelere uygulanır. Bu modda, framework her bileşen örneği için benzersiz bir HTML özniteliği oluşturur, bu özniteliği componentin şablonundaki öğelere ekler ve bu özniteliği componentin stillerinde tanımlanan CSS seçicilere ekler.

Bu mod, bir componentin  stillerinin sızıp diğer componenti etkilemesini önler. Bununla birlikte, component dışında tanımlanan global stiller hala encapsulation edilmiş kapsam ile bir componentim içindeki öğeleri etkileyebilir.

Angular, encapsulation edilmiş modda, Shadow DOM kullanmadan :host ve :host-context yalancı sınıflarını destekler. Derleme sırasında, çerçeve bu yalancı sınıfları özniteliklere dönüştürür. Angular’ın encapsulation edilmiş kapsülleme modu, ::shadow veya ::part gibi Shadow DOM ile ilgili diğer yalancı sınıfları desteklemez.

::ng-deep #

Angular’ın öykünmeli encapsulation modu, :ng-deep adında özel bir sözde sınıfı destekler. Bu sözde sınıfın bir CSS kuralına uygulanması, o kural için encapsulation devre dışı bırakarak kuralı etkili bir şekilde global bir stile dönüştürür. Angular ekibi ::ng-deep’in yeni kullanımını kesinlikle önermez. Bu API’ler yalnızca geriye dönük uyumluluk içindir.

ViewEncapsulation.ShadowDom #

Bu mod, web standardı Shadow DOM API’sini kullanarak bir bileşen içindeki stilleri kapsar. Bu mod etkinleştirildiğinde, Angular bileşenin ana öğesine bir gölge kökü ekler ve bileşenin şablonunu ve stillerini ilgili gölge ağacında oluşturur.

Bu mod, bileşenin şablonundaki öğelere yalnızca o bileşenin stillerinin uygulanacağını kesin olarak garanti eder. Global stiller gölge ağacındaki öğeleri etkileyemez ve gölge ağacının içindeki stiller gölge ağacının dışındaki öğeleri etkileyemez.

Ancak ShadowDom encapsulation etkinleştirmek, stil kapsamından daha fazlasını etkiler. Bileşenin bir gölge ağaçta oluşturulması olay yayılımını, API ile etkileşimi ve tarayıcı geliştirici araçlarının öğeleri nasıl gösterdiğini etkiler. Bu seçeneği etkinleştirmeden önce uygulamanızda Shadow DOM kullanmanın tüm sonuçlarını her zaman anlayın.

ViewEncapsulation.None #

Bu mod, bileşen için tüm stil kapsüllemesini devre dışı bırakır. Bileşenle ilişkili tüm stiller global stiller gibi davranır.

Şablonlarda stil tanımlama #

Ek stiller tanımlamak için bir bileşenin şablonundaki <style> öğesini kullanabilirsiniz. Bileşenin görünüm kapsülleme modu, bu şekilde tanımlanan stiller için geçerlidir.

Angular, stil öğelerinin içindeki bağlamaları desteklemez.

Harici stil dosyalarına başvurma #

Bileşen şablonları CSS dosyalarına referans vermek için <link> öğesini kullanabilir. Ek olarak, CSS’niz CSS dosyalarına referans vermek için @importat-kuralını kullanabilir. Angular bu referansları harici stiller olarak değerlendirir. Harici stiller, öykünülmüş görünüm kapsüllemesinden etkilenmez.

Neler hissediyorsun?
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Hala sıkışık? Nasıl yardımcı olabiliriz?

Nasıl yardımcı olabiliriz?

Updated on 28 February 2024
Component SeçicilerInput Özelliklerine Sahip Verileri Kabul Etme

Powered by BetterDocs

İçindekiler
  • Style kapsamı
  • ViewEncapsulation.Emulated
  • ::ng-deep
  • ViewEncapsulation.ShadowDom
  • ViewEncapsulation.None
  • Şablonlarda stil tanımlama
  • Harici stil dosyalarına başvurma
Angular TR

Tüm hakları saklıdır