Wie entferne ich die horizontale Bildlaufleiste in einem Div?


128

Wenn ich einstelle overflow: scroll, erhalte ich horizontale und vertikale Bildlaufleisten.

Gibt es eine Möglichkeit, die horizontale Bildlaufleiste in einem Div zu entfernen?

Antworten:


208
overflow-x: hidden;


Vielen Dank, dass Sie viel Zeit gespart haben. Kann jemand dies als akzeptierte Antwort markieren?
Nagarajan SR

5
Es ist eine schlechte Lösung. Denn in diesem Fall verstecken Sie einfach den horizontalen Bildlauf im Container. Wenn dieser Container jedoch zu breit ist, passt Ihr Inhalt nicht in Ihren Container.
Alex Filatov

38

Vergiss nicht zu schreiben overflow-x: hidden;

Der Code sollte sein:

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

21

Mit overflow-y: scrollist die vertikale Bildlaufleiste immer verfügbar, auch wenn sie nicht benötigt wird. Wenn Sie möchten, dass die y-Bildlaufleiste nur sichtbar ist, wenn sie benötigt wird, funktioniert dies wie folgt:

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

19

CSS

overflow-y: scroll;

Sehen Sie es auf jsFiddle .

Beachten Sie , dass die horizontale Bildlaufleiste angezeigt wird, wenn Sie die -yaus der overflow-yEigenschaft entfernen .


13

Fügen Sie diesen Code Ihrem CSS hinzu. Dadurch wird die horizontale Bildlaufleiste deaktiviert.

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

10

Keine Schriftrolle (ohne Angabe von x oder y):

.your-class {
   overflow: hidden;
}

Horizontale Schriftrolle entfernen:

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

Vertikale Schriftrolle entfernen:

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

OP muss ohne Bildlaufleiste
gescrollt werden

8

Um die horizontale Bildlaufleiste auszublenden, können Sie einfach die Bildlaufleiste des gewünschten Divs auswählen und auf einstellen display: none;

Beachten Sie, dass dies nur für WebKit-basierte Browser (wie Chrome) funktioniert, da für Mozilla keine solche Option verfügbar ist.

Verwenden Sie zum Auswählen der Bildlaufleiste ::-webkit-scrollbar

Der endgültige Code sieht also folgendermaßen aus:

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

8

Verwenden Sie den folgenden Code, um die horizontale Bildlaufleiste zu entfernen. Es funktioniert zu 100%.

html, body {
    overflow-x: hidden;
}

5

Wenn Sie nichts horizontal überlaufen haben, können Sie es auch einfach verwenden

overflow: auto;

und es werden nur Bildlaufleisten angezeigt, wenn dies erforderlich ist.

Siehe Die CSS-Überlaufeigenschaft


2

Verwenden:

overflow: auto;

Dadurch wird die vertikale Bildlaufleiste angezeigt und nur bei einem vertikalen Überlauf wird sie ausgeblendet.

Wenn Sie sowohl einen x- als auch einen y-Überlauf haben, werden sowohl x- als auch y-Bildlaufleisten angezeigt.

Um die x (horizontale) Bildlaufleiste auszublenden, fügen Sie einfach Folgendes hinzu:

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

Ich hatte Probleme, wo ich benutzte

overflow: none;

Aber ich wusste, dass CSS es nicht wirklich mochte und es nicht zu 100% so funktionierte, wie ich es wollte.

Dies ist jedoch eine perfekte Lösung, da keiner meiner Inhalte größer als beabsichtigt sein soll und dies das Problem behoben hat, das ich hatte.

overflow: auto;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.