CodeBlanks Logo Icon CodeBlanks

Cross-document transitions

CSS kursu · Uzman · Ders 29/53

Çok sayfalı geçişleri öğrenirsin.

Same-document ve cross-document

Aynı belge içinde (örneğin tek sayfalık uygulamada) yapılan geçişlere same-document transition denir; JavaScript ile document.startViewTransition() çağrısı başlatır. Oysa çok sayfalı bir sitede her sayfa farklı bir HTML belgesidir; burada cross-document transition gerekir.

Cross-document geçiş için JavaScript yazmana gerek yok. Tarayıcı sayfalar arası gezinmeyi yakalar ve CSS ile belirttiğin geçişi uygular. Bu, klasik çok sayfalı sitelerde bile akıcı geçişler sağlar.

@view-transition kullanımı

Çok sayfalı bir sitede geçişi açmak için CSS'e @view-transition bölümü eklersin. İçinde navigation: auto yazarsan; tarayıcı aynı-origin gezinmelerde otomatik olarak geçiş çizer.

Bu bölüm her sayfanın stil dosyasında olmalıdır. Aksi halde o sayfa geçişe katılmaz. Eski ve yeni sayfa için ::view-transition-old(root) ve ::view-transition-new(root) seçicileri yine geçerlidir; aynı kök yapısı kullanılır.

Uygulama Çok sayfalı geçişi aç ve süreyi ver

İki bölüm yaz. Birincisi @view-transition olsun; blokta navigation: auto bildirimi bulunsun. İkincisi ::view-transition-old(root) seçicisi olsun; blokta animation-duration: 0.5s bildirimi bulunsun.

Örnek çözümü göster
/* çok sayfalı geçiş ve kök süre */
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation-duration: 0.5s;
}

Kendini test et

  1. Cross-document transition hangi durumda kullanılır?

    • Tek sayfalık bir uygulamada sekme değiştirirken
    • Çok sayfalı bir sitede sayfalar arası gezinirken
    • Bir form gönderildiğinde alanları temizlemek için
    • CSS dosyalarını küçültmek için
    Cevabı göster

    Çok sayfalı bir sitede sayfalar arası gezinirken — Doğru. Cross-document transition çok sayfalı sitelerde sayfalar arası geçiş içindir.

  2. navigation değerini tamamla

    /* çok sayfalı geçiş */
    @view-transition {
      navigation: ____;
    }
    Cevabı göster
    /* çok sayfalı geçiş */
    @view-transition {
      navigation: auto;
    }
  3. Geçiş türlerini araçlarla eşleştir

    same-document
    Tek sayfada DOM değişimi
    cross-document
    Çok sayfalı gezinme
    startViewTransition()
    JS ile tek sayfa geçişi
    @view-transition
    CSS ile çok sayfa geçişi

Uzman bölümündeki tüm dersler