CSS :nth-of-class selector


That's not a thing. But it kinda is! Bram covers how frustrating .bar:nth-child(2) is. It's not "select the second element of class .bar." It's "select the second element if it also has the class .bar." The good news? There is a real selector that does the former: :nth-child(2 of .bar) { } Safari...

Teamstack: Easy Automation of Identity Management (Sponsored)


Access management can be a bit of a nightmare, especially when we realize that we rely on a number of different, independent services that power our organizations. Many businesses use Gmail for email, Google Docs for documents, Slack for communication, GitHub for their codebase, etc. Yet each...

Building a Real-Time Chat App with React and Firebase


In this article, we’ll cover key concepts for authenticating a user with Firebase in a real-time chat application. We’ll integrate third-party auth providers (e.g. Google, Twitter and GitHub) and, once users are signed in, we’ll learn how to store user chat data in the Firebase Realtime Database...

CSS Can Influence Screenreaders


Ben Myers covers some clear examples of where CSS totally changes what some screen readers announce. For example, some screenreader will see text-transform: uppercase; on a button label that says "Add" and read it like an abbreviation, "A.D.D." These cases of CSS messing with our screenreader...

Flexible Repeating SVG Masks


Tyler Gaw reminds us that mask-image can repeat, resize, and move just like background-image does, which is fun to combine and play with. I could see it being a fun option for an <hr, like Sara is doing. CodePen Embed Fallback Direct Link to Article — Permalink… Read article...

Auto-Archival


I'm sure most of us have used the ol' Wayback Machine to access some site that's gone offline. I don't actually know how it decides what sites to archive and when, but you can tell it to save pages. There is UI for it right on its homepage. Also, there is a little trick... Typing...

Client-Side Image Editing on Mobile


Michael Scharnagl: Ever wanted to easily convert an image to a grayscale image on your phone? I do sometimes, and that's why I build a demo using the Web Share Target API to achieve exactly that. For this I used the Service Worker way to handle the data. Once the data is received on the client,...

Neumorphism and CSS


Neumorphism (aka neomorphism) is a relatively new design trend and a term that’s gotten a good amount of buzz lately. It’s aesthetic is marked by minimal and real-looking UI that’s sort of a new take on skeuomorphism — hence the name. It got its name in a UX Collective post from December 2019,...

CSS2JS


To add inline styles on an element in JSX, you have to do it in this object syntax, like: <div style={{ fontSize: 16, marginBottom: "1rem" }}Content </div That might look a little weird to us folks who are so used to the CSS syntax, where it is font-size (not fontSize), margin-bottom...

React Suspense in Practice


This post is about understanding how Suspense works, what it does, and seeing how it can integrate into a real web app. We'll look at how to integrate routing and data loading with Suspense in React. For routing, I'll be using vanilla JavaScript, and I'll be using my own micro-graphql-react GraphQL...

Consistent Backends and UX: What are the Barriers to Adoption?


There are very few scenarios in which an eventually consistent database is preferable over a strongly consistent database. Further, in a multi-region application scenario where scaling is necessary, choosing either an undistributed database or an eventually consistent database is even more...

How to Build a Time-Saving Appointment and Event Booking Website


Want to build an appointment and event booking website that gives your clients more time to do business than handle the logistics of it? The Amelia WordPress booking plugin is the answer. How to Build a Time-Saving Appointment and Event Booking Website was written by Bogdan Sandu and published...

Nahoru
Tento web používá k poskytování služeb a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tímto souhlasíte. Další informace