Code für die Implementierung des Wasserfall-Flow-Layouts
Dieser Artikel stellt Ihnen den Code für die Implementierung des Wasserfall-Flow-Layouts vor. Er hat einen gewissen Referenzwert. Ich hoffe, er wird Ihnen hilfreich sein.
index.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>waterfall layout</title> <link type="text/css" href="./imgs/wf.css" rel="stylesheet"/> <script type="text/javascript" src="./imgs/wf.js"></script> </head> <body> <div id="main"> <div class="box"> <div class="pic"> <img src="imgs/0.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/1.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/2.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/3.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/4.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/5.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/6.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/7.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/8.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/9.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/10.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/11.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/12.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/13.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/14.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/15.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/16.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/17.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/18.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/19.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/20.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/21.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/22.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/23.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/24.jpg"/> </div> </div> <div class="box"> <div class="pic"> <img src="imgs/25.jpg"/> </div> </div> </div> </body> </html>
wf.css
@CHARSET "UTF-8"; *{margin:0;padding:0} #main{ position: relative; margin: 10px auto 0 auto; } .box{ float:left; padding: 0 0 15px 15px; } .pic{ border: 1px solid #ccc; padding: 10px; } .box img{ width: 200px; height: auto; }
wf.js
window.onload = function(){ waterfall(); //要加载的数据,暂时写一个固定数据 var dataInt = {"data":[{"src":'3.jpg'},{"src":'13.jpg'},{"src":'23.jpg'},{"src":'1.jpg'}]}; //一个判断拖动滚动条后是否加载新内容的方法 window.onscroll = function(){ if(checkScrollSlide()){ //将数据块渲染到当前页的尾部 for(var i = 0; i < dataInt.data.length;i++){ var parent = document.getElementById('main'); var newBox = document.createElement('p'); newBox.className = 'box'; parent.appendChild(newBox); var newPic = document.createElement('p'); newPic.className = 'pic'; newBox.appendChild(newPic); var newImg = document.createElement('img'); newImg.src = "./imgs/" + dataInt.data[i].src; newPic.appendChild(newImg); waterfall(); } } } } function waterfall(){ var parent = document.getElementById("main"); //写一个方法根据类名box,找到所有节点 var boxArr = getByClass(parent,'box'); //console.log(boxArr.length);//26,检验是否获取到 var bodyWidth = document.body.clientWidth; //document.body.clientWidth 窗口实时显示时的body的宽度 var colWidth = boxArr[0].offsetWidth;//box p的宽度 var cols = Math.floor(bodyWidth / colWidth); //给main p一个宽度,从而让显示内容不会随着浮动,改变布局 var mainWidth = colWidth * cols; parent.style.cssText = 'width:' + mainWidth + 'px;'; var colsHeight = [];//放列高度的数组 for(var i = 0; i < boxArr.length;i++){ var iBox = boxArr[i]; if(i < cols){ colsHeight.push(iBox.offsetHeight); }else{ var rArr = searchMin(colsHeight); var index = rArr[0]; var minH = rArr[1]; var left = parseInt(index * colWidth); var top = minH; iBox.style.position = "absolute"; iBox.style.left = left + 'px'; iBox.style.top = top + 'px'; colsHeight[index] += iBox.offsetHeight; } } } function getByClass(parent,clsName){ //用通配符获得prent下的所有标签节点 var allTags = document.getElementsByTagName("*"); var arr = new Array(); for(var i = 0; i < allTags.length;i++){ if(allTags[i].className == clsName){ arr.push(allTags[i]); } } return arr; } function searchMin(arr){ var min = arr[0]; var index = 0; for(var j = 0; j < arr.length; j++){ if(arr[j] < min){ min = arr[j]; index = j; } } return [index,min]; } function checkScrollSlide(){ var parent = document.getElementById('main'); var boxArr = getByClass(parent,'box'); var lastBox = boxArr[boxArr.length-1]; var lbHeight = lastBox.offsetTop+Math.floor(lastBox.offsetHeight/2); console.log(lbHeight); var slideH = document.body.scrollTop || document.documentElement.scrollTop; console.log(slideH); var winH = document.body.clientHeight || document.documentElement.clientHeight; console.log(winH); var swHeight = slideH + winH; return (lbHeight < swHeight) ? true : false; }
Empfohlene verwandte Artikel:
div-Tag: Implementierung der horizontalen Zentrierung und vertikalen Zentrierung (mit Code)
Einführung in die Verwendung des CSS-Boxgrößenattributs (Boxmodell)
Das obige ist der detaillierte Inhalt vonCode für die Implementierung des Wasserfall-Flow-Layouts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

ANTWORT: Sie können die Datumsauswahlkomponente von Bootstrap verwenden, um Daten auf der Seite anzuzeigen. Schritte: Stellen Sie das Bootstrap -Framework ein. Erstellen Sie ein Eingangsfeld für Datumsauswahl in HTML. Bootstrap fügt dem Selektor automatisch Stile hinzu. Verwenden Sie JavaScript, um das ausgewählte Datum zu erhalten.

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

Befolgen Sie die folgenden Schritte, um Daten in Bootstrap zu überprüfen: Führen Sie die erforderlichen Skripte und Stile ein. Initialisieren Sie die Datumsauswahlkomponente; Legen Sie das Data-BV-Datatattribut fest, um die Überprüfung zu ermöglichen. Konfigurieren von Überprüfungsregeln (z. B. Datumsformate, Fehlermeldungen usw.); Integrieren Sie das Bootstrap -Verifizierungs -Framework und überprüfen Sie automatisch die Datumseingabe, wenn das Formular eingereicht wird.

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.
