Einige Methoden und Vorgehensweisen zur Implementierung ohne Bildlaufleisten in CSS

PHPz
Freigeben: 2023-04-21 11:46:21
Original
791 Leute haben es durchsucht

In der Frontend-Entwicklung sind Bildlaufleisten ein sehr häufiges Element. Auf den Webseiten, die wir normalerweise sehen, erscheinen Bildlaufleisten auf fast jeder Seite. In einigen Fällen kann es jedoch vorkommen, dass einige Seiten keine Bildlaufleisten haben, was kein Fehler, sondern eine Designentscheidung ist. In diesem Artikel werden wir einige Methoden und Praktiken zur Implementierung ohne Bildlaufleisten in CSS untersuchen.

  1. Bildlaufleiste ausblenden

Am häufigsten wird die Bildlaufleiste über CSS ausgeblendet. CSS bietet viele Eigenschaften, um den Stil der Bildlaufleiste zu steuern. Wir können einige neue Eigenschaften von CSS3 verwenden, um diesen Effekt zu erzielen. Am Beispiel des Webkit-Browsers können wir Folgendes tun:

body::-webkit-scrollbar { display: none; }
Nach dem Login kopieren

Dadurch kann die gesamte Bildlaufleiste ausgeblendet werden, in anderen Browsern funktioniert es jedoch möglicherweise nicht. Wenn Sie diese Methode in mehreren Browsern verwenden müssen, können Sie den folgenden Code hinzufügen:

html { overflow: -moz-scrollbars-none; }
html {-ms-overflow-style: none;}
html { overflow: -webkit-scrollbar; }
html::-webkit-scrollbar { display: none; }
Nach dem Login kopieren
  1. Overlay scrollbar

Manchmal müssen wir Behalten Sie die Bildlaufleiste bei, gestalten Sie sie jedoch so, dass sie in die Seite integriert wird, um einen natürlicheren Effekt zu erzielen. Dies erfordert einige Fähigkeiten.

Zuerst müssen wir einen Container definieren und ihn auf eine feste Größe beschränken:

.container {
  width: 100%;
  height: 500px;
  overflow: auto;
}
Nach dem Login kopieren

Dann definieren wir zwei untergeordnete Elemente innerhalb des Containers, eines ist der eigentliche Container für den Inhalt und das andere als Bildlaufleiste:

<div class="container">
  <div class="content"></div>
  <div class="scrollbar"></div>
</div>
Nach dem Login kopieren

Als nächstes müssen wir die Bildlaufleiste an der richtigen Position platzieren. Implementiert durch CSS-Positionierung.

.scrollbar {
  position: fixed;
  top: 0;
  right: 0;
  width: 8px;
  height: 100%;
  background-color: #d3d3d3;
  opacity: 0;
  transition: opacity 0.2s;
}
Nach dem Login kopieren

Als nächstes müssen Sie dem Container einen Mausrad-Ereignis-Listener hinzufügen und die Position der Bildlaufleiste aktualisieren.

$('.container').bind('scroll', function() {
  updateScrollbar();
})

function updateScrollbar() {
  var scrollRatio = $('.container').scrollTop() / ($('.content').height() - $('.container').height());
  var topPosition = scrollRatio * ($('.container').height() - $('.scrollbar').height());
  $('.scrollbar').css('top', topPosition);
}
Nach dem Login kopieren
  1. Keine Bildlaufleisten verwenden

Neben dem Verschwinden oder Integrieren der Bildlaufleisten können wir auch andere Methoden verwenden, wie z Seitenwechsel oder Flip-Effekt.

Seitenwechseleffekt:

Platzieren Sie einen ausgeblendeten Inhalt auf einem festen Panel und schieben Sie ihn mithilfe einer CSS-Animation in den sichtbaren Bereich, wenn der Bildlaufpunkt erreicht ist.

.panel {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
Nach dem Login kopieren
.hiddenContent {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 100%;
  overflow: auto;
  padding-right: 17px;
  box-sizing: content-box;
  transition: transform 0.5s ease-in-out;
}
Nach dem Login kopieren
.panel.active .hiddenContent {
  transform: translateY(-100%);
}
Nach dem Login kopieren

Flip-Effekt:

Lassen Sie den Inhalt im dreidimensionalen Raum rotieren, indem Sie einen Container hinzufügen und die Perspektiveigenschaft verwenden.

.container {
  height: 100%;
  perspective: 1000px;
}

.content {
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.5s;
}

.content.inverted {
  transform: rotateX(180deg);
}
Nach dem Login kopieren
$('.container').on('scroll', function() {
  if ($('.container').scrollTop() >= $('.content').height() / 2) {
    $('.content').addClass('inverted');
  } else {
    $('.content').removeClass('inverted');
  }
})
Nach dem Login kopieren

Zusammenfassung:

In diesem Artikel haben wir Möglichkeiten untersucht, in CSS keine Bildlaufleisten zu verwenden, und einige Praktiken zur Anwendung dieser Methoden angewendet. Unabhängig davon, welche Methode Sie verwenden, müssen Sie zwischen visueller Einfachheit und Benutzererfahrung einen Kompromiss abwägen. Wählen Sie basierend auf Ihrem Design, was für Sie am besten funktioniert.

Das obige ist der detaillierte Inhalt vonEinige Methoden und Vorgehensweisen zur Implementierung ohne Bildlaufleisten in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage