Search
Please Give Me Some Space
3.6.2022
There’s all kinds of ways to do that. Some more advisable and better-suited for certain situations than others, of course.
We could do it directly in HTML:
<pWe go from one line...<br<brdown a couple more.</p
But that’s …
Please Give Me Some Space originally...
Trailing Slashes on URLs: Contentious or Settled?
25.2.2022
A fun deep dive from Zach. Do you have an opinion on which you should use?
1) https://website.com/foo/
2) https://websites.com/foo
The first option has a “trailing slash.” The second does not.
I’ve always preferred this thinking: you use a trailing …
Trailing Slashes...
Multi-Value CSS Properties With Optional Custom Property Values
11.2.2022
Imagine you have an element with a multi-value CSS property, such as transform: optional custom property values:
.el {
transform: translate(100px) scale(1.5) skew(5deg);
}
Now imagine you don’t always want all the transform values to be applied, so some …
Multi-Value CSS Properties With...
No Motion Isn’t Always prefers-reduced-motion
8.2.2022
There is a code snippet that I see all the time when the media query prefers-reduced-motion is talked about. Here it is:
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms...
How to Cycle Through Classes on an HTML Element
26.1.2022
Say you have three HTML classes, and a DOM element should only have one of them at a time:
<div class="state-1"</div<div class="state-2"</div<div class="state-3"</div
Now your job is to rotate them. That is, cycle through classes …
How to Cycle Through Classes on...
Eye Droppin’
9.12.2021
Quick hits! There is a new web API called EyeDropper:
if ('EyeDropper' in window) {
const eyeDropper = new EyeDropper();
try {
// This has gotta be triggered by a user interaction,
// so consider this pseudo-code.
const result …
When is it “Right” to Reach for contain and will-change in CSS?
26.11.2021
I’ve got some blind spots in CSS-related performance things. One example is the will-change property. It’s a good name. You’re telling the browser some particular property (or the scroll-position or content) uh, will, change:
.el {
will-change: opacity;
…
The post When...
CSS “decorations”
22.11.2021
A reader wrote to me the other day asking about this bit of CSS they came across in Wikipedia’s Common.css:
.mw-collapsible-leftside-toggle .mw-collapsible-toggle {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
}
What’s that @noflip business? That’s...
Semantic menu context
11.11.2021
Scott digs into the history of the <menu> element. He traced it as far back as HTML 2 (!) in a 1994 changelog. The vibe then, it seems, was to mark up a list. I would suspect the intention …
The post Semantic menu context appeared first on CSS-Tricks. You can support CSS-Tricks...
Favicons: How to Make Sure Browsers Only Download the SVG Version
5.11.2021
Šime Vidas DM’d me the other day about this thread from subzey on Twitter. My HTML for favicons was like this:
<!-- Warning! Typo! --<link rel="icon" href="/favicon.ico" size="any"<link rel="icon" href="/favicon.svg" type="image/svg+xml"
The attribute size is a typo there...
enterkeyhint
5.11.2021
I only just recently learned the enterkeyhint attribute on form inputs was a thing! It seems like kind of a big deal to me, as crafting HTML form markup is a decent slice of a front-end developer’s life, and this …
The post enterkeyhint appeared first on CSS-Tricks. You can support...
Proxying Third-Party JavaScript as First-Party JavaScript (and the Potential Effect on Analytics)
2.11.2021
First, check out how incredibly easy it is to write a Cloudflare Worker to proxy another URL:
addEventListener("fetch", (event) ={
event.respondWith(
fetch("https://css-tricks.com")
);
});
It doesn’t have any error handling or anything, but hey, it works:
Now imagine how …
The...
The Options for Password Revealing Inputs
6.10.2021
In HTML, there is a very clear input type for dealing with passwords:
<input type="password"
If you use that, you get the obfuscated bullet-points when you type into it, like:
••••••••
That’s the web trying to help with security. If …
The post The Options for Password Revealing...
Amazon Is Selling Used Xbox Series Xs At Scalper Markup Prices
30.9.2021
Almost a year after the PS5 and Xbox Series X came out they’re still incredibly hard to find, and expensive, including at Amazon where the monopolistic retailer appears to be selling at least a few Microsoft consoles for roughly $1,000, or twice what they’re actually supposed to cost.Read more
Building a Form in PHP Using DOMDocument
14.9.2021
Learn how to build an HTML form in PHP using DOMDocument — a structured and expressive way to build logical markup.
The post Building a Form in PHP Using DOMDocument appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter
“Just in Time” CSS
10.9.2021
I believe acss.io is the first usage of “Atomic CSS” where the point of it is to be a compiler. You write CSS like this:
<div class="C(#fff) P(20px)"text
</div
And it will generate CSS like:
.C\(\#333\) {
color: #333;
…
The post “Just in Time” CSS appeared...
Native JavaScript Routing?
23.8.2021
We can update the URL in JavaScript. We’ve got these APIs:
// Adds to browser history
history.pushState({}, "About Page", "/about");
// Doesn't
history.replaceState({}, "About Page", "/about");
JavaScript is also capable of replacing any content in the DOM....
The Big Gotcha With Custom Properties
19.8.2021
I’ve seen this confuse more than a handful of people recently, including myself, so I’m making sure it’s written down.
Let’s chuck a couple of custom properties into CSS:
html {
--color-1: red;
--color-2: blue;
}
Let’s use them right …
The post The...
CSS Nesting, specificity, and you
10.8.2021
Here’s Kilian Valkhof on CSS nesting which isn’t available in browsers yet, but will be soon. There are a few differences he notes between CSS nesting and nesting in Sass or Less though. Take, for example, the following code:
div
…
The post CSS Nesting, specificity, and you appeared...
Choice Words about the Upcoming Deprecation of JavaScript Dialogs
9.8.2021
It might be the very first thing a lot of people learn in JavaScript:
alert("Hello, World");
One day at CodePen, we woke up to a ton of customer support tickets about their Pens being broken, which ultimately boiled down to …
The post Choice Words about the Upcoming Deprecation of JavaScript...