Bir iframe üzerinde yatay kaydırma çubuğu gizlensin mi?


Yanıtlar:


208

Bunu bir kombinasyonla yapmayı öneririm

  1. CSS overflow-y: hidden;
  2. scrolling="no" (HTML4 için)
  3. ve seamless="seamless"(HTML5 için)*

* seamlessÖzellik standarttan kaldırılmıştır ve hiçbir tarayıcı bunu desteklememektedir.


.foo {
  width: 200px;
  height: 200px;
  overflow-y: hidden;
}
<iframe src="https://bing.com" 
        class="foo" 
        scrolling="no" >
</iframe>


9
Örneğinizi Chrome 15'e yükledim ve hala kaydırma çubuklarını görüyorum.
Dan

61
scrolling="no"Özniteliğin iframe'e eklenmesi, Chrome'daki kaydırma çubuklarını kaldırıyor gibi görünüyor.
Nick

2
@Nick En azından bilgisayarımda kromda kaldırmıyor. img339.imageshack.us/img339/6685/chromelj.png
l46kok

1
@ l46kok ekran görüntünüz şunları içermiyorscrolling="no"
Chase Florell

3
Not seemless niteliği halen önemli tarayıcılarda herhangi biri tarafından desteklenmemektedir . caniuse.com/#feat=iframe-seamless
Liyali


15

İçinizdeki belgenin kodunu değiştirmenize izin veriliyorsa iframeve bu içerik yalnızca üst penceresi kullanılarak görülebiliyorsa, aşağıdaki CSS'yi sayfanıza eklemeniz yeterlidir iframe:

body {
    overflow:hidden;
}

İşte çok basit bir örnek:

http://jsfiddle.net/u5gLoav9/

Bu çözüm şunları yapmanızı sağlar:

  • Üzerinde scrolling="no"özniteliğe ihtiyaç duymadığından HTML5'inizi geçerli tutun iframe(HTML5'teki bu özellik kullanımdan kaldırılmıştır).

  • CSS taşması kullanan tarayıcıların çoğunda çalışır : gizli

  • JS veya jQuery gerekmez.

Notlar:

Kaydırma çubuklarına yatay olarak izin vermemek için bunun yerine şu CSS'yi kullanın:

overflow-x: hidden;

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.