Wir haben am 1. Januar ein neues Website-Design eingeführt! Dies ist die 17. Version von CSS-Tricks, wenn Sie das glauben können. Die Versionen entwickeln sich nach dem anfänglichen Start in der Regel erheblich weiter, aber wir archivieren Screenshots auf dieser Design-History-Seite. Wie ich in unserem Dankesbeitrag für 2018 gesagt habe
Dies ist mit Abstand die meiste Zeit, Mühe und das meiste Geld, das seit dem großen v10-Design in ein Redesign geflossen ist. Es gibt viele ästhetische Änderungen, aber auch eine ganze Menge UX-Arbeit, Ausrichtung auf Geschäftsziele, Workflow-Optimierung und Backend-Entwicklungsarbeit, die damit verbunden waren.
Dies ist eine große Sache! Die Resonanz war bisher ziemlich gut, aber bitte beachten Sie, dass wir es in den ersten Tagen verfeinern und viele Fehler beheben werden.
Hier sind einige Notizen darüber, wer beteiligt war, wie es dazu kam und worauf Sie achten sollten.
Kylie leitete dieses Projekt
Kylie Timpani war die leitende Designerin und im Grunde die gesamte Projektleiterin dafür.

Ich habe sie im April 2017 zum ersten Mal kontaktiert, wir haben im Mai gesprochen und im Juni mit der Arbeit begonnen. Aus meiner Sicht war dies ein ziemlich lockerer Prozess, da ich keine besonderen Fristen und ziemlich lockere Ziele hatte. Lassen Sie uns eine attraktive Seite erstellen, die in jeder Hinsicht besser ist als die, die wir jetzt haben.

Kylie war super organisiert und hatte einen sehr durchdachten Prozess für jeden Aspekt dieses Projekts. Allein im ersten Zeitblock, den Kylie für dieses Projekt eingeplant hatte, hat sie
- Eine vollständige Inhaltsinventur durchgeführt
- Analysedaten ausgewertet, um Nutzer, Traffic und Nutzung auf hoher Ebene zu verstehen
- Eine Leserumfrage erstellt, verteilt und analysiert, um die Leser besser zu verstehen und spezifische Fragen zu beantworten, die sie an sie hatte
- Mit allen Mitarbeitern von CSS-Tricks gesprochen, um deren Rollen, Arbeitsabläufe und Ideen zu verstehen

Kylie ist offensichtlich nicht die Art von Designerin, die einfach ein Designtool öffnet und anfängt zu kritzeln. So sehr sie auch eine großartige visuelle Designerin ist, die Arbeit war hochgradig informiert. Sie sprach weiter mit unserer Werbeagentur, identifizierte klar die aktuellen Stärken und Schwächen der Website und machte leichtes Wireframing.

Ich benutze Figma für visuelle Designarbeiten, und Kylie hat das gerne als Designtool verwendet. Das war gut, da wir beide Team-Zugriff hatten und es gemeinsam nutzen konnten. Für mich war es hauptsächlich nützlich, alles sehen und referenzieren zu können und Notizen zu den Designs zu machen.

Wir haben auch Asana verwendet, um zu verfolgen, woran gerade gearbeitet wurde, und letztendlich als Ort, um Fehler und Stellen zu verfolgen, die bei der Implementierung des Designs Aufmerksamkeit erforderten.


Vielen Dank, Kylie, für all deine hervorragende Arbeit an diesem Projekt! Wenn etwas an der Website nicht ganz stimmt oder fehlerhaft ist, liegt das an meiner schlechten Implementierung. Und viel Glück! ⤵️
⚡️ So! Apropos lebensverändernde Neuigkeiten… in nur wenigen Wochen ziehe ich nach San Francisco! Ich freue mich SO SEHR, mich @nrrrdcore und ihrem wirklich unglaublichen Team bei Apple anzuschließen! 👩🏻💻✨
— Kylie Timpani (@kylietimpani) 7. Januar 2019
Design-Sachen
Ich überlasse es Ihnen, das Design selbst zu erkunden, um all die kleinen Details zu finden, die wir eingebaut haben, aber ich werde ein paar davon hervorheben, bei denen es technische Details gibt, die Ihnen gefallen könnten.
Orange-zu-Pink
Offensichtlich haben wir bei diesem Design alles auf Dark Mode gesetzt. Das hat nichts mit der neuen Media Query zu tun, obwohl das mich daran erinnert, dass wir vielleicht Alternativen für diejenigen in Betracht ziehen sollten, die explizit prefers-color-scheme: light; eingestellt haben.
Die Marken-/Akzent-/Aktionsfarben sind Orange und Pink, was gegen die Dunkelheit recht auffällig aussieht, aber auch auf hellen Hintergründen funktioniert.
Ich habe ein schnelles kleines Sass @mixin erstellt, das es mir ermöglichte, diese Farben (mit Variationen, falls nötig) in verschiedenen Winkeln als Hintergründe zu verwenden
@mixin orange-to-pink($deg: to right, $col-1: $orange, $col-2: $pink) {
background-image: linear-gradient($deg, $col-1, $col-2);
}
Und auch auf Text, wo immer wir ihn brauchten (am häufigsten für :hover und :focus)
@mixin gradient-text() {
background: linear-gradient(to right, $orange, $pink);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
Wir benötigten auch den Farbverlauf für Fills und Striche in SVG, also habe ich das ins Dokument gepackt, um es überall dort zu verwenden, wo es benötigt wurde.
<svg width="0" height="0" class="visually-hidden">
<defs>
<linearGradient id="orange-to-pink" x1="0" x2="0" y1="1" y2="0">
<stop offset="0%" stop-color="#DA1B60" />
<stop offset="100%" stop-color="#ff8a00" />
</linearGradient>
</defs>
</svg>
Fixiertes Header
Es gibt etwas an Headern, das immer mehr Komplexität hervorruft, als man vielleicht erwartet. Ich habe das kürzlich mit dem neuen CodePen-Header/Sidebar durchgemacht und es war für diese Seite kompliziert. Teilweise komplizierte das hier
- Es hat seine eigenen einzigartigen Breakpoints. Der Header ist ziemlich voll, daher sind die Breakpoints ziemlich spezifisch und einzigartig für ihn.
- Wir wollten einen festen (aber minimierten) Header, der beim Scrollen nach unten erscheint.
- Wenn Sie eingeloggt sind, gibt es auch eine WordPress-Admin-Bar, die oben auf der Seite fixiert ist. Ich wollte das berücksichtigen.
An einem Punkt wurde es ziemlich unübersichtlich und ich habe schließlich den gesamten CSS-Code gelöscht und ihn neu geschrieben, wobei ich alle Zustände berücksichtigt habe, und Media Queries mit Logik geschrieben habe, um Stile in jedem dieser Zustände klar zu definieren.

Die Idee eines nicht immer festen Headers ist an sich schon interessant. Es bedeutet, dass
- Sie bestimmen müssen, wann Sie die feste Position anwenden
- Sie sicherstellen müssen, dass der Übergang von nicht-fest zu fest (und zurück) keine Layout-Verschiebungen verursacht
Ich war nervös, einen onscroll-Listener anzuhängen und Berechnungen durchzuführen, um zu bestimmen, wann der Wechsel erfolgen soll. Ich bin sicher, es kann verantwortungsvoll gemacht werden, aber ich hatte damit keine guten Erfahrungen. Stattdessen habe ich ein winziges Ein-Pixel-Element auf dem Bildschirm platziert und einen IntersectionObserver daran angehängt und darauf reagiert. Das gab mir die Möglichkeit, die Position in CSS anzupassen, was ein schönes kleines Detail war.
Hier sind die absoluten Grundlagen dieses Codes
Siehe den Pen Fixed Header with IntersectionObserver von Chris Coyier (@chriscoyier) auf CodePen.
Mixup
Ein sehr cooles Feature dieses Designs ist der Mixup-Bereich auf der Homepage. Es war eine Idee von Kylie, um die Vielfalt und Tiefe der Inhalte, die hier auf CSS-Tricks verfügbar sind, zu zeigen und die Leute daran zu erinnern.

Die Linie, die hindurchgeht, muss von der Höhe des HTML-Inhalts in jeder dieser Boxen abhängen. Die Boxen sind auf einem CSS-Grid angeordnet, aber sie können und sollten sich immer noch nach Bedarf für Titel usw. erweitern. Anstatt dies irgendwie mit SVG zu versuchen, wird die Linie im Wesentlichen durch border und border-radius auf einzelnen Boxen zusammengefügt. Um sie auszurichten, musste ich sie gelegentlich mit transform verschieben.
Es gab auch einige z-index-Anweisungen. Es hat Spaß gemacht, dabei Fehler zu machen

Karten
Ich bin irgendwie verliebt in natives Scroll-Snapping. Die Karten haben auf dem Desktop eine lustige Animation, die die gesamte Karte beim Hover/Fokus enthüllt, und auf dem Handy können Sie die gesamte Karte sehen, sind aber leicht durchzufuckeln.
Danke, Amelia!
Das Design sah diese geschwungenen Linientrenner vor

Ich habe ein geringes Vertrauen in die SVG-Pfadsyntax, also habe ich den ersten Versuch unternommen. Ich konnte es so designen, dass es die Linie gut zeichnen und die Strichstärke beibehalten konnte, aber es skalierte nicht ganz richtig.
Siehe den Pen Lighted Path von Chris Coyier (@chriscoyier) auf CodePen.
Ich habe die SVG-Expertin Amelia Bellamy-Royds hinzugezogen, um mir zu helfen, es richtig zu machen. Sie können die Website gerne inspizieren, um zu sehen, wie es gemacht wurde. Es beinhaltet Maskierung und verschachtelte SVGs und Rechtecke und Transformationen und all diese lustigen Dinge. Amelia hat tatsächlich vier Variationen des Codes erstellt und alle Vor- und Nachteile sorgfältig vermerkt. Letztendlich haben wir uns für dieses entschieden
Siehe den Pen Lighted Path von Amelia Bellamy-Royds (@AmeliaBR) auf CodePen.
Eine weitere Sache, bei der Amelia geholfen hat, war das Designelement „Kreis aus Text“. Kylie hatte diese Instanzen skizziert, und ich fand sie so cool, dass ich sie unbedingt umsetzen wollte. Es gibt eine wirklich aufwendige Möglichkeit, dies zu tun, indem man die Zeichen in Spans aufteilt und transformiert, aber das ist etwas unübersichtlich im Vergleich zu <textPath> von SVG. Ich wusste, dass ich den SVG-Weg gehen wollte, aber vielleicht ihn in eine wiederverwendbare Komponente auslagern, damit es kein riesiger Codehaufen ist, jedes Mal, wenn ich einen verwenden möchte.
Mir fiel auf, dass eine Webkomponente hier der beste Weg sein könnte, weil ich die API quasi selbst erfinden kann. Was ich von einer Kreis-Text-Komponente erwartet habe
- Den Text übergeben, der auf dem Kreis gesetzt werden soll
- Den Radius des Kreises deklarieren
- Den Kreis drehen, damit ich den Text an jedem Punkt entlang des Kreises starten kann
Das ergibt als Webkomponente absolut Sinn
<circle-text r="3em" rotate="-90deg">
CSS is super fun & cool & I like CSS!!!
</circle-text>
Meine Expertise mit Webkomponenten ist begrenzt, daher habe ich mich wieder an Amelia gewandt, die sowohl mit Webkomponenten als auch mit SVG großartig ist – eine perfekte Kombination! Das konnte sie tun, was ich leicht in dieses Design integriert habe.

Danke, Ana!
Eine weitere Design-Idee, die Kylie ausgeheckt hat und mich etwas perplex machte, war diese Linie

Ich dachte wieder an SVG, aber ich wollte wirklich normalen HTML-Inhalt schön einbetten. Ich hoffte, es mit Borders oder etwas CSS-typischem hinzubekommen. Ich habe mich an Ana Tudor gewandt, die fantastisch darin ist, schwierige Designsituationen zu meistern und sie mit nativer Browsertechnologie zu lösen. Ana konnte hier eine gute Lösung mit mehreren Gradienten-Hintergründen im Hauptbereich und einem Rand für den oberen rechten Teil, der abfliegt, entwickeln.
Siehe den Pen nav von Ana Tudor (@thebabydino) auf CodePen.
Danke, Zach!
Schriften sind ein einzigartiger Teil des Ladeerlebnisses von Websites, da ihre Präsenz (oder deren Fehlen), wie sie erscheinen und wie sie sich ändern, alle eine wichtige Rolle für die wahrgenommene Leistung der Seite spielen.
Ich hatte das Glück, mit Zach Leatherman über das Laden von Schriften zu sprechen, aber ich fühle mich immer noch nicht ganz wohl damit, was die besten Praktiken in jeder gegebenen Situation sind. Für das Design von CSS-Tricks habe ich mich entschieden, den System-Schriftstapel für den Großteil des Haupttextes zu verwenden. Dies hat den großen Vorteil, dass er sofort gerendert werden kann und ästhetisch gut auf einer technischen Seite funktioniert, ganz zu schweigen davon, dass er sich generell gut mit Rubik, unserer Header-Schrift, kombinieren lässt.
Aber wir mussten uns immer noch mit Rubik auseinandersetzen. Es wird bald ein Artikel von Zach erscheinen, der dies im Detail behandelt, aber im Wesentlichen geht es darum
- Erstellen Sie eine minimal subsetierte Version von Rubik, die den Großteil der Nutzung abdeckt
<link rel="preload" ... >sie- Verwenden Sie sie mit
@font-faceunter Verwendung vonfont-display - Laden Sie eine robustere Version in einer asynchronen zweiten Stufe
Gute Arbeit an alle, die an @css's Relaunch gearbeitet haben!
Schauen Sie sich die Webfonts an, die bei diesem ersten Render von 2,09s Fast 3G erscheinen 🎉
(Offenlegung: Ich habe hier ein bisschen beim Laden der Schriften geholfen 😇) pic.twitter.com/Ih7zJhelQQ
— Zach Leatherman (@zachleat) 1. Januar 2019
Einige Bereiche der Website sind etwas veraltet
Die Foren sind ein so komplizierter Bereich der Website, den man gestalten und pflegen kann. Ich habe einfach die Standard-bbPress-Stile dafür geladen, anstatt zu versuchen, Dinge zu überschreiben oder von Grund auf neu zu beginnen. Ich denke, das wird der beste Weg für die Zukunft sein.
Es gibt einen Galerie-Bereich auf dieser Website, aber ich verlinke ihn nicht mehr, da wir ihn nicht wirklich gut auf dem neuesten Stand gehalten haben und er auch nicht viel genutzt wurde. Die URLs funktionieren immer noch. Vielleicht kommt er eines Tages zurück, aber vorerst genieße ich die Reduzierung technischer und inhaltlicher Schulden.
Technologie-Stack
Es ist ziemlich langweilig. Es ist im Grunde dasselbe, was ich schon immer gemacht habe. Es ist eine Standard-WordPress-Installation mit einem benutzerdefinierten Theme, einem Dutzend Plugins und ein wenig benutzerdefinierter Funktionalität, wie z. B. Bildern, die von Cloudinary betrieben werden. Es läuft auf einer benutzerdefinierten Media Temple-Box, sodass es PHP 7 und MySQL 5.6 haben kann, plus eine Firewall, die auch als CDN fungiert. Es ist schön, eine ziemlich flotte Grundlage zu haben, daher liegt es an mir als Front-End-Entwickler, sie so zu halten.
Ich habe SVG für die Icons, Sass für das Styling und Babel zum Schreiben von jQuery-basierten Funktionalitäten in ES6 verwendet. Ich habe eine Gulp-Datei geschrieben, um all diese Verarbeitung durchzuführen und den lokalen BrowserSync-Entwicklungsserver auszuführen. Lokales WordPress über Local by Flywheel.
Ich bin eigentlich ziemlich zufrieden mit dem Stack, da er sich für mich schnell und produktiv anfühlte. Aber ich gebe zu, ein Teil von mir wünschte, ich hätte mich mehr mit neuen Technologien beschäftigt, wie z. B. webpack-basierte Verarbeitung oder das vollständige Eintauchen in ein server-gerendertes und React-gestütztes Headless WordPress über GraphQL. Der Grund, warum ich es nicht getan habe, ist, dass Langeweile mir so gut gedient hat und Zeit ein wichtiger Faktor ist, da ich alleine entwickle (mein Budget erlaubt kein ganzes Entwicklungsteam). Ich schätze, eine große Überholung der Front-End-Infrastruktur hätte die Entwicklungszeit verdreifacht, mit fragwürdigen Vorteilen. Es klingt immer noch lustig und könnte zukünftige Türen öffnen, aber hey, ein anderes Mal.
Mein letzter Bedauern ist, dass ich wünschte, ich hätte von Anfang an ein echtes Musterbibliotheksystem aufgesetzt. Ich denke, ich habe gut darin abgeschnitten, Dinge in wiederverwendbare Teile zu zerlegen, aber die Website ist nicht wirklich komponentenorientiert. Als ich mich der Ziellinie näherte, begann ich zu sehen, wie dies für mich etwas reibungsloser hätte verlaufen können, wenn ich mit echten Komponenten gearbeitet hätte, die Daten akzeptieren und Variationen und Ähnliches haben. Natives PHP ist dafür nicht gut geeignet, daher hätte mich das zu irgendeinem Vorlagensystem gezwungen, und das hätte ich wahrscheinlich nicht bereut. Wenn ich das nächste Mal bei PHP bleibe, würde ich vielleicht etwas wie Timber und Twig für alle Komponenten verwenden und dann Fractal für die Musterbibliothek, da es Twig unterstützt. Ich mag die Art und Weise, wie Timber die Daten von den Ansichten abstrahiert.
Von dieser App habe ich bisher noch nichts gehört, aber schaut euch mal Project Wallace an
Project Wallace ist ein Projekt, das darauf abzielt, über einen längeren Zeitraum Einblicke in Ihr CSS zu gewinnen. Es begann vor ein paar Jahren als Frustration mit bestehenden CSS-Analysetools, die nur eine einmalige Analyse durchführen. Im Laufe der Zeit wurden immer mehr Funktionen hinzugefügt, und jetzt ist Wallace die Anlaufstelle für Entwickler, die wissen wollen, ob ihre Komplexität zugenommen hat, oder für Designer, die wissen wollen, ob alle richtigen Farben und Schriften verwendet werden.
Bart Veneman hat es eingerichtet, um CSS-Tricks zu beobachten, und Sie können einen Vorher-Nachher-Vergleich und Diagramme über die Zeit sehen. Bart hat auch für uns über die Zahlen gebloggt. Danke Bart!

CodePen-Einbettungen
Der wahre Nutzen von CodePen Embed Themes kam hier zum Vorschein. Der Sinn eines Embed-Themes ist, dass Sie sie verwenden können, um das Design an die Stelle anzupassen, an der die Pens eingebettet werden, und wenn Sie dieses Design ändern müssen, können Sie sie alle auf einmal ändern. Es gibt wahrscheinlich Tausende von eingebetteten Pens auf dieser Website, und alle wurden auf einmal mit einer einzigen Theme-Änderung aktualisiert.
Es gibt ein paar spezielle Dinge, die ich mit CodePen-Einbettungen auf dieser Website gemacht habe
- Sie sind von der unteren rechten Ecke aus vergrößerbar. Mit jQuery. So.
- Sie haben eine Platzhalterhöhe. Wenn Sie einen Pen einbetten, können Sie wählen, wie hoch er sein soll. So hoch wird das
<iframe>sein. Aber ich habe es angepasst, so dass das<p>, das vor dem iframe steht, die gleiche Höhe hat, damit es keine Reflow-Jank gibt.
Ich habe das Ding selbst mit Regex bearbeitet, so:
function codepen_reflow_fix($content) {
$content = preg_replace('/data-height=(\'|")(\d*)(\'|")/', 'data-height="$2" style="height: $2px;"', $content);
$content = preg_replace('/data-theme-id="\d*"/', 'data-theme-id="1"', $content);
return $content;
}
add_filter('the_content', 'codepen_reflow_fix', 10);
Wir werden diese Funktion bald zu CodePen selbst bringen. Beachten Sie in dem obigen Regex, dass ich auch die Theme-ID erzwinge. Auf diese Weise haben alle eingebetteten Pens definitiv das richtige Theme, auch wenn wir es vergessen.
Erfolg freigeschaltet: Die benutzerdefinierte Scrollleiste ist das neue Feature, das jeder entweder liebt oder hasst
Wenn es eine Konstante bei jedem CSS-Tricks-Design gab, dann ist es, dass es mindestens ein Feature gibt, das die Leute entweder lieben oder hassen. Dieses Mal freue ich mich, Ihnen mitteilen zu können, dass es die benutzerdefinierte Scrollleiste ist. In gewisser Weise ist es für mich selbst. Ich benutze Scrollleisten manuell ziemlich oft und es fühlt sich sowohl lustig als auch sehr benutzerfreundlich an, diesen großen, dicken Klumpen rosafarbener Liebe zu greifen.

Es ist auch ein wenig inspiriert von VS Code, das eine ziemlich fette Scrollleiste aufweist

Es gibt sicherlich allgemeine Usability-Überlegungen zu benutzerdefinierten Scrollleisten, aber ich glaube nicht, dass diese zu stark, wenn überhaupt, verletzt wurden. Ich habe einige Rückmeldungen gehört wie „verändern Sie nicht die Benutzeroberfläche meines Browsers“, was ich irgendwie verstehe, aber bedeutet das, dass wir keine Formularsteuerelemente stylen oder gar CSS verwenden sollten? (LOL.) Und kommen Scrollleisten nicht vom System und nicht vom Browser?
Jedenfalls fälsche ich sie nicht oder so. Ich benutze nur ::-webkit-scrollbar und Freunde. Es gibt offizielle Scrollleisten-Styling-Sachen auf dem Weg, gemäß den CSS-Spezifikationen. Ich habe nichts davon verwendet. Ich denke, ich werde warten, bis mindestens ein Browser es unterstützt.
Wir haben noch viel Fehlerbehebung und Polieren an diesem Design zu tun. Wenn Sie uns per E-Mail, Tweet oder auf irgendeine Weise dazu kontaktiert haben, habe ich es wahrscheinlich gesehen und alles protokolliert, um sicherzustellen, dass alles bestmöglich behandelt wird. Bleiben Sie auch dran für einige neue Funktionen!
Wenn Sie Gedanken haben, hinterlassen Sie gerne Kommentare hier, nutzen Sie unser Kontaktformular, senden Sie eine E-Mail an [email protected] oder chatten Sie in unserer neuen Spectrum Community.
Gute Arbeit, Mann. Liebe auch das Design.
Ich habe viel mit React und GraphQL gearbeitet und möchte mein Wissen gerne teilen.
Ich arbeite derzeit an einem Projekt ohne CMS, aber mit Postgres, GraphQL, Prisma, Razzle, Jest, React, React Router, Redux, Apollo, Styled Components und React Spring als Schlüsseltechnologien. Dieser Stack fühlt sich wirklich, wirklich fantastisch an! Wenn Sie Zeit haben und bereit sind zu lernen, kann ich Ihnen wärmstens empfehlen, sich mit React und einer oder mehreren der oben genannten Stack-Elemente zu befassen. Speziell für Websites wie diese. Alles in wiederverwendbare Komponenten zu zerlegen, zahlt sich langfristig wirklich aus. Es macht auch viel Spaß, wenn man erst einmal den Dreh raus hat.
Um Ihnen den Einstieg zu erleichtern;
Mit diesem Stack sieht eine typische Komponentenordnerstruktur so aus
Sie möchten auch Razzle verwenden, um ganz einfach eine serverseitig gerenderte Anwendung zu erhalten. Sie können Ihre eigene mit einem ausgeworfenen Create React App erstellen und einige des Codes von Razzle (wie den Server-Index.js für stabile HMR) verwenden, vorausgesetzt, Sie haben Erfahrung mit Webpack (es könnte sonst überwältigend sein, hier anzufangen).
Eine weitere Sache, die ich gerne verwende, ist ein Tool wie Styleguidist. Aber bevor ich dies in mein aktuelles Projekt implementiere, werde ich https://bitsrc.io ausprobieren. Sieht auch ziemlich fantastisch aus, wenn man bedenkt, dass ich Komponenten projektübergreifend wiederverwenden möchte. Ich denke, BitSrc kann Zeit bei der Einrichtung einer NPM-Modul-Bereitstellungspipeline sparen.
Für ein CMS plane ich, mich mit https://strapi.io/ zu befassen. Es ist kostenlos und Open-Source, läuft auf Node.js. Es ermöglicht Ihnen auch, GraphQL als API zu verwenden.
Haben Sie sich Strapi angesehen? Lassen Sie mich wissen, was Sie davon halten :)
Ich habe noch nicht versucht, WordPress mit GraphQL zu verwenden, aber wenn es sich lohnt, lassen Sie es mich wissen. Oder wenn jemand eine bessere Option für ein GraphQL-CMS kennt, das Open-Source und kostenlos ist, lassen Sie es mich bitte wissen.
Ich glaube, als ich diese Seite zum ersten Mal gefunden habe, war CSS-Tricks wahrscheinlich bei Version 9/9.2. Rückblickend bin ich immer noch ziemlich begeistert davon.
Was das Redesign angeht, großartige Arbeit, viel herausragendes Design, das es von der Konkurrenz abhebt.
Ich liebe immer noch, wie Sie den fröhlichen Untertitel all die Jahre beibehalten haben…
*Kann tatsächlich „CSS“ oder „Tricks“ enthalten oder auch nicht.
Ohne CSS-Tricks wäre ich nicht da, wo ich heute bin. Die neue Seite ist großartig. Danke!!!
Ich bin mir nicht sicher, ob dies der richtige Ort ist, um Feedback zu geben, aber wenn Sie Strg+F oder Cmd+F drücken und auf CSS-Tricks suchen, scrollt es sehr langsam, anstatt zum Ergebnis zu springen, was das Finden von Informationen und Schlüsselwörtern auf CSS-Tricks erheblich verlangsamt. Für jemanden, der diese Verknüpfung häufig verwendet, ist dies ein Usability-Problem für mich.
Das ist im Wesentlichen mit scroll-behavior implementiert
Aber Sie sind die dritte Person, von der ich höre, dass sie es speziell nicht mag, weil es das Finden von Dingen auf der Seite beeinflusst (Springen zu mehreren Ergebnissen). Das verstehe ich, und tatsächlich bin ich mir nicht sicher, wie viel Wert sanftes Scrollen auf dieser speziellen Website überhaupt hat, also denke ich, ich werde es entfernen.
Es bringt mich jedoch zum Nachdenken, dass es schön wäre, wenn Browser uns irgendwie wissen lassen würden, ob die Seite in einem Zustand der Suche ist, damit wir Designentscheidungen darauf basieren könnten.
@Chris Ich stimme absolut zu. Bei meinem Job sind wir auf einen Fall gestoßen, bei dem sich unsere Benutzer beschwerten, dass die Strg+F-Box des Browsers einen wichtigen Teil der Benutzeroberfläche verdeckte (wir haben eine sehr dichte Benutzeroberfläche), und ich wollte den Inhalt gerne ein Stück nach unten verschieben, wenn diese geöffnet war. Ich habe versucht, damit zu hacken, indem ich alle Tastenkombinationen verfolgt habe, die das Suchfeld öffnen oder schließen könnten, aber das erwies sich als zu problematisch.
Wow! Das Redesign der Website ist absolut fantastisch. Ich liebe die Farben und den Dark Mode. Es wird definitiv eine Inspiration für andere Websites sein. Und danke, dass Sie uns die Details dahinter zeigen. Das ist großartig.
Gedanken
– Offensichtlich sieht es großartig aus. Ich liebe die neue Farbgebung und die Farbverläufe.
– Ich finde die Scrollleiste großartig. Sie festigt wirklich die Idee, dass dies eine Website für Webentwickler ist, denn es ist eines dieser Dinge, bei denen die anfängliche Reaktion immer noch lautet: „Kann man das mit CSS machen??“
– Ich muss sagen, der Minimalismus macht es ein wenig schwierig, Dinge visuell zu erfassen. Besonders auf der Startseite ist es nicht einfach, die einzelnen Beiträge zu trennen, besonders wenn einige von ihnen die Linie haben, die sich durch die Mitte schlängelt. Eine stärkere Trennung in der Mitte einiger Listenelemente als die zwischen den Listenelementen ist ein wenig kopfschmerzverursachend. Und dann fühlt sich der Abschnitt ganz unten einfach nach sensorischer Überlastung an. Ich denke, einige Ränder um die Beiträge (vielleicht die gleiche Art, die Sie um Kommentar-Antworten haben) wären hilfreich. Die Kommentarbereiche sind etwas besser, obwohl der Farbabstand bei „Root“-Kommentaren dort klein genug ist, dass einige Leute ihn möglicherweise immer noch nicht sehen können.
Wirklich schönes Design. Nur ein kleiner Fehler, den ich bekomme – manchmal (nicht immer), wenn ich nach unten und dann wieder nach oben scrolle, erscheint ein weißer Streifen knapp unter dem Menü.
Hier habe ich einen Screenshot gemacht – https://imgur.com/a/fpdwrd8
Ich habe das auch ab und zu gesehen. Es scheint selten zu sein, aber es passiert. Ich bin mir zu 99% sicher, dass der IntersectionObserver nicht wie erwartet feuert (aber ich habe keine Ahnung, warum).
Super Arbeit! Mir gefällt sehr gut, wie v17 die Monotonie des Material Designs im gesamten Web durchbricht.
Ich bemerke einige Notion.so-Screenshots ganz oben. Ich liebe diesen Dienst.
Es ist interessant zu sehen, wie weit Firefox zurückgelassen wird, sowohl in Bezug auf den Marktanteil als auch auf das Design, das darauf zugeschnitten ist – ich wusste nicht, dass eine benutzerdefinierte Scrollleiste vorgesehen war, bis ich diesen Beitrag gelesen habe; und der Kommentar zur Scrollleistenbreite zeigt wirklich, wie Chrome als Standard angesehen wird – zumindest auf meinem System verwendet Firefox die System-Scrollleiste.
Und das Nicht-Unterstützen dieser Funktionen wird nur noch mehr Leute von FF wegjagen, was bedauerlich ist.
Abgesehen davon ist es interessant, die riesigen Mengen an Weißraum (Schwarzraum?) zu sehen, die verwendet werden.
Ich liebe das neue Redesign, Chris! Props an dich und Kylie!
Das Einzige, was mich beim Betrachten Ihrer Website auf meinem iPhone SE beunruhigt, ist auf Ihrer Homepage. Direkt über dem „CSS-TRICKS“-Logo befindet sich ein Farbverlaufsbalken, der etwa 50 % des oberen Rands des Ansichtsfensters einnimmt. Dieser Balken macht mir Sorgen, weil er wie eine Fortschrittsleiste aussieht, die nie endet.
Danke
Neues Design sieht episch aus! Bezüglich der Tech-Stack, ein paar Gedanken
– Sind Sie schon auf Kinsta gestoßen? Bin vor ein paar Tagen auf sie gestoßen und sie sehen unglaublich schnell zu einem wirklich vernünftigen Preis aus – scheint einfacher als die benutzerdefinierte Box und wahrscheinlich bessere Leistung
– Wir sind uns bei Webpack einig; als ich vor einem Jahr versuchte, Webpack für React zu lernen, hätte ich fast mit Web-Dev aufgehört. Es gibt jedoch eine fantastische Wrapper, die vom Laravel-Team entwickelt wurde – Laravel Mix behandelt SCSS (und eine Menge anderer Dinge) out of the box und ist ein großartiger Weg, um zu einem modernen Workflow zu wechseln. Es wird wahrscheinlich viel weniger Codezeilen als die Gulp-Build-Datei benötigen!
Habe beim Lesen des obigen Textes viele neue Tricks (sowohl Design als auch CSS) gelernt, macht weiter so!
Schönes Redesign! Diese pink-orangen Farbverläufe sehen sehr cool und modern aus.
Ist es möglich, besuchte Links eine andere Farbe zu geben? Das würde helfen zu sehen, ob ich die verlinkte Seite gelesen habe, bevor ich von einer anderen Website komme.
Ich bin kein großer Fan von weißem Text auf schwarzem Hintergrund (die hellen Linien beginnen nach dem Betrachten unscharfe Nachbilder auf der Retina zu erzeugen). Aber solange der Artikel selbst schwarz auf weiß ist, ist es nicht so entscheidend.
Den farbigen Hintergrund von Inline-Code und die Gestaltung von nummerierten Listen gefallen mir sehr gut!
Die Zeilenhervorhebung in Codeblöcken sitzt nicht genau auf der Zeile (mehr die Hälfte der Zeile darunter), siehe https://css-tricks.de/making-movies-with-amcharts/ als Beispiel. Vielleicht hängt es von der Schriftart ab. Auf meinem Computer [Firefox 64, Ubuntu 16.04] werden die Codeblöcke in Source Code Pro anstelle von Operator Mono angezeigt (Probleme mit Font-Embedding?)
Ist es kein Dark Pattern auf diesem Kommentarformular, das Kontrollkästchen für „Get the CSS-Tricks newsletter“ voreinzustellen?
Großartiges Design!
Innovativ und revolutionär.
Herzlichen Glückwunsch!!!
@bram zijp
Machen Sie sich keine allzu großen Sorgen um die Technologie, die auf der CssTricks-Website verwendet wird. Es gibt so viele GraphQL und andere alternative Optionen, ohne nützliche API-Entscheidungen, kostenlos, Open Source und nicht so viel. Jedes Projekt hat seinen eigenen Plan und mögliche Lösungen, abhängig von der Zielgruppe und den Hauptzielbereichen.
Alles ist gut!
Das Redesign hat viele nette Features/Effekte und interessante Ideen – sehr beeindruckend!
Als unregelmäßiger Besucher (ca. 1-2 Mal pro Woche, Desktop-Benutzer) scanne ich normalerweise schnell die Homepage nach neuen Inhalten. Jetzt – auch nach mehreren Besuchen – ist das Scannen der Seite mit dem neuen Design immer noch überraschend schwierig im Vergleich zu früheren Layouts. Persönlich würde ich es bevorzugen, wenn die linke Spalte auf die rechte Seite verschoben würde, um ein schnelleres Scannen zu ermöglichen. (Aktuell minimiere ich das Browserfenster, bis die linke Spalte verschwindet! Das erleichtert das Scannen der Seite erheblich!)
„Beliebt diesen Monat“ ist sehr cool, aber es ist schwierig, auf einem Desktop horizontal zu scrollen. Es wäre sehr hilfreich, wenn die Karten auch horizontal angeklickt und gezogen werden könnten, da die Scrollleiste unter den Karten sehr dünn ist (und einen geringen Kontrast hat). Oder vielleicht sogar auf schmalen Bildschirmen auf eine Rasteransicht umschalten? ;-)
Ich stimme Brandons Kommentaren größtenteils zu, wenn sie auf einem Desktop betrachtet werden. Zum Beispiel wirkt der „Monthly Mixup“ auf breiten Bildschirmen immer noch ungewohnt. Beim ersten Mal dachte ich, das Layout sei kaputt, bis ich schließlich merkte, dass alles in Ordnung war und es so beabsichtigt war. Ich bevorzuge das viel klarere Layout, das auf kleineren Bildschirmen angezeigt wird, wo das Scannen der Inhalte einfacher/effizienter ist.)
Jedes Mal, wenn Sie diese Seite neu gestalten, denke ich etwas wie „Wie überrascht er mich jedes Mal mit einem weiteren exzellenten Thema!“ – großartige Arbeit!
Kleine Anmerkung zu dem Pen, den Sie zu der festen oberen Kopfzeile beim Scrollen hinzugefügt haben: Sie springt beim Scrollen ein wenig, da die obere Polsterung 45px in body.header-not-at-top { … }; beträgt. Sie funktioniert mit einem Wert von 60px!
Eine Sache, die mich wirklich interessieren würde zu wissen, @chriscoyier – wie handhaben Sie die Hervorhebung und Formatierung von Codeblöcken im Inhalt (nicht CodePen)?
Ich kann sehen, dass es sich um
<pre></pre>-Blöcke handelt, daher gehe ich davon aus, dass eine Art WordPress-Plugin verwendet wird, um sicherzustellen, dass die Formatierung für die richtige Sprache erfolgt und dass sie nicht über einen „HTML-Block“ (Gutenberg angenommen) eingegeben werden?Ich benutze derzeit ein Plugin, aber das Styling, die Formatierung, das Layout und das allgemeine Aussehen der Codeblöcke von CSS-Tricks sind sooooooo sauber und schön anzusehen!!!
Ich war sehr hoffnungsvoll und habe https://css-tricks.de/snippets/wordpress/ überprüft, aber kein Glück gehabt!
Ich bin noch nicht bei Gutenberg, teilweise wegen der Codeblöcke! Ich bin mir nicht sicher, wie erfolgreich sie mit dem benutzerdefinierten Markup, das wir verwenden, in Blöcke umgewandelt würden. Noch viel mehr Forschung zu betreiben.
Wir erstellen Pre-Blöcke und syntaxhervorheben sie mit https://prismjs.com/