Vücutta Kaydırmayı Devre Dışı Bırak


138

HTML'de kaydırmayı bodytamamen devre dışı bırakmak istiyorum . Aşağıdaki seçenekleri denedim:

  • overflow: hidden; (çalışmıyor, kaydırmayı devre dışı bırakmadı, sadece kaydırma çubuğunu gizledi)

  • position: fixed; (bu işe yaradı, ancak tamamen en üste kaydırıldı, bu özel uygulama için kabul edilemez)

Bu iki seçeneğe alternatif bulamadım, başka var mı?


3
hangi öğe için taşma uyguladınız: gizli?
Sajad Karuthedath

Burada tam olarak ne başarmaya çalışıyorsun? Nihai hedefiniz nedir?
jbutler483

2
İlgili kodun gösterilmesi size yardım etmeyi kolaylaştıracaktır.
Şık Geek

1
taşma: gizli; gidilecek yol. Çalışmıyorsa, css'nizde başka bir probleminiz var. Html, body {overflow: hidden;} bu işe yaramazsa deneyin * {overflow: hidden;} ve neyin yanlış olduğunu bulmaya çalışın
Jonas Grumann

Yanıtlar:


246

Ayarla heightve overflow:

html, body {margin: 0; height: 100%; overflow: hidden}

http://jsfiddle.net/q99hvawt/


3
"html" yi "gövdeden önce" unuttum.

2
Sabit konuma sahip bir kaplama öğeniz olduğunda iOS'ta çalışmıyor.
notQ

1
Sadece "taşma": "gizli" ekleyebilirsiniz ve düzgün çalışacaktır.
JPG

Bu çözüm benim için hemen işe yaramadı, ancak incelemeden sonra "marj" bir yerlerde geçersiz kılındı. Bu öğenin "margin: 0;" ayarlanması hile yaptı.
joaoprib

19

Gövde etiketi de yazabileceğiniz hiçbir şey yapmazsa HTML css iyi çalışır

<body scroll="no" style="overflow: hidden">

Bu durumda geçersiz kılma vücut etiketinde olmalıdır, kontrolü daha kolaydır ancak bazen baş ağrısı verir.


21
Bu geçerli HTML5
mbomb007

@ mbomb007 Burada HTML5 ile ilgili hata hakkında yorum yapabilir misiniz?
Ethan

5
@Ethan scrollÖznitelik <body>etikette geçerli değil . Bulabildiğim hiçbir spesifikasyonda geçerli olarak listelenmemiş. w3schools ; MDN ; Quackit
mbomb007

14

Bu gönderi yardımcı oldu, ancak başkalarına yardımcı olabilecek küçük bir alternatif paylaşmak istedim:

max-heightBunun yerine ayarlamak heightda hile yapar. Benim durumumda, sınıf geçişine göre kaydırmayı devre dışı bırakıyorum. .someContainer {height: 100%; overflow: hidden;}Kapsayıcının yüksekliğinin görüntü alanından daha küçük olduğu zamanın ayarlanması , kapsayıcıyı uzatır, bu da istediğiniz şey olmaz. Ayar max-heightbunun için hesapları, ancak kabın yüksekliği içerik değişiklikleri, hala kaydırma devre dışı bırakır zaman görüntü alanı bulunuyor büyükse.


bu, üstte kaydırma işleminin istenmeyen yan etkisi olmadan masaüstü tarayıcılar için günümü kurtardı. ancak mobil tarayıcılarda (iphone5s ve android) çalışmadı.
bob

5

Bunu gerçekleştirmek için <body>öğeye 2 CSS özelliği ekleyin .

body {
   height: 100%;
   overflow-y: hidden;
}

Bugünlerde, kullanıcıların bir hesap oluşturmasını gerektiren birçok haber sitesi var. Genellikle yaklaşık bir saniye boyunca sayfaya tam erişim verirler ve ardından bir açılır pencere gösterirler ve kullanıcıların aşağı kaydırmasını engellerler.

Telgraf


bu, kaydırma çubuğunu gizler. Ancak soru özellikle kaydırma çubuğunu gizlemeye bir alternatif
arıyor

@DataGeek, bu sadece kaydırma çubuğunu gizlemez, aynı zamanda aşağı kaydırma özelliğini de durdurur. Ve anladığım kadarıyla istenen buydu. yani sadece gizlemekle kalmaz, aynı zamanda aşağı kaydırmayı da imkansız hale getirir.
bvdb
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.