AMP

amp-lightbox

 
You can now use this component outside valid AMP documents using the Bento version of this component. Learn more in the Bento guide.

Description

Öğeleri tam görüntü alanı "lightbox" kalıcı iletişim kutusunda görüntüler.

 

Required Scripts

<script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"></script>

Supported Layouts

Örnekler

Açıklama Öğeleri tam görüntü alanı "lightbox" kalıcı iletişim kutusunda görüntüler.
Zorunlu Komut Dosyası <script async custom-element="amp-lightbox" src="https://cdn.ampproject.org/v0/amp-lightbox-0.1.js"></script>
Desteklenen Düzenler nodisplay
Örnekler Örneklerle AMP amp-lightbox örneklerine bakın.

Davranış

amp-lightbox bileşeni, tam görüntü alanı yer paylaşımı/kalıcı iletişim kutusunda görüntülenen alt öğeleri tanımlar. Kullanıcı bir öğeye (ör. bir düğme) dokunduğunda veya tıkladığında, tıklanan öğenin on özelliğinde referans alınan amp-lightbox kimliği, lightbox'ın tam görüntü alanını kaplamasını tetikler ve amp-lightbox alt öğelerini görüntüler.

Klavyedeki çıkış tuşuna basıldığında lightbox kapanır. Alternatif olarak, lightbox içinde bir veya daha fazla öğede on özelliği ayarlanır ve close yöntemi belirlenirse öğeye dokunulduğunda veya öğe tıklandığında lightbox kapatılır.

<button on="tap:quote-lb">See Quote</button>
<amp-lightbox id="quote-lb" layout="nodisplay">
  <blockquote>"Don't talk to me about JavaScript fatigue" - Horse JS</blockquote>
  <button on="tap:quote-lb.close">Nice!</button>
</amp-lightbox>

Lightbox'ta resimleri göstermek için <amp-image-lightbox> bileşeni de vardır.

Özellikler

animate-in (isteğe bağlı) Lightbox'ın açılış animasyonu stilini tanımlar. Varsayılan olarak bu özellik fade-in değerine ayarlanır. Geçerli değerler şunlardır: fade-in, fly-in-bottom ve fly-in-top.

Not: fly-in-* animasyonu hazır ayarları, amp-lightbox öğesinin transform özelliğini değiştirir. amp-lightbox öğesini doğrudan dönüştürmeyin. Bir dönüşüm uygulamanız gerekiyorsa bunu, iç içe yerleştirilmiş bir öğede ayarlayın.
close-button (AMPHTML reklamlarında gerekir) Lightbox'ın üst kısmında bir kapat düğmesi başlığı oluşturur. Bu özellik yalnızca AMPHTML Reklamları ile kullanım için gerekli ve geçerlidir.
id (gerekli) Lightbox için benzersiz bir tanımlayıcı.
layout (gerekli) nodisplay değerine ayarlanmalıdır.
scrollable (isteğe bağlı) scrollable özelliği mevcutsa, lightbox içeriğinin lightbox yüksekliğinden taştığı durumlarda içerik kaydırılabilir.

Not: AMPHTML reklamının içinde <amp-lightbox> kullanılırken scrollable özelliğine izin verilmez. Ayrıntılar için AMPHTML reklamları amp-lightbox özelliğini kullanma konusunu okuyun.
scrollable (isteğe bağlı)

Stil

amp-lightbox özelliğini standart CSS ile şekillendirebilirsiniz.

İşlemler

amp-lightbox, söz diziminde AMP kullanabileceğiniz aşağıdaki işlemlerin tetiklenmesini sağlar:

İşlem Açıklama
open (varsayılan) Lightbox'ı açar.
close Lightbox'ı kapatır.

AMPHTML reklamlarında amp-lightbox özelliğini kullanma

amp-lightbox bileşeninin AMPHTML reklamlarında kullanılması deneme aşamasındadır ve etkin bir şekilde geliştirilmektedir. AMPHTML reklamlarında amp-lightbox özelliğini kullanmak amp-lightbox-a4a-proto denemesini etkinleştirin.

amp-lightbox özelliğinin normal AMP dokümanlarında kullanılması ile AMPHTML'de yazılmış reklamlar arasında bazı farklar vardır:

close-button gerektirir

AMPHTML reklamları için close-button özelliği gerekir. Bu özellik, lightbox'ınızın üst kısmında bir başlığın oluşturulmasına neden olur. Başlık, bir kapat düğmesini ve "Reklam"ı görüntüleyen bir etiketi içerir. Bu başlık aşağıdakilerin sağlanması için gereklidir:

  • AMPHTML reklamları için tutarlı ve tahmin edilebilir bir kullanıcı deneyimi ayarlama.
  • Lightbox için her zaman bir çıkış noktasının var olduğundan emin olma (aksi takdirde, reklam öğesi bir lightbox aracılığıyla ana makine doküman içeriğini etkili bir şekilde ele geçirebilir).

close-button özelliği zorunludur ve yalnızca AMPHTML reklamlarında buna izin verilir. Normal AMP dokümanlarında, <amp-lightbox> içeriğinin parçası olarak ihtiyaç duyduğunuz herhangi bir yerde bir kapat düğmesi oluşturabilirsiniz.

Kaydırılabilir lightbox'lara izin verilmez

AMPHTML reklamlarında kaydırılabilir lightbox'lara izin verilmez.

Şeffaf arka plan

AMP çalışma zamanı lightbox genişletilmeden önce reklam öğenizi yeniden boyutlandırdığı ve yeniden hizaladığı için AMPHTML reklamlarında <amp-lightbox> özelliğini kullandığınızda, <body> öğenizin arka planı şeffaf hale gelir. Bu, lightbox açılırken reklam öğesinin görsel olarak "atlanmasını" önlemek için yapılır. Reklam öğenizin bir arka plana ihtiyacı varsa bu arka planı <body> öğesi yerine bir ara kapsayıcıda (tam boyutlu <div> gibi) ayarlayın.

AMPHTML reklamı bir üçüncü taraf ortamında (örneğin, AMP olmayan bir dokümanda) yayınlandığında, reklam öğesi görüntü alanına göre ortalandıktan sonra genişletilir. Bu durum, üçüncü taraf iframe'lerinin eşzamansız olan çerçeve yeniden boyutlandırma gibi özellikler için bir postMessage API'sini kullanma gerekliliğinden kaynaklanır. Böylece, önce reklam öğesinin ortalanması görsel atlamalar olmadan yumuşak bir geçişe olanak tanır.

AMPHTML reklamları için lightbox'ta geçiş örnekleri

Aşağıdaki örneklerde, bir güvenilir iframe ve bir üçüncü taraf iframe içindeki AMPHTML reklamları için lightbox öğesinde animate-in="fly-in-bottom" özelliğinin ayarlandığı bir AMPHTML reklam geçişinin nasıl göründüğü gösterilmektedir.

Güvenilir iframe'lerde (ör. AMP önbelleğinden gelmektedir)


Üçüncü taraf iframe'lerde (ör. AMP önbelleği dışındadır)


Doğrulama

AMP doğrulayıcı spesifikasyonundaki amp-lightbox kurallarına bakın.

Daha fazla yardıma mı ihtiyacınız var?

Bu belgeyi defalarca okudunuz ama tüm sorularınıza tatmin edici bir yanıt bulamadınız mı? Belki başka kişiler de bu şekilde hissetmiştir: Stack Overflow'dan onlara ulaşın.

Stack Overflow'a git
Bir hata veya eksik bir özellik mi buldunuz?

AMP projesi, katılımınızı ve katkılarınızı güçlü bir şekilde teşvik ediyor! Açık kaynak topluluğumuzun devamlı bir katılımcısı olacağınızı umuyoruz ancak özel olarak ilgilendiğiniz konularla ilgili tek seferlik katkıları da memnuniyetle karşılıyoruz.

GitHub'a git