fix(ui): iPad'de progressive blur kaydırmada ortaya kaymıyor
Site geneli üst/alt blur katmanları `position: fixed` + `backdrop-filter` taşıyordu. iOS/iPadOS WebKit (iPad'de Chrome da WebKit) bu birleşimde bulanıklığı ayrı kompozit katmana alıp scroll sırasında bayat kaydırma konumuyla çiziyor; katman ekranın ortasında şerit gibi görünüyordu. Katmanların stili skiper-ui bileşeninin inline stilinden globals.css'teki `.kt-sayfa-blur`a taşındı (inline stil `@supports` ile ezilemiyordu). `@supports (-webkit-touch-callout: none)` yalnızca iOS/iPadOS'ta eşleşir — masaüstü Safari dahil başka hiçbir tarayıcıda desteklenmez — ve orada bulanıklık + maske düşer, degrade fade korunur. Geometri (112px, z-40, print:hidden) ve diğer tarayıcılardaki görüntü değişmedi. Katalogdaki ProgressiveBlur kullanımları `absolute` olduğu için bu hatadan etkilenmiyor; bileşen onlar için olduğu gibi kaldı. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -253,4 +253,53 @@
|
||||
html {
|
||||
@apply font-sans;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Site geneli üst/alt progressive blur katmanları (root layout).
|
||||
Kendi CSS'iyle yazılır çünkü bu iki katman `position: fixed` + `backdrop-filter`
|
||||
birleşimini taşıyan tek yer: iOS/iPadOS WebKit bu birleşimde bulanıklığı ayrı
|
||||
bir kompozit katmana alıp kaydırma sırasında bayat scroll konumuyla çiziyor,
|
||||
katman ekranın ortasında bir şerit gibi görünüyor (22 Eyl 2026, iPad + Chrome
|
||||
raporu — Chrome iOS da WebKit'tir, hata Safari'yle aynı). Aşağıdaki @supports
|
||||
bloğu yalnızca iOS/iPadOS'ta eşleşir (`-webkit-touch-callout` başka hiçbir
|
||||
tarayıcıda desteklenmez; masaüstü Safari dahil) ve orada bulanıklık + maske
|
||||
düşer, degrade fade kalır. Katalogdaki ProgressiveBlur kullanımları `absolute`
|
||||
olduğu için bu hatadan etkilenmiyor; onlar bileşende kalır. */
|
||||
.kt-sayfa-blur {
|
||||
position: fixed;
|
||||
inset-inline: 0;
|
||||
z-index: 40;
|
||||
height: 7rem;
|
||||
pointer-events: none;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-webkit-backdrop-filter: blur(6px);
|
||||
backdrop-filter: blur(6px);
|
||||
}
|
||||
|
||||
/* Degrade: ekran kenarında gövde zemini (bg-slate-50), içeriye doğru şeffaf.
|
||||
Maske bulanıklığı aynı yönde söndürür — sert kenar kalmaz. */
|
||||
.kt-sayfa-blur-ust {
|
||||
top: 0;
|
||||
background: linear-gradient(to top, transparent, #f8fafc);
|
||||
-webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent);
|
||||
mask-image: linear-gradient(to bottom, #000 50%, transparent);
|
||||
}
|
||||
|
||||
.kt-sayfa-blur-alt {
|
||||
bottom: 0;
|
||||
background: linear-gradient(to bottom, transparent, #f8fafc);
|
||||
-webkit-mask-image: linear-gradient(to top, #000 50%, transparent);
|
||||
mask-image: linear-gradient(to top, #000 50%, transparent);
|
||||
}
|
||||
|
||||
@supports (-webkit-touch-callout: none) {
|
||||
.kt-sayfa-blur {
|
||||
-webkit-backdrop-filter: none;
|
||||
backdrop-filter: none;
|
||||
}
|
||||
.kt-sayfa-blur-ust,
|
||||
.kt-sayfa-blur-alt {
|
||||
-webkit-mask-image: none;
|
||||
mask-image: none;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user