Hocus-Pokus: Erstellen eines Design-freien Sass-Frameworks
Feb 22, 2025 am 10:48 AM
Hocus-Pocus ist ein Design-freier Sass-Framework, an dem ich in meiner Freizeit arbeite. Die Hauptidee hinter Hocus-Pocus besteht darin, ein universelles und leichtes Stylesheet-Starter-Kit zu erstellen, das sich auf die h?ufigsten Funktionen konzentriert. In diesem Artikel werde ich behandeln, warum ich mich entschlossen habe, mein eigenes Sass -Framework und den Ansatz zu erstellen, den ich dabei gew?hlt habe.
Key Takeaways
- hocus-pocus ist ein Design-freies Sass-Framework, das ein leichtes, universelles Stylesheet-Starter-Kit bietet, das sich auf die h?ufigsten Funktionen konzentriert. Es erm?glicht Benutzern, das Aussehen jeder einzelnen Komponente mit Variablen zu ?ndern, und erm?glicht die Deaktivierung bestimmter Funktionen oder das Definieren einer Reihe von Helfern.
- Das Framework ist einfach mit Bower und NPM zu installieren, wodurch SASS und Autoprefixer ausgeführt werden müssen. Es folgt einer regelm??igen Konvention im Dash-Stil-Namen und achtet genau auf Dokumentation und Aktualisierungen des Hocus-Pocus-Changelogs.
- Zukünftige Pl?ne für Hocus-Pocus sind das ideale Sass-Starter-Kit für komplexe Projekte, die sich auf projektspezifische UI-Komponenten und Themendefinition konzentrieren. Haupt neue Funktionen sind nicht geplant, aber Verbesserungen an Syntax- und Klassennamen k?nnen implementiert werden.
Warum habe ich angefangen, an einem Sass -Framework zu arbeiten?
Kurz gesagt, ich würde sagen, ich habe angefangen, an einem SASS -Framework zu arbeiten, weil ich Zeit sparen wollte, wenn ich neue Webprojekte starten wollte. Mir ist aufgefallen, dass ich selbst, wenn ich an wirklich benutzerdefinierten Designs arbeite, immer dieselben Tools füge, dieselben Standardpakete einbeziehe und eine ?hnliche Sammlung grundlegender CSS -Komponenten implementieren kann.Die zweite Frage, die dann folgt, lautet:
Warum verwenden Sie nicht ein vorhandenes, bekanntes und bew?hrtes Framework wie Bootstrap?
Meine Antwort darauf kommt auf die Vorlieben und meine Herangehensweise an CSS an. Ich denke, Bibliotheken wie Bootstrap oder Foundation sind gro?artig und haben sich stark ver?ndert, wie die Leute über CSS denken. In den meisten F?llen in meiner eigenen Projektarbeit brauche ich jedoch nicht all diese Funktionen und UI -Komponenten wie Fortschrittsriegel oder Semmelbr?sel. Stattdessen habe ich lieber etwas universelleres. Ich bevorzuge etwas, das ich in jedem Projekt verwenden kann, ohne das Framework -CSS -Klassen au?er Kraft zu setzen.Aus den obigen Gründen k?nnen Sie in Hocus-Pocus das Aussehen jeder einzelnen Komponente mit Variablen ?ndern. Sie k?nnen sogar einige Funktionen deaktivieren oder eine Reihe von Helfern definieren. Der Nachteil dieses Ansatzes besteht
Voraussetzungen und Prinzipien
Installation
Das Framework ist verfügbar und einfach mit zwei verschiedenen Paketmanagern zu installieren: Bower und NPM. Es erfordert SASS (minimal erforderliche Version ist 3.3.0) und Autoprefixer ausführen. Autoprefixer wird verwendet, um die erforderlichen Anbieter -Pr?fixe zur endgültigen kompilierten CSS -Datei hinzuzufügen. Ich mache mir heutzutage nicht allzu sehr Sorgen um Kompatibilit?t zwischen verschiedenen Browsern, da ich pers?nlich die Autoprefixing für ausreichend finde. Zus?tzlich verwende ich SASS-Linter (SCSS-Lint), dies ist jedoch nicht erforderlich, um Hocus-Pokus auszuführen und die Dinge richtig zu machen. Hocus-Pocus funktioniert ohne es.
naming Convention
Das n?chste Prinzip ist für jeden Rahmen wichtig - die Namenskonvention. Ich bevorzuge regul?re Klassennamen im Dash -Stil ohne Bem. Ich werde mich nicht beschweren, wenn Sie ein Fan von BEM sind und es vorziehen, die BEM -Namenskonvention zu verwenden, wenn es für Sie funktioniert - und machen Sie es. Aus meiner Sicht behebt BEM nicht alle Verantwortungsprobleme in CSS. Ich finde auch, dass ich mich meinem CSS mit weniger Elementen auf Klassenebene n?here, wenn ich Bem verwende. Das Hinzufügen eines neuen Elements zu einem vorhandenen Block ist einfach zu einfach.
Dokumentation
Zu guter Letzt achte ich genau auf das Schreiben von Dokumentationen und den Hokus-Pokus-Changelog auf dem neuesten Stand. Die Dokumentation muss nicht perfekt sein, besonders zu Beginn, aber ich versuche immer, Zeit zu finden, um sie zu verbessern. Dies hilft Newcomern
Framework -FunktionenDie folgenden Rahmenfunktionen sind meiner Meinung nach am charakteristischsten für Hocus-Pocus und geben Sie den besten überblick darüber, was sein Fokus wirklich ist.
Die meisten Rahmenklassen sind von vorhandenen Projekten inspiriert, an denen ich in der Vergangenheit gearbeitet habe. Sie k?nnen auch einige ?hnlichkeiten mit anderen CSS -Frameworks erkennen, die mich inspiriert haben, insbesondere meine Favoriten - Primer und Inuitcss.
Framework-Funktionen in Hocus-Pocus geh?ren:
- Normalisieren Sie sich mit einigen Verbesserungen wie globaler Box-Gr??en-Set für Border-Box- oder Textelemente ohne oberen Rand.
- Eine neue Standardfarbpalette basierend auf CLRS.cc.
- Ein Flüssigkeitsnetz basierend auf Flexbox mit Breitenhelfern, die Brüche als Klassennamen verwenden (.1/2, .1/3 und so weiter).
- Gro?e Unterstützung für reaktionsschnelles Webdesign. Es besteht die M?glichkeit, entweder "Mobile First" oder "Desktop First" als bevorzugten Ansatz zu w?hlen. Sie sind auch in der Lage, Haltepunkte für jeden zu definieren, und jeder von ihnen erh?lt ihre eigenen Helfer für Abstand, Gitter, Sichtbarkeit und ein einzelnes Sass -Mixin.
$<span>rwd-type: desktop-first; </span>$<span>rwd-map: ( </span> <span>'mobile': 680px </span><span>); </span>$<span>spacing-map: ( </span> <span>'double': double($spacing-unit) </span><span>);</span>Dann haben Sie in kompilierten CSS Zugriff auf Klassen wie .Mobile-1/2, .mobil versteckte und .mobile-padding-Double.
- Generische Standardstile für Textelemente mit vertikalem Rhythmus basierend auf Gridlover.
- Zus?tzliche Modifikatoren für andere HTML -Elemente wie eine Inline -Liste, eine Menüliste, ein Kreisbild oder eine Zebra -Tabelle.
- Verschiedene Tastentypen und drei Versionen von Formularen: Inline, gestapelt und horizontal.
- Essentielle UI -Komponenten wie das Medienobjekt, das Box -Objekt, ein Navigabbar, ein Heldenelement für Zielseiten und eine klebrige Fu?zeile. Nichts mehr.
zukünftige Hoffnungen für Hocus-Pocus
Mein Ziel ist es, Hocus-Pocus zu einem idealen Sass-Starter-Kit zu machen, egal wie komplex Ihre Projekte sind. Auf diese Weise k?nnen Sie sich darauf konzentrieren, projektspezifische UI -Komponenten zu schreiben und Ihr Thema zu definieren.
Ich habe nicht vor, gro?e neue Funktionen zu implementieren. Ich denke, die enthaltenen Funktionen sind eine angemessene Menge an Funktionen und sind wahrscheinlich die letzten. Ich werde die Syntax für einige Komponenten wahrscheinlich verbessern oder einige Namen einzelner Klassen ?ndern, aber ich prognostiziere keine Kompatibilit?tsbrechungs?nderungen aus der aktuellen Version. Im Moment bin ich mehr bestrebt, Fehler zu beheben, die auftreten, wenn mehr Menschen Hocus-Pocus versuchen.
Wenn Sie der Meinung sind, dass das Hocus-Pocus-Framework für Sie in einem bevorstehenden Projekt hilfreich ist, finden Sie eine vollst?ndige Dokumentation auf hocus-pocus.io. Der Hocus-Pocus-Code ist Open Source und alle auf GitHub verfügbar. Ich sch?tze Kommentare, Feedback und Informationen zu potenziellen Problemen.
h?ufig gestellte Fragen (FAQs) zum Erstellen eines Design-Free-Sass-Frameworks
Was ist ein SASS-Framework und warum ist es für die Webentwicklung wichtig? . Es ist wichtig in der Webentwicklung, da es dazu beitr?gt, den Prozess des Erstellens von Stilbl?ttern für Websites zu beschleunigen. Es erm?glicht Entwicklern, Variablen, verschachtelte Regeln, Mixins und Funktionen zu verwenden, die alle bei der Aufrechterhaltung von CSS sehr nützlich sein k?nnen.
Ein Design-Free-Sass-Framework unterscheidet sich von einem regul?ren Sass-Framework, da es dem Benutzer keine Entwurfsentscheidungen auferlegt. Es bietet Entwicklern einen sauberen Schiefer, auf dem sie aufbauen k?nnen, sodass sie ihre eigenen Designoptionen implementieren k?nnen, ohne bereits bestehende Stile au?er Kraft zu setzen. >Verwenden eines Design-Free-Sass-Frameworks bietet mehrere Vorteile. Es erm?glicht den Entwicklern, eine saubere und organisierte Codebasis beizubehalten, wodurch das Verwalten und die Aktualisierung erleichtert wird. Es bietet auch eine solide Grundlage, um darauf aufzubauen und Zeit und Mühe in den ersten Entwicklungsstadien zu sparen.
Wie kann ich damit beginnen, ein Design-freier Sass-Framework zu erstellen? Zuerst müssen Sie Ihre Projektstruktur einrichten. Dann k?nnen Sie Ihre Variablen, Mixins und Funktionen erstellen. Danach k?nnen Sie Ihre Grundstile und Layout -Module aufbauen. Schlie?lich k?nnen Sie Ihren Sass in CSS zusammenstellen. Texteditor, ein Sass -Compiler und ein Webbrowser zum Testen. M?glicherweise finden Sie es auch hilfreich, einen Taskl?ufer wie Gulp oder Grunn zu verwenden, um Ihren Workflow zu automatisieren. Für jede Art von Projekt kann ein Design-Free-Sass-Framework verwendet werden. Es ist besonders nützlich für gro?e Projekte, bei denen die Aufrechterhaltung einer sauberen und organisierten Codebasis von entscheidender Bedeutung ist. SASS -Framework, indem Sie die Variablen, Mixins und Funktionen für Ihren Anforderungen ?ndern. Sie k?nnen auch Ihre eigenen Stile und Layoutmodule hinzufügen. Fügen Sie Ihren Code trocken zu halten (wiederholen Sie sich nicht), verwenden Sie aussagekr?ftige Namen für Ihre Variablen und Mixins und organisieren Sie Ihren Code logisch und konsistent? Mit anderen CSS-Frameworks? M?glicherweise müssen Sie jedoch einige der Standardstile des anderen Frameworks au?er Kraft setzen, um sicherzustellen, dass Ihre Designauswahl nicht au?er Kraft gesetzt wird.
Es gibt viele Online-Ressourcen, um mehr über das Erstellen eines designfreien Sass-Frameworks zu erfahren. Einige gute Orte sind die offiziellen Sass -Dokumentation, Online -Tutorials und Webentwicklungsforen.Das obige ist der detaillierte Inhalt vonHocus-Pokus: Erstellen eines Design-freien Sass-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

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





AutoPrefixer ist ein Tool, das die Pr?fixe von Anbietern automatisch zu CSS -Attributen basierend auf dem Zielbrowserbereich hinzufügt. 1. Es l?st das Problem, die Pr?fixe mit Fehlern manuell aufrechtzuerhalten. 2. Arbeiten Sie das POSTCSS-Plug-in-Formular durch, analysieren Sie CSS, analysieren Sie Attribute, die vorangestellt werden müssen, und generieren Sie den Code gem?? Konfiguration. 3.. 4. Notizen enthalten nicht manuelles Hinzufügen von Pr?fixen, Konfigurationsaktualisierungen, Pr?fixe nicht alle Attribute, und es wird empfohlen, sie mit dem Pr?prozessor zu verwenden.

TocreatestickyHeadersandfooterswithcss, Anwendungseinstellung: Stickyforheaderswithtopvalueandz-Index, sicherstellen, dass ParentContainersdon'Trictit.1.ForstickyHaaders: Einstellungen: Kleber, Top: 0, Z-Index und BackgroundColor.2.

Es gibt drei M?glichkeiten, einen CSS -Laderotator zu erstellen: 1. Verwenden Sie den Basisrotator der Grenzen, um eine einfache Animation durch HTML und CSS zu erreichen. 2. Verwenden Sie einen benutzerdefinierten Rotator mit mehreren Punkten, um den Sprungeffekt durch verschiedene Verz?gerungszeiten zu erreichen. 3. Fügen Sie einen Rotator in die Taste hinzu und wechseln Sie den Klassen über JavaScript, um den Ladestatus anzuzeigen. Jeder Ansatz betont die Bedeutung von Entwurfsdetails wie Farbe, Gr??e, Zug?nglichkeit und Leistungsoptimierung, um die Benutzererfahrung zu verbessern.

Mobile-firstcsSdeSignRequiressettingTheviewPortMetatag, Verwenden von Relativen, StylingFromsMallScreensUp, Optimierungstypographie und touchtargets.First, addtocontrolscaling.second, verwenden Sie%, EM, orreminsteadofpixelforflexiblelayouts.thirds, thishirds

Um ein intrinsisches reaktionsschnelles Gitterlayout zu erstellen, besteht die Kernmethode darin, den Wiederholungsmodus von CSSGrid (automatisch, minmax ()) zu verwenden. 1. Setzen Sie Grid-Template-S?ulen: Wiederholen (automatisch, Minmax (200px, 1FR)), um den Browser automatisch die Anzahl der Spalten anzupassen und die minimalen und maximalen Breiten jeder Spalte zu begrenzen. 2. Verwenden Sie die Lücke, um den Rasterabstand zu steuern. 3. Der Container sollte auf relative Einheiten wie Breite eingestellt werden: 100%und verwenden Sie Box-Gr??en: Border-Box, um die Berechnungsfehler der Breite zu vermeiden und sie mit Rand: Auto zu zentrieren; 4. Setzen Sie optional die Zeilenh?he und die Ausrichtung des Inhalts, um die visuelle Konsistenz wie die Zeile zu verbessern

Um das gesamte Netzlayout im Ansichtsfenster zentriert zu machen, kann es mit den folgenden Methoden erreicht werden: 1. Rand: 0Auto, um horizontales Zentrieren zu erreichen, und der Container muss so eingestellt werden, dass die feste Breite festgelegt wird, die für festes Layout geeignet ist. 2. Verwenden Sie Flexbox, um die Eigenschaften der Rechtfertigung und Ausrichtung der Eigenschaften des Au?enbeh?lters einzustellen, und kombinieren Sie Min-H?he: 100 VH, um vertikale und horizontale Zentrierung zu erzielen, was für Szenarien mit Vollbild-Displays geeignet ist. 3. Verwenden Sie CSSGrid's Place-Items-Eigenschaft, um sich schnell auf den übergeordneten Container zu konzentrieren, der einfach ist und eine gute Unterstützung von modernen Browsern hat. Gleichzeitig ist es erforderlich, sicherzustellen, dass der Elternbeh?lter eine ausreichende H?he hat. Jede Methode hat anwendbare Szenarien und Einschr?nkungen. W?hlen Sie einfach die entsprechende L?sung gem?? den tats?chlichen Bedürfnissen aus.

FeaturedEtctionIncsusinus@SupportSchecksifabrowsersupportSaspecificfeatureboreAppying-relatedStyles.1.ituSconditionalcsblocksbasedonProperty-ValuePairs, solchas@Supports (Display: Grid)

Um mit CSS -Browser -Kompatibilit?t und Pr?fixproblemen umzugehen, müssen Sie die Unterschiede im Browser -Support verstehen und Anbieterpr?fixe vernünftigerweise verwenden. 1. Verstehen Sie gemeinsame Probleme wie Flexbox und Grid -Unterstützung, Position: Sticky Invaly und Animationsleistung ist unterschiedlich. 2. überprüfen Sie den Best?tigungsunterstützungsstatus von Caniuse. 3. Verwenden Sie korrekt -webkit-, -moz-, -ms-, -o- und andere Herstellerpr?fixe; 4. Es wird empfohlen, Autoprefixer zu verwenden, um automatisch Pr?fixe hinzuzufügen. 5. Postcss installieren und Browserlist konfigurieren, um den Zielbrowser anzugeben. 6. automatisch die Kompatibilit?t w?hrend des Baus bew?ltigen; 7. Modernizr -Erkennungsmerkmale k?nnen für alte Projekte verwendet werden; 8. Keine Notwendigkeit, die Konsistenz aller Browser zu verfolgen,
