Creating websites with prefers-reduced-data

Part of CSS Media Queries Level 5 is the User Preference Media Feature prefers-reduced-data: The prefers-reduced-data CSS media feature is used to detect if the user has requested the web content that consumes less internet traffic. There currently is no browser support at all, but that doesn’t stop Kilian Valkhof from taking a peek under …

A Calendar in Three Lines of CSS

Here’s a little CSS Grid use case where a list of days is transformed into a calendar: See the Pen Simple Calendar With CSS Grid by Calendar Tricks (@calendartricks) on CodePen. My choice for this CSS calendar tutorial is a list. Why? Because it’s the easiest way to show the amazing capabilities of CSS grid. …

Avoiding tab styles for navigation

Adam Silver, who works at/with the fine folks at GOV.UK: Tabs should only look like tabs if they behave like tabs otherwise it can be in disorienting and confusing for users. Shown above is the old layout that featured the tabs (which are actually links, here). The new version still has the links in place …

Building a Chat App with React Native and Firebase

In this tutorial series , I’ll be showing you how to build a functional and secure chat app using the latest React Native libraries, the Expo framework, and Firebase, powered by the ChatKitty platform. Very complete I must say. Must have taken an ton of work to write. Building a Chat App with React Native …

Playing with JSX

In The several ways to import React, Kent C. Dodds also covers a bit about JSX and “the JSX pragma”. Here’s a video of CSS Tricks’ Chris Coyier goofing around with it. JSX is not fancy. It essentially transforms angle brackets in JavaScript into function calls. That works great for React, but because we can …

The several ways to import React

With the release of React 17 we also had to change the way we import React: To clarify: ✅ import { useState } from 'react'✅ import * as React from 'react'🟡 import React from 'react' The third one is called "default import" and in the long term (maybe in 19 or 20) we will stop …

Debugging Intelligent Tracking Prevention in Safari

Simo Ahava: The purpose of ITP is to prevent tracking tools’ access to data stored and processed in the browser. This involves things like blocking all third-party cookies and restricting the lifetime of first-party cookies. In this article, I want to show you how to use the ITP Debug Mode. It’s a console logger that …

What’s changed in Bootstrap 5?

For those thinking about switching from Bootstrap 4 to 5, the good news is that in terms of CSS and default components, not much has changed. The classes and logic are quite similar from 4 to 5. The Bootstrap team seems to have settled on a “stable API” i.e. to not change class names too …