Heim Web-Frontend CSS-Tutorial Diskussion über CSS-Framework

Diskussion über CSS-Framework

Dec 15, 2016 pm 01:46 PM
CSS-Framework

Ich habe in letzter Zeit viele Einführungen in CSS-Frameworks gesehen. Vor ein paar Tagen habe ich etwas gesagt: „In meinem begrenzten Sichtfeld habe ich nichts gesehen, was man wirklich als CSS-Framework bezeichnen könnte.“ Natürlich ist es möglich. Das liegt daran, dass mein Sichtfeld zu klein ist oder die Welt zu groß ist. Ich habe immer noch das Gefühl, dass es viele Dinge gibt, die ich nicht sehen kann.


Schauen wir uns zunächst ein Konzept an, mit dem ich eher einverstanden bin:

Das Framework kann in zwei Frameworks unterteilt werden: White-Box (White-Box) und Black-Box (Black). -Kasten).

Frameworks, die auf Vererbung basieren, werden White-Box-Frameworks genannt. Die sogenannte White Box ist sichtbar und die internen Implementierungsdetails der geerbten übergeordneten Klasse sind der Unterklasse bekannt. Anwendungsentwickler, die White-Box-Frameworks verwenden, entwickeln Systeme, indem sie Unterklassen ableiten oder Mitgliedsmethoden von übergeordneten Klassen überschreiben. Die Implementierung einer Unterklasse hängt stark von der Implementierung der übergeordneten Klasse ab, und diese Abhängigkeit schränkt die Flexibilität und Vollständigkeit der Wiederverwendung ein. Die Lösung dieser Einschränkung kann jedoch darin bestehen, nur die abstrakte übergeordnete Klasse zu erben, da abstrakte Klassen grundsätzlich keine konkrete Implementierung bereitstellen. Das White-Box-Framework ist ein Programmgerüst, und vom Benutzer abgeleitete Unterklassen sind Zubehör für dieses Gerüst.

Das auf der Objektkomponentenassemblierung basierende Framework ist ein Black-Box-Framework. Anwendungsentwickler erhalten eine Systemimplementierung durch Sortieren und Zusammenstellen von Objekten. Benutzer müssen nur die externe Schnittstelle der Komponente verstehen und müssen nicht die spezifische interne Implementierung verstehen. Darüber hinaus ist Assembly flexibler als Vererbung und kann dynamisch geändert werden. Vererbung ist nur ein statisches Konzept zur Kompilierungszeit.

Im Idealfall kann jede erforderliche Funktionalität durch Assemblierung bestehender Komponenten erhalten werden. Tatsächlich sind die verfügbaren Komponenten bei weitem nicht den Anforderungen gewachsen. Manchmal ist es besser, neue Komponenten durch Vererbung zu erhalten, als vorhandene Komponenten zu verwenden Da es einfacher ist, neue Bausteine ​​zusammenzusetzen, werden bei der Entwicklung des Systems sowohl White Boxes als auch Black Boxes verwendet. Allerdings entwickeln sich White-Box-Frameworks tendenziell zu Black-Box-Frameworks, und Black-Box-Frameworks sind auch die idealen Ziele, die die Systementwicklung erreichen möchte.

Werfen wir einen Blick zurück auf die vielen CSS-Frameworks im Internet (YUI heißt „YUI Library CSS Tools“, nicht „YUI CSS Frameworks“). Wie viele davon sind tatsächlich mit dem Konzept eines Frameworks geschrieben? , und wie viele sind nur Definitionen der Style-Basisklasse. Natürlich ist das Verständnis des Frameworks möglicherweise nicht für alle gleich und Sie stimmen möglicherweise nicht mit dem überein, was ich sage.

Lassen Sie uns noch einmal über das CSS-Framework sprechen. Es ist nicht so, dass ich die Existenz dieses Dings nicht schon seit ein oder zwei Jahren probiere. Für große Websites erfordert die Frontend-Entwicklung eine Lösung. Das Framework ist natürlich die erste Wahl. Schade, dass es zu weit von mir entfernt ist, ich bin zu schwach T_T, ich brauche nur zwei Punkte:

Dinge, um den Inhalt unten zu verwalten
Klasse/Komponente
Offensichtlich der erste Punkt ist, dass CSS das nicht kann. Der zweite Punkt ist, dass es im Vergleich zu anderen Sprachen sehr schwach ist.

Als ich vor etwa einem Jahr an einer mittelgroßen Website arbeitete, dachte ich, um faul zu sein, daran, den Inhalt zu modularisieren und Programmierer die Seiten zusammenstellen zu lassen. Die allgemeine Richtung besteht darin, Funktionsblöcke nacheinander zu kapseln, wenn sie den Inhalt der Seite verwenden möchten Ich muss den Code nicht wiederholen. Hallo zusammen.

Auf derselben Website ist es normal, dass ähnliche Inhaltsblöcke mehrfach verwendet werden, z. B. eine Bilderliste, eine Liste von Benutzeravataren oder eine Gruppensymbolliste Würdest du es zu diesem Zeitpunkt schreiben? Wird das Gleiche so verwendet?

 .photoListUesr,.photoListGroup{ /*_*/ }

  Das bedeutet nicht, dass es nicht möglich ist, aber was ist, wenn Sie plötzlich etwas Ähnliches hinzufügen möchten? Möglicherweise müssen Sie den Stil zu diesem Zeitpunkt anpassen. Und was ist mit mir? Wir haben versucht, es auf diese Weise zu verwenden:


In diesem Fall trennen wir die allgemeinen Ausdrücke von Anfang an, verwenden .photoList als Prototyp und verarbeiten die Details durch zusätzliche Klassen. Vor ein paar Tagen habe ich über objektorientierte XHTML- und CSS-Programmierung geschrieben. Tatsächlich habe ich nur die Hälfte davon geschrieben, aber ich habe es nicht zu Ende geschrieben, weil ich zu viele Beispiele schreiben musste Der Kern wurde bereits geschrieben. ^^ Dies hat natürlich auch bestimmte Probleme, das heißt, die Definition des ursprünglichen Prototyps muss sehr sorgfältig sein und sicherstellen, dass dies möglicherweise nicht der Fall ist, wenn er in Zukunft überarbeitet wird geändert. Mit CSS passt ein Framework grundsätzlich höchstens auf eine Website. Wenn die Website groß genug ist, ist es natürlich sinnvoll, sie auf diese Weise zu verwenden.


Je modularer HTML und CSS sind, desto verteilter sind die Dateien und desto schwerwiegender wird dieses Problem. HTML ist einfach zu handhaben, da die Anwendung schließlich eine Kopie zusammenführt und ausgibt, CSS wird jedoch normalerweise verworfen und direkt verwendet. Im aktuellen Beispiel sieht der Weg zum Importieren von CSS in die Webseite wie folgt aus:

 @import url(/xxx/photoList.css);
 @import url(/xxx/UserCt. css);
  @import url(/xxx/GroupCt.css);

Dann können Sie sogar in Betracht ziehen, ein Programm zum Kombinieren von Seiten zu verwenden, aber es ist einfach zu verwenden und proportional zur Anzahl der Anfragen. Im Allgemeinen wird sich jeder dafür entscheiden, Dateien manuell zusammenzuführen. Obwohl das menschliche Gehirn intelligenter ist als ein Computer, ist die Rechenleistung des menschlichen Gehirns in vielen Fällen nicht so gut wie die eines Computers. Ich hatte einmal die Idee, ein serverseitiges Programm zu verwenden, um den CSS-Freigabemechanismus zu verwalten. Die allgemeine Richtung besteht darin, die Nutzung verschiedener Seiten der gesamten Website anhand von Website-Zugriffsprotokollen zu analysieren und das Programm zu verwenden, um zu berechnen, welche öffentlichen Nutzungen Die Reihenfolge muss zusammengeführt werden (die Reihenfolge der CSS-Dateien beeinflusst die Priorität) usw. Verschiedene Berechnungen und komprimierte Ausgaben.

Leider ist ein derart komplexes Programm möglicherweise nur für eine Site oder eine Gruppe von Sites derselben Serie geeignet. Obwohl dies etwas mühsam ist, halte ich es für notwendig, diese Methode für Websites auf Portalebene zu verwenden. Voraussetzung ist natürlich, dass das gesamte Team dasselbe Designmuster verwenden muss.

PS: Das obige CSS-Publishing-Programm ist nur meine Fantasie. Ich habe es noch nicht ausprobiert. Wenn es zu Unfällen kommt, übernehmen wir keine Verantwortung.

Natürlich kann das oben Genannte nicht als CSS-Framework bezeichnet werden, vielleicht kann es nur als Lösung auf Systemebene bezeichnet werden. Schließlich ist CSS nur eine beschreibende Sprache.

Als ich gestern Abend mit Yueying gebratene Ente aß, sprachen wir darüber und er fragte mich, ob ich eine integrierte Front-End-Lösung hätte. Das gleiche Problem tritt auf, wenn JS in Komponenten unterteilt wird, und ähnliche Veröffentlichungsmechanismen sollten auch auf JS anwendbar sein. Aber ich habe noch keine vollständig integrierte Lösung gefunden. Vielleicht lädt Yueying mich noch ein paar Mal mit gebratener Ente ein, und ich kann es herausfinden.

Das Obige ist die Diskussion über das CSS-Framework. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (www.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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices Entmystifizierende Bildschirmleser: Zugrunde Formen und Best Practices Mar 08, 2025 am 09:45 AM

Dies ist der 3. Beitrag in einer kleinen Serie, die wir in Form von Barrierefreiheit gemacht haben. Wenn Sie den zweiten Beitrag verpasst haben, lesen Sie "Verwalten des Benutzerfokus mit: Fokus-Sichtbar". In

Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Hinzufügen von Kastenschatten zu WordPress -Blöcken und -Elementen Mar 09, 2025 pm 12:53 PM

Die CSS-Box-Shadow- und Umrisseigenschaften haben Thema gewonnen. JSON-Unterstützung in WordPress 6.1. Sei ein paar Beispiele für die Funktionsweise in realen Themen und welche Optionen wir diese Stile auf WordPress -Blöcke und Elemente anwenden müssen.

Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Erstellen Sie ein JavaScript -Kontaktformular mit dem Smart Forms Framework Mar 07, 2025 am 11:33 AM

Dieses Tutorial zeigt, dass professionelle JavaScript-Formulare mithilfe des Frameworks Smart Forms erstellt werden (Hinweis: Nicht mehr verfügbar). Während der Rahmen selbst nicht verfügbar ist, bleiben die Prinzipien und Techniken für andere Formbauer relevant.

Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Vergleich der 5 besten PHP -Formbauer (und 3 kostenlose Skripte) Mar 04, 2025 am 10:22 AM

In diesem Artikel werden die auf dem Envato -Markt verfügbaren Top -Skripte für PHP -Formulierungen untersucht und deren Funktionen, Flexibilität und Design verglichen. Lassen Sie uns vor dem Tauchen in bestimmte Optionen verstehen, was ein PHP -Formular Builder ist und warum Sie einen verwenden würden. Eine PHP -Form

Arbeiten mit GraphQL Caching Arbeiten mit GraphQL Caching Mar 19, 2025 am 09:36 AM

Wenn Sie kürzlich mit GraphQL gearbeitet oder seine Vor- und Nachteile überprüft haben, haben Sie zweifellos Dinge wie "GraphQL nicht unterstützen Caching" oder gehört

Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Machen Sie Ihren ersten Seltsamen -Sufle -Übergang Mar 15, 2025 am 11:08 AM

Die Sufelte Transition -API bietet eine Möglichkeit, Komponenten zu beleben, wenn sie das Dokument eingeben oder verlassen, einschließlich benutzerdefinierter Svelte -Übergänge.

Show, Don ' Tell Show, Don ' Tell Mar 16, 2025 am 11:49 AM

Wie viel Zeit damit, die Inhaltspräsentation für Ihre Websites zu entwerfen? Wenn Sie einen neuen Blog -Beitrag schreiben oder eine neue Seite erstellen, denken Sie darüber nach

Edle und coole CSS -Scrollbars: Ein Schaufenster Edle und coole CSS -Scrollbars: Ein Schaufenster Mar 10, 2025 am 11:37 AM

In diesem Artikel werden wir in die Welt der Scrollbars eintauchen. Ich weiß, es klingt nicht zu glamourös, aber vertrau mir, eine gut gestaltete Seite geht Hand in Hand

See all articles