Search
7 Uses for CSS Custom Properties
27.12.2019
I find all seven of these quite clever and useful.
I particularly like using custom properties when you can sneak a variation into a place where you'd normally have to re-declare a whole big chunk of code.
.some-element {
background-color: hsla(
var(--h, 120),
var(--s, 50),
var(--l...
PHP Templating in Just PHP
26.12.2019
With stuff like template literals in JavaScript and templating languages, like JSX, I've gotten used to wanting to write my HTML templates in one nice chunk and sprinkling in variables wherever I need them.
I had a situation where I needed to do that in "raw" PHP the other day, so I'm just...
Create a Static Site Using Angular & Scully
20.12.2019
The team at HeroDevs has just released the alpha version of Scully, a static site generator for Angular. That's right, Angular didn't have an intuitive way to create JAMstack applications before, but now it's possible!
Scully uses a node CLI application to run Angular schematics so you don’t have...
The Order of CSS Classes in HTML Doesn’t Matter
17.12.2019
That’s right! And I can prove it, too. Let’s look at some CSS first:
.a {
color: red;
}
.b {
color: blue;
}
And now let’s look at some markup:
<div class="a b">Here’s some text</div>
The text is going to be blue because .b is defined last in the CSS, right? But what if we...
Protocol, Networks, Law, and Anarchism
15.12.2019
I imagine long ago there was a time when neither verbal nor written language existed for humans. Hand gestures and other physical cues were as good as our ancestors had it. Perhaps the sign for thirsty meant pinching one’s own tongue. Or the sign for hungry meant stuffing one’s hand...
Dark Mode Favicons
4.12.2019
Oooo! A bonafide trick from Thomas Steiner. Chrome will soon be supporting SVG favicons (e.g. <link rel="icon" href="/icon.svg">). And you can embed CSS within an SVG with a <style> element. That CSS can use a perfers-color-sceme media query, and as a result, a favicon that supports...
How Building in the Open Can Change Our Industry
21.11.2019
I have to admit, I'm a developer who hasn't built a website. When I first read Chris's question, I sat in silence for at least a minute. Which technical topic did I want to discuss? A new library, programming language or best practice? Nothing, in particular, came to mind. Is that because I'm a...
The Typed Object Model
20.11.2019
I help write technical documentation and one feature I've been writing about this year that has really stood out is the Typed Object Model (or Typed OM). If you haven't come across it yet you would be forgiven as it's pretty new. It falls under the CSS Houdini suite of API's and on the surface...
How We Perform Frontend Testing on StackPath’s Customer Portal
15.11.2019
Nice post from Thomas Ladd about how their front-end team does testing. The list feels like a nice place to be:
TypeScript - A language, but you're essentially getting various testing for free (passing the right arguments and types of variables)
Jest - Unit tests. JavaScript functions are doing...
Finally, it Will Be Easy to Change the Color of List Bullets
14.11.2019
In my germinating years, the general advice was this:
<ul>
<li><span>List item</span></li>
<!-- ... -->
</ul>
li { color: red; } /* bullet */
li span (color: black; } /* text */
Not terrible, but not great. You're "resetting" everything...
Web3 Plans to Integrate Kadena’s Smart Contract Language on Polkadot
12.11.2019
The Web3 Foundation plans to adopt blockchain startup Kadena’s smart contract programming language for the Polkadot ecosystem
A Super Weird CSS Bug That Affects Text Selection
12.11.2019
You know how you can style (to some degree) selected text with ::selection? Well, Jeff Starr uncovered a heck of a weird CSS bug.
If you:
Leave that selector empty
Link it from an external stylesheet (rather than <style> block)
Selecting text will have no style at all....
Query JSON documents in the Terminal with GROQ
7.11.2019
JSON documents are everywhere today, but they are rarely structured the way you want them to be. They often include too much data, have weirdly named fields, or place the data in unnecessary nested objects. Graph-Relational Object Queries (GROQ) is a query language (like SQL, but different) which...
Some Things You Oughta Know When Working with Viewport Units
6.11.2019
David Chanin has a quickie article summarizing a problem with setting an element's height to 100vh in mobile browsers and then also positioning something on the bottom of that.
Summarized in this graphic:
The trouble is that Chrome isn't taking the address bar (browser chrome) into account when...
Float Element in the Middle of a Paragraph
4.11.2019
Say you want to have an image (or any other element) visually float left into a paragraph of text. But like... in the middle of the paragraph, not right at the top. It's doable, but it's certainly in the realm of CSS trickery!
One thing you can do is slap the image right in the middle of...
Comparing the Different Types of Native JavaScript Popups
31.10.2019
JavaScript has a variety of built-in popup APIs that display special UI for user interaction. Famously:
alert("Hello, World!");
The UI for this varies from browser to browser, but generally you’ll see a little window pop up front and center in a very show-stopping way that contains the message...
Are There Random Numbers in CSS?
29.10.2019
CSS allows you to create dynamic layouts and interfaces on the web, but as a language, it is static: once a value is set, it cannot be changed. The idea of randomness is off the table. Generating random numbers at runtime is the territory of JavaScript, not so much CSS. Or is it? If we factor in...
The `hidden` Attribute is Visibly Weak
16.10.2019
There is an HTML attribute that does exactly what you think it should do:
<div>I'm visible</div>
<div hidden>I'm hidden</div>
It even has great browser support. Is it useful? Uhm. Maybe. Not really.
Adam Laki likes the semantics of it:
If we use the hidden...
A Snippet to See all SVGs in a Sprite
8.10.2019
I think of an SVG sprite as this:
<svg display="none">
<symbol id="icon-one"> ... <symbol>
<symbol id="icon-two"> ... <symbol>
<symbol id="icon-three"> ... <symbol>
</svg>
I was long a fan of that approach for icon systems...
Get Total Address Information with Geocode API (Sponsored)
4.10.2019
Getting address information is vitally important. Whether shipping a package, tailoring a user experience to location, or using that data to help localize language on a website, getting location information wrong can lose a sale or brake feature. Let’s take a look at an API I recently found...