MDUIDocs
llms.txt bağlantısını kopyalallms-full.txt bağlantısını kopyalaBu sayfayı Markdown olarak görüntüleBu sayfayı ChatGPT ile tartışBu projenin belgelerini ChatGPT ile tartış
Önceden Tanımlı Renkler
Özel Renk
Duvar Kağıdından Renk Çıkar
Lütfen bir duvar kağıdı seçin
Başlarken
AI Destekli Geliştirme
Stiller
Koyu Mod Dinamik Renkler Tipografi Tasarım Tokenları
Frameworklerle Entegrasyon
Bileşenler
Fonksiyonlar
Kütüphaneler

Tasarım Tokenları

Design Tokens, tasarım sistemlerini yönetmek için kullanılan bir stratejidir.

Tasarım sistemindeki tüm yeniden kullanılabilir öğeleri (örneğin renkler, yazı tipleri, boşluklar vb.) bağımsız değişkenler halinde soyutlayarak, tüm tasarım sistemi boyunca bunları birleşik bir şekilde yönetmenize ve uygulamanıza olanak tanır.

mdui, Design Tokens'ı uygulamak için genel CSS Custom Property'leri kullanır. Bu, yalnızca CSS Custom Property'leri değiştirerek tüm mdui bileşenlerinin stillerini genel olarak değiştirebileceğiniz anlamına gelir. Aynı zamanda, kendi geliştirdiğiniz stiller için de öncelikle CSS Custom Property'lerini referans almanız önerilir. Bu, stillerinizin mdui bileşenlerinin stilleriyle tutarlı olmasını sağlamanın yanı sıra, dinamik renk düzenini değiştirirken kendi stillerinizin de renk düzeniyle senkronize olarak güncellenmesini sağlar.

Renk

mdui, Açık Mod ve Koyu Mod için ayrı ayrı birer grup CSS Custom Property sağlar. Açık Mod'da CSS Custom Property adı --mdui-color-{name}-light şeklindedir, burada {name} renk adıdır; Koyu Mod'da ise --mdui-color-{name}-dark şeklindedir.

Ayrıca mdui, --mdui-color-{name} adında bir CSS Custom Property daha sağlar. Bu özellik, Açık Mod'da --mdui-color-{name}-light değerini, Koyu Mod'da ise --mdui-color-{name}-dark değerini referans alır. Bu sayede mevcut Açık Mod ve Koyu Mod'a göre rengi otomatik olarak değiştirebilir.

Bazı renklerin CSS Custom Property'lerini değiştirmeniz gerekiyorsa, hem --mdui-color-{name}-light hem de --mdui-color-{name}-dark özelliklerini aynı anda değiştirmeniz gerekir. CSS Custom Property'leri okurken ise doğrudan --mdui-color-{name} özelliğini kullanın.

CSS Custom Property'lerinin değeri, üç rengin RGB değerlerinin , ile ayrılmasıyla oluşur. Aşağıdaki örnek, renk CSS Custom Property'lerinin kullanımını göstermektedir:

/* primary renginin değerini değiştir */
:root {
  --mdui-color-primary-light: 103, 80, 164;
  --mdui-color-primary-dark: 208, 188, 255;
}

/* foo öğesinin arka plan rengini primary olarak ayarla */
.foo {
  background-color: rgb(var(--mdui-color-primary));
}

/* bar öğesinin arka plan rengini 0.8 opaklıkta primary olarak ayarla */
.bar {
  background-color: rgba(var(--mdui-color-primary), 0.8);
}

Tamamen yeni bir renk şeması oluşturmanız gerekiyorsa, setColorScheme fonksiyonunu kullanmanız önerilir. Bu fonksiyon, verdiğiniz bir renk değerine göre tam bir renk şeması oluşturabilir.

Renk Adı CSS Custom Property Varsayılan Değer Örnek
Primary --mdui-color-primary-light 103, 80, 164
--mdui-color-primary-dark 208, 188, 255
--mdui-color-primary
Primary container --mdui-color-primary-container-light 234, 221, 255
--mdui-color-primary-container-dark 79, 55, 139
--mdui-color-primary-container
On primary --mdui-color-on-primary-light 255, 255, 255
--mdui-color-on-primary-dark 55, 30, 115
--mdui-color-on-primary
On primary container --mdui-color-on-primary-container-light 33, 0, 94
--mdui-color-on-primary-container-dark 234, 221, 255
--mdui-color-on-primary-container
Inverse primary --mdui-color-inverse-primary-light 208, 188, 255
--mdui-color-inverse-primary-dark 103, 80, 164
--mdui-color-inverse-primary
Secondary --mdui-color-secondary-light 98, 91, 113
--mdui-color-secondary-dark 204, 194, 220
--mdui-color-secondary
Secondary container --mdui-color-secondary-container-light 232, 222, 248
--mdui-color-secondary-container-dark 74, 68, 88
--mdui-color-secondary-container
On secondary --mdui-color-on-secondary-light 255, 255, 255
--mdui-color-on-secondary-dark 51, 45, 65
--mdui-color-on-secondary
On secondary container --mdui-color-on-secondary-container-light 30, 25, 43
--mdui-color-on-secondary-container-dark 232, 222, 248
--mdui-color-on-secondary-container
Tertiary --mdui-color-tertiary-light 125, 82, 96
--mdui-color-tertiary-dark 239, 184, 200
--mdui-color-tertiary
Tertiary container --mdui-color-tertiary-container-light 255, 216, 228
--mdui-color-tertiary-container-dark 99, 59, 72
--mdui-color-tertiary-container
On tertiary --mdui-color-on-tertiary-light 255, 255, 255
--mdui-color-on-tertiary-dark 73, 37, 50
--mdui-color-on-tertiary
On tertiary container --mdui-color-on-tertiary-container-light 55, 11, 30
--mdui-color-on-tertiary-container-dark 255, 216, 228
--mdui-color-on-tertiary-container
Surface --mdui-color-surface-light 254, 247, 255
--mdui-color-surface-dark 20, 18, 24
--mdui-color-surface
Surface dim --mdui-color-surface-dim-light 222, 216, 225
--mdui-color-surface-dim-dark 20, 18, 24
--mdui-color-surface-dim
Surface bright --mdui-color-surface-bright-light 254, 247, 255
--mdui-color-surface-bright-dark 59, 56, 62
--mdui-color-surface-bright
Surface container lowest --mdui-color-surface-container-lowest-light 255, 255, 255
--mdui-color-surface-container-lowest-dark 15, 13, 19
--mdui-color-surface-container-lowest
Surface container low --mdui-color-surface-container-low-light 247, 242, 250
--mdui-color-surface-container-low-dark 29, 27, 32
--mdui-color-surface-container-low
Surface container --mdui-color-surface-container-light 243, 237, 247
--mdui-color-surface-container-dark 33, 31, 38
--mdui-color-surface-container
Surface container high --mdui-color-surface-container-high-light 236, 230, 240
--mdui-color-surface-container-high-dark 43, 41, 48
--mdui-color-surface-container-high
Surface container highest --mdui-color-surface-container-highest-light 230, 224, 233
--mdui-color-surface-container-highest-dark 54, 52, 59
--mdui-color-surface-container-highest
Surface variant --mdui-color-surface-variant-light 231, 224, 236
--mdui-color-surface-variant-dark 73, 69, 79
--mdui-color-surface-variant
On surface --mdui-color-on-surface-light 28, 27, 31
--mdui-color-on-surface-dark 230, 225, 229
--mdui-color-on-surface
On surface variant --mdui-color-on-surface-variant-light 73, 69, 78
--mdui-color-on-surface-variant-dark 202, 196, 208
--mdui-color-on-surface-variant
Inverse surface --mdui-color-inverse-surface-light 49, 48, 51
--mdui-color-inverse-surface-dark 230, 225, 229
--mdui-color-inverse-surface
Inverse on surface --mdui-color-inverse-on-surface-light 244, 239, 244
--mdui-color-inverse-on-surface-dark 49, 48, 51
--mdui-color-inverse-on-surface
Background --mdui-color-background-light 254, 247, 255
--mdui-color-background-dark 20, 18, 24
--mdui-color-background
On background --mdui-color-on-background-light 28, 27, 31
--mdui-color-on-background-dark 230, 225, 229
--mdui-color-on-background
Error --mdui-color-error-light 179, 38, 30
--mdui-color-error-dark 242, 184, 181
--mdui-color-error
Error container --mdui-color-error-container-light 249, 222, 220
--mdui-color-error-container-dark 140, 29, 24
--mdui-color-error-container
On error --mdui-color-on-error-light 255, 255, 255
--mdui-color-on-error-dark 96, 20, 16
--mdui-color-on-error
On error container --mdui-color-on-error-container-light 65, 14, 11
--mdui-color-on-error-container-dark 249, 222, 220
--mdui-color-on-error-container
Outline --mdui-color-outline-light 121, 116, 126
--mdui-color-outline-dark 147, 143, 153
--mdui-color-outline
Outline variant --mdui-color-outline-variant-light 196, 199, 197
--mdui-color-outline-variant-dark 68, 71, 70
--mdui-color-outline-variant
Shadow --mdui-color-shadow-light 0, 0, 0
--mdui-color-shadow-dark 0, 0, 0
--mdui-color-shadow
Surface tint --mdui-color-surface-tint-color-light 103, 80, 164
--mdui-color-surface-tint-color-dark 208, 188, 255
--mdui-color-surface-tint-color
Scrim --mdui-color-scrim-light 0, 0, 0
--mdui-color-scrim-dark 0, 0, 0
--mdui-color-scrim

Köşe Yuvarlaklığı

mdui, 7 farklı boyutta köşe yuvarlaklığı sağlar. Aşağıda bu köşe yuvarlaklığı CSS Custom Property'lerinin nasıl kullanılacağına dair bir örnek verilmiştir:

/* extra-small köşe yuvarlaklık boyutunu değiştir */
:root {
  --mdui-shape-corner-extra-small: 0.3rem;
}

/* foo öğesinin köşe yuvarlaklığını extra-small olarak ayarla */
.foo {
  border-radius: var(--mdui-shape-corner-extra-small);
}
CSS Custom Property Varsayılan Değer Örnek
--mdui-shape-corner-none 0
--mdui-shape-corner-extra-small 0.25rem
--mdui-shape-corner-small 0.5rem
--mdui-shape-corner-medium 0.75rem
--mdui-shape-corner-large 1rem
--mdui-shape-corner-extra-large 1.75rem
--mdui-shape-corner-full 1000rem

Tipografi

mdui, Display large, Display medium, Display small, Headline large, Headline medium, Headline small, Title large, Title medium, Title small, Label large, Label medium, Label small, Body large, Body medium, Body small dahil olmak üzere 15 farklı metin stili sağlar.

Aşağıda kullanım örneği verilmiştir:

/* Body large metin stilini değiştir */
:root {
  --mdui-typescale-body-large-line-height: 1.6rem;
  --mdui-typescale-body-large-size: 1.2rem;
  --mdui-typescale-body-large-tracking: 0.01rem;
  --mdui-typescale-body-large-weight: 400;
}

/* foo öğesinin metin stilini Body large olarak ayarla */
.foo {
  line-height: var(--mdui-typescale-body-large-line-height);
  font-size: var(--mdui-typescale-body-large-size);
  letter-spacing: var(--mdui-typescale-body-large-tracking);
  font-weight: var(--mdui-typescale-body-large-weight);
}
CSS Custom Property Varsayılan Değer Örnek
--mdui-typescale-display-large-line-height 4rem
Display large
--mdui-typescale-display-large-size 3.5625rem
--mdui-typescale-display-large-tracking 0
--mdui-typescale-display-large-weight 400
--mdui-typescale-display-medium-line-height 3.25rem
Display medium
--mdui-typescale-display-medium-size 2.8125rem
--mdui-typescale-display-medium-tracking 0
--mdui-typescale-display-medium-weight 400
--mdui-typescale-display-small-line-height 2.75rem
Display small
--mdui-typescale-display-small-size 2.25rem
--mdui-typescale-display-small-tracking 0
--mdui-typescale-display-small-weight 400
--mdui-typescale-headline-large-line-height 2.5rem
Headline large
--mdui-typescale-headline-large-size 2rem
--mdui-typescale-headline-large-tracking 0
--mdui-typescale-headline-large-weight 400
--mdui-typescale-headline-medium-line-height 2.25rem
Headline medium
--mdui-typescale-headline-medium-size 1.75rem
--mdui-typescale-headline-medium-tracking 0
--mdui-typescale-headline-medium-weight 400
--mdui-typescale-headline-small-line-height 2rem
Headline small
--mdui-typescale-headline-small-size 1.5rem
--mdui-typescale-headline-small-tracking 0
--mdui-typescale-headline-small-weight 400
--mdui-typescale-title-large-line-height 1.75rem
Title large
--mdui-typescale-title-large-size 1.375rem
--mdui-typescale-title-large-tracking 0
--mdui-typescale-title-large-weight 400
--mdui-typescale-title-medium-line-height 1.5rem
Title medium
--mdui-typescale-title-medium-size 1rem
--mdui-typescale-title-medium-tracking 0.009375rem
--mdui-typescale-title-medium-weight 500
--mdui-typescale-title-small-line-height 1.25rem
Title small
--mdui-typescale-title-small-size 0.875rem
--mdui-typescale-title-small-tracking 0.00625rem
--mdui-typescale-title-small-weight 500
--mdui-typescale-label-large-line-height 1.25rem
Label large
--mdui-typescale-label-large-size 0.875rem
--mdui-typescale-label-large-tracking 0.00625rem
--mdui-typescale-label-large-weight 500
--mdui-typescale-label-medium-line-height 1rem
Label medium
--mdui-typescale-label-medium-size 0.75rem
--mdui-typescale-label-medium-tracking 0.03125rem
--mdui-typescale-label-medium-weight 500
--mdui-typescale-label-small-line-height 0.375rem
Label small
--mdui-typescale-label-small-size 0.6875rem
--mdui-typescale-label-small-tracking 0.03125rem
--mdui-typescale-label-small-weight 500
--mdui-typescale-body-large-line-height 1.5rem
Body large
--mdui-typescale-body-large-size 1rem
--mdui-typescale-body-large-tracking 0.009375rem
--mdui-typescale-body-large-weight 400
--mdui-typescale-body-medium-line-height 1.25rem
Body medium
--mdui-typescale-body-medium-size 0.875rem
--mdui-typescale-body-medium-tracking 0.015625rem
--mdui-typescale-body-medium-weight 400
--mdui-typescale-body-small-line-height 1rem
Body small
--mdui-typescale-body-small-size 0.75rem
--mdui-typescale-body-small-tracking 0.025rem
--mdui-typescale-body-small-weight 400

Durum Katmanı Opaklığı

Bazı mdui bileşenleri, etkileşim sırasında üzerlerine yarı saydam bir katman ekler. Örneğin, <mdui-button> bileşeni, fare üzerine gelindiğinde, odaklandığında, tıklandığında veya sürüklendiğinde yarı saydam bir katman belirir. Bu katmanların opaklığını CSS Custom Property'leri değiştirerek ayarlayabilirsiniz.

Aşağıda kullanım örneği verilmiştir:

/* Durum katmanı opaklığını değiştir */
:root {
  --mdui-state-layer-hover: 0.08;
  --mdui-state-layer-focus: 0.12;
  --mdui-state-layer-pressed: 0.12;
  --mdui-state-layer-dragged: 0.16;
}
CSS Custom Property Varsayılan Değer Örnek
--mdui-state-layer-hover 0.08
--mdui-state-layer-focus 0.12
--mdui-state-layer-pressed 0.12
--mdui-state-layer-dragged 0.16

Yükselme Yüksekliği (Gölge)

Bazı mdui bileşenleri, sayfadaki yükselme hissini simüle etmek için gölge efektine sahiptir. Bu efektleri CSS Custom Property'leri değiştirerek bileşenlerin gölge efektlerini ayarlayabilirsiniz.

Aşağıda kullanım örneği verilmiştir:

/* level1 seviyesindeki gölgeyi değiştir */
:root {
  --mdui-elevation-level1:
    0 0.5px 1.5px 0 rgba(var(--mdui-color-shadow), 19%),
    0 0 1px 0 rgba(var(--mdui-color-shadow), 3.9%);
}

/* foo öğesinin gölgesini level1 olarak ayarla */
.foo {
  box-shadow: var(--mdui-elevation-level1);
}
CSS Custom Property Varsayılan Değer Örnek
--mdui-elevation-level0 none
--mdui-elevation-level1 0 0.5px 1.5px 0 rgba(var(--mdui-color-shadow), 19%), 0 0 1px 0 rgba(var(--mdui-color-shadow), 3.9%)
--mdui-elevation-level2 0 0.85px 3px 0 rgba(var(--mdui-color-shadow), 19%), 0 0.25px 1px 0 rgba(var(--mdui-color-shadow), 3.9%)
--mdui-elevation-level3 0 1.25px 5px 0 rgba(var(--mdui-color-shadow), 19%), 0 0.3333px 1.5px 0 rgba(var(--mdui-color-shadow), 3.9%)
--mdui-elevation-level4 0 1.85px 6.25px 0 rgba(var(--mdui-color-shadow), 19%), 0 0.5px 1.75px 0 rgba(var(--mdui-color-shadow), 3.9%)
--mdui-elevation-level5 0 2.75px 9px 0 rgba(var(--mdui-color-shadow), 19%), 0 0.25px 3px 0 rgba(var(--mdui-color-shadow), 3.9%)

Animasyon

mdui bileşenlerindeki animasyonların hız eğrisi ve süresi CSS Custom Property'leri aracılığıyla yapılandırılabilir.

Aşağıda kullanım örneği verilmiştir:

/* standard hız eğrisini ve short1 süresini değiştir */
:root {
  --mdui-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --mdui-motion-duration-short1: 40ms;
}

/* foo öğesinin geçiş efektini standard hız eğrisi ve short1 süresi kullanacak şekilde ayarla */
.foo {
  transition: all var(--mdui-motion-duration-short1)
    var(--mdui-motion-easing-standard);
}
Tür CSS Custom Property Varsayılan Değer
Hız Eğrisi --mdui-motion-easing-linear cubic-bezier(0, 0, 1, 1)
--mdui-motion-easing-standard cubic-bezier(0.2, 0, 0, 1)
--mdui-motion-easing-standard-accelerate cubic-bezier(0.3, 0, 1, 1)
--mdui-motion-easing-standard-decelerate cubic-bezier(0, 0, 0, 1)
--mdui-motion-easing-emphasized var(--mdui-motion-easing-standard)
--mdui-motion-easing-emphasized-accelerate cubic-bezier(0.3, 0, 0.8, 0.15)
--mdui-motion-easing-emphasized-decelerate cubic-bezier(0.05, 0.7, 0.1, 1)
Süre --mdui-motion-duration-short1 50ms
--mdui-motion-duration-short2 100ms
--mdui-motion-duration-short3 150ms
--mdui-motion-duration-short4 200ms
--mdui-motion-duration-medium1 250ms
--mdui-motion-duration-medium2 300ms
--mdui-motion-duration-medium3 350ms
--mdui-motion-duration-medium4 400ms
--mdui-motion-duration-long1 450ms
--mdui-motion-duration-long2 500ms
--mdui-motion-duration-long3 550ms
--mdui-motion-duration-long4 600ms
--mdui-motion-duration-extra-long1 700ms
--mdui-motion-duration-extra-long2 800ms
--mdui-motion-duration-extra-long3 900ms
--mdui-motion-duration-extra-long4 1000ms

Duyarlı Kırılma Noktaları

mdui bir dizi duyarlı kırılma noktası sağlar. Bu kırılma noktaları CSS Custom Property'leri aracılığıyla yapılandırılabilir. Aşağıda kullanım örneği verilmiştir:

/* sm kırılma noktası değerini değiştir */
:root {
  --mdui-breakpoint-sm: 560px;
}

Dikkat edilmesi gereken nokta, bu CSS Custom Property'leri CSS medya sorgularında kullanılamaz. Aşağıdaki örnek hatalı bir kullanımdır:

/* Hatalı kullanım. Medya sorgusunda CSS Custom Property kullanılamaz */
@media (min-width: var(--mdui-breakpoint-sm)) {
}

JavaScript'te kırılma noktası kontrolü yapmanız gerekiyorsa, breakpoint fonksiyonunu kullanabilirsiniz.

CSS Custom Property Varsayılan Değer
--mdui-breakpoint-xs 0px
--mdui-breakpoint-sm 600px
--mdui-breakpoint-md 840px
--mdui-breakpoint-lg 1080px
--mdui-breakpoint-xl 1440px
--mdui-breakpoint-xxl 1920px
Bu Sayfanın İçindekiler