¿Cómo elimino la barra de desplazamiento horizontal en un div?


128

Cuando configuro overflow: scroll, obtengo barras de desplazamiento horizontales y verticales.

¿Hay alguna manera de eliminar la barra de desplazamiento horizontal en un div?

Respuestas:


208
overflow-x: hidden;


Gracias, ahorraste mucho tiempo. ¿Alguien puede marcar esto como una respuesta aceptada por favor?
Nagarajan SR

55
Es una mala solución. Porque en este caso solo ocultas el desplazamiento horizontal en el contenedor. Pero si este contenedor es demasiado ancho, su contenido no cabe en su contenedor.
Alex Filatov

38

No olvides escribir overflow-x: hidden;

El código debe ser:

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

21

Con overflow-y: scroll, la barra de desplazamiento vertical siempre estará allí, incluso si no es necesaria. Si desea que la barra de desplazamiento y sea visible solo cuando sea necesario, encontré que esto funciona:

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

19

CSS

overflow-y: scroll;

Véalo en jsFiddle .

Tenga en cuenta que si elimina el -yde la overflow-ypropiedad, se muestra la barra de desplazamiento horizontal.


13

Agregue este código a su CSS. Deshabilitará la barra de desplazamiento horizontal.

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

10

Sin desplazamiento (sin especificar x o y):

.your-class {
   overflow: hidden;
}

Eliminar desplazamiento horizontal:

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

Eliminar desplazamiento vertical:

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

OP necesita desplazarse sin barra de desplazamiento
T04435

8

Para ocultar la barra de desplazamiento horizontal, solo podemos seleccionar la barra de desplazamiento del div requerido y configurarlo en display: none;

Una cosa a tener en cuenta es que esto solo funcionará para los navegadores basados ​​en WebKit (como Chrome) ya que no hay tal opción disponible para Mozilla.

Para seleccionar la barra de desplazamiento, use ::-webkit-scrollbar

Entonces el código final será así:

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

8

Para eliminar la barra de desplazamiento horizontal, use el siguiente código. Funciona al 100%.

html, body {
    overflow-x: hidden;
}


2

Utilizar:

overflow: auto;

Esto mostrará la barra de desplazamiento vertical y solo si hay un desbordamiento vertical, de lo contrario, estará oculto.

Si tiene un desbordamiento x e y, se mostrarán las barras de desplazamiento x e y.

Para ocultar la barra de desplazamiento x (horizontal), incluso si está presente, simplemente agregue:

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

Había estado teniendo problemas donde estaba usando

overflow: none;

Pero sabía que a CSS realmente no le gustaba y no funcionaba al 100% como yo quería.

Sin embargo, esta es una solución perfecta ya que se supone que ninguno de mi contenido es más grande de lo previsto y esto ha solucionado el problema que tenía.

overflow: auto;
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.