Bir div'deki yatay kaydırma çubuğunu nasıl kaldırırım?


128

Ayarladığımda overflow: scrollyatay ve dikey kaydırma çubukları alıyorum.

Bir div'deki yatay kaydırma çubuğunu kaldırmanın bir yolu var mı?

Yanıtlar:


208
overflow-x: hidden;


Teşekkürler, çok zaman kazandın. Birisi bunu kabul edilmiş bir cevap olarak işaretleyebilir mi?
Nagarajan SR

5
bu kötü bir çözüm. Çünkü bu durumda, yatay kaydırmayı konteynerde gizlemeniz yeterlidir. Ancak bu kapsayıcı çok genişse, içeriğiniz kapsayıcınıza sığmayacaktır.
Alex Filatov

38

Yazmayı unutma overflow-x: hidden;

Kod şu şekilde olmalıdır:

overflow-y: scroll;
overflow-x: hidden;

21

İle overflow-y: scrolldikey kaydırma çubuğu, ihtiyaç olmasa bile her zaman orada olacaktır. Y-kaydırma çubuğunun yalnızca gerektiğinde görünür olmasını istiyorsanız, bunun işe yaradığını buldum:

.mydivclass {overflow-x: hidden; overflow-y: auto;}

19

CSS

overflow-y: scroll;

JsFiddle'da görün .

Eğer kaldırırsanız Bildirimi -ygelen overflow-ymülkiyet, yatay kaydırma çubuğu gösterilir.


13

Bu kodu CSS'nize ekleyin. Yatay kaydırma çubuğunu devre dışı bırakacaktır.

html, body {
    max-width: 100%;
    overflow-x: hidden;
}

10

Kaydırma yok (x veya y belirtmeden):

.your-class {
   overflow: hidden;
}

Yatay kaydırmayı kaldır:

.your-class {
   overflow-x: hidden;
}

Dikey kaydırmayı kaldırın:

.your-class {
   overflow-y: hidden;
}

OP'nin kaydırma çubuğu olmadan kaydırılması gerekiyor
T04435

8

Yatay kaydırma çubuğunu gizlemek için, gerekli div'in kaydırma çubuğunu seçip şu şekilde ayarlayabiliriz: display: none;

Unutulmaması gereken bir nokta, Mozilla için böyle bir seçenek olmadığından, bunun yalnızca WebKit tabanlı tarayıcılarda (Chrome gibi) çalışacağıdır.

Kaydırma çubuğunu seçmek için kullanın ::-webkit-scrollbar

Yani son kod şöyle olacak:

div::-webkit-scrollbar {
  display: none;
}

8

Yatay kaydırma çubuğunu kaldırmak için aşağıdaki kodu kullanın. % 100 çalışıyor.

html, body {
    overflow-x: hidden;
}

5

Yatay olarak taşan bir şeyiniz yoksa, sadece kullanabilirsiniz

overflow: auto;

ve yalnızca gerektiğinde kaydırma çubuklarını gösterecektir.

CSS Taşma Özelliğine Bakın


2

kullanın:

overflow: auto;

Bu, dikey kaydırma çubuğunu gösterecek ve yalnızca dikey bir taşma varsa, aksi takdirde gizlenecektir.

Hem x hem de y taşmanız varsa, hem x hem de y kaydırma çubukları gösterilecektir.

X (yatay) kaydırma çubuğunu gizlemek için, mevcut olsa bile eklemeniz yeterlidir:

overflow-x: hidden;

body {
    font-family: sans-serif;
}

.nowrap {
    white-space: nowrap;
}

.container {
    height: 200px;
    width: 300px;
    padding 10px;
    border: 1px solid #444;

    overflow: auto;
    overflow-x: hidden;
}
<div class="container">
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
  <li>Item 4</li>
  <li>Item 5</li>
  <li>Item 6</li>
  <li>Item 7</li>
  <li class="nowrap">Item 8 and some really long text to make it overflow horizontally.</li>
  <li>Item 9</li>
  <li>Item 10</li>
  <li>Item 11</li>
  <li>Item 12</li>
  <li>Item 13</li>
  <li>Item 14</li>
  <li>Item 15</li>
  <li>Item 16</li>
  <li>Item 17</li>
</ul>
</div>




-3

Kullandığım yerde sorunlar yaşıyordum

overflow: none;

Ancak CSS'nin gerçekten hoşlanmadığını ve istediğim gibi% 100 çalışmadığını biliyordum.

Ancak, içeriğimin hiçbirinin amaçlanandan daha büyük olmaması gerektiği için bu mükemmel bir çözüm ve bu, sahip olduğum sorunu çözdü.

overflow: auto;
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.