classnames
Tailwind CSS
Our great sponsors
classnames | Tailwind CSS | |
---|---|---|
94 | 1,276 | |
17,349 | 78,166 | |
- | 2.1% | |
8.3 | 9.4 | |
6 days ago | 5 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
classnames
-
Gatsby blog: Building SEO-friendly blog with BCMS code starter
The component needs the classname dependency and a search icon which I referenced to work. So install the classname package and download the search icon below.
-
The 20 most used React libraries
classnames: Makes dynamic CSS class application a breeze. Learn more
-
Beyond the Basics: Exploring TailwindCSS and Linaria in Next.js - From Installation to Performance Optimization
But of course, it is a button, so it could have multiple variants: primary and secondary(you can increase the number of customizable params, but we will limit it to 1, variant). To implement this you can use any library for combining classnames, for example, classnames, clsx. Let’s use the classic one, "classnames".
-
Is it okay to split long lists of class names across multiple lines? Why don't you?
Use classnames and you can comma delimited your class names where needed.
-
Creating an Image Upload Modal with Crop and Rotate Functionality in React
To get started with our image modal implementation, i'll assume you already have a React project set up. For UI i’m using Tailwind CSS. But you can use any UI library as your wish. For the image cropping and rotating functionality, we'll be utilizing the react-easy-crop library. This library provides a simple and intuitive way to crop and interact with images and videos within a React component. We will also use the heroicons and classnames libraries in our tutorial. To install all the libraries and their dependencies, open your terminal and navigate to your project's directory. Run the following command:
-
TailwindCSS & Template Literals
Save yourself some headache and use https://github.com/JedWatson/classnames
-
Dynamic CSS based on props: conditional className or style? (using CSS modules)
There is an NPM module called classnames that makes this a bit easier: https://www.npmjs.com/package/classnames
-
Type Safe Tailwind and SCSS Modules
To use the global Tailwind types from styles/cssClasses.d.ts, I've leveraged a lot of work from this post, so credit goes there for a lot of the complex TypeScript wizardry that makes things work. In essence, it builds upon the classnames (or clsx) to provide a helper function that gives us with the type safety we're after. This cleverness means we get type checking that works with whitespace, multiple classes (e.g., "container p-5")and arbitrary values (e.g., "border-[5px]"). The input "container p-5 invalid-class" provides the nifty error message:
-
Simplify Your Tailwind CSS Workflow with tailwind-fun
but I wouldn't recommend it, because I think the point of using tailwind is to not having to abstract class into component based style. it even better to write tailwind classes into the html directly and to use tailwind-fun sparingly and only if you needed to add logic to your classes. tailwind-fun purpose is more like of https://www.npmjs.com/package/classnames rather than any other css library
-
For tailwind users, how do you quickly make sense of what's going on in your html/jsx without semantic css class names? For instance `card`, `card--text`, `card--title` conveys a lot of information that i've felt missing so far in my tailwind journey.
Use the classnames library, that way I can group the utility classes together (one line) and break them up into multiple lines, and additionally have some of them be conditional based on variables/parameters;
Tailwind CSS
-
The best testing strategies for frontends
With better CSS approaches like TailwindCSS and Vanilla Extract (which we're heavily using) it's much easier to maintain the UI and make sure it doesn't change unexpectedly. No more conflicting CSS classes, much less CSS specificity issues and much less CSS code in general.
-
ChatCrafters - Chat with AI powered personas
This app was built with Svelte Kit, Tailwind CSS, and many other technologies. For a full rundown, please visit the GitHub repository
-
Mojo CSS vs. Tailwind: Choosing the best CSS framework
Unlike Tailwind, which has over 77,000 stars on GitHub, Mojo CSS has about 200 stars on GitHub. But the Mojo CSS documentation is fairly good and you can find most of the information you’ll need there.
-
Collab Lab #66 Recap
JavaScript React Flowbite Tailwind Firebase - Auth, Database, and Hosting Vite
-
Show HN: Brutalisthackernews.com – A HN reader inspired by brutalist web design
- Performance is a feature.
Another common interpretation of brutalism is aesthetic, reacting to overly complicated user interfaces by creating simpler, more direct ones. Tailwind CSS (https://tailwindcss.com), one of today's most popular CSS libraries, promotes this approach in its component examples. There's also a neat library I've seen recently called "Neobrutalism Components" for React that I like (https://neobrutalism-components.vercel.app), providing components with a similar look and feel to Gumroad. This might more accurately be called 'Neo-Brutalism,' as noted in the comments.
A more engineering-centric interpretation of Brutalism focuses on form, structure, and efficiency, drawing significantly from brutalist architecture principles. Apart from the user interface itself, most mobile, desktop, and web applications are extremely bloated and often perform worse than sites from 10 years ago did. While one HTML file might be "less brutalist" than the original HN site, it is substantially more brutalist than any HN mobile app in existence, and offers nearly identical functionality.
A broader interpretation of brutalism, which could be termed 'Meta-Brutalism,' is embodied in the overall experience on this site through UX flows. Yes, in the strictest sense, the original HN site is more Brutalist in many ways, but it only shows 30 articles at a time and does not function as a PWA. For this site, the experience of reading 10 stories is arguably less brutalist, but for quickly browsing through several pages and skimming articles (which is how I read HN) it is a lot faster, and in my opinion, more Brutalist.
My primary inspiration was addressing software and tool bloat in UIs rather than strictly adhering to every principle set forth by David Bryant Copeland. I don't find it convincing that this site "isn't brutalist" compared to really any other experience apart from the Main HN site, and I would argue the overall experience is more brutalist in its performance and scrolling behavior.
As a side note: I generally don't like Brutalist architecture that much although I believe it is unfairly maligned. I visited the Salk Institute once and enjoyed it though (https://www.archdaily.com/61288/ad-classics-salk-institute-l...).
-
Ask HN: Who is hiring? (April 2024)
- Staff Software Engineer ($275k/yr): https://tailwindcss.com/careers/staff-software-engineer
We're small, independent, and profitable, with a team of just 6 people doing millions in revenue, and growing sustainably every year. You'd work directly with the founders on open-source software used by millions of people.
If you like the idea of working on a small team that cares about craft and isn't trying to achieve VC scale, I think this is a pretty awesome place to do your best work.
-
Deploy a Golang serverless function for a demo form with htmx
Instead of Booststrap, I used Tailwind CSS as the CSS library.
-
Shared Tailwind Setup For Micro Frontend Application with Nx Workspace
Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
-
Building a Dynamic Job Board with Issues Github, Next.js, Tailwind CSS and MobX-State-Tree
Basic knowledge of Tailwind CSS and MobX-State-Tree
-
CSS Styling (Next.js)
Tailwind is a CSS framework that speeds up the development process by allowing you to quickly write utility classes directly in your TSX markup.
What are some alternatives?
clsx - A tiny (239B) utility for constructing `className` strings conditionally.
flowbite - Open-source UI component library and front-end development framework based on Tailwind CSS
tailwind-merge - Merge Tailwind CSS classes without style conflicts
antd - An enterprise-class UI design language and React UI library
chakra-ui - ⚡️ Simple, Modular & Accessible UI Components for your React Applications
unocss - The instant on-demand atomic CSS engine.
styled-components - Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅
windicss - Next generation utility-first CSS framework.
linaria - Zero-runtime CSS in JS library
emotion - 👩🎤 CSS-in-JS library designed for high performance style composition
React CSS Modules - Seamless mapping of class names to CSS modules inside of React components.
Material UI - Ready-to-use foundational React components, free forever. It includes Material UI, which implements Google's Material Design.