Search

Nalezeno "CODE": 1642

Helping Browsers Optimize With The CSS Contain Property


There is a growing number of things that we have to do to help the browser achieve for peak performance. Responsive image syntax has several. For example, needing to tell the browser how large the image will be in our layout with the sizes attribute and how big the images are with w descriptors....

Guillermo’s 2019 in Review


Of all the tech-focused year-in-review posts I read, Guillermo Rauch's is my favorite. There is a lot in there, jumping from topics like modern architectures, high-fiving specific apps, and philosophical movements. I'll pick one quote about the rise of "deploy previews": A salient feature is...

Custom Styling Form Inputs With Modern CSS Features


It’s entirely possible to build custom checkboxes, radio buttons, and toggle switches these days, while staying semantic and accessible. We don’t even need a single line of JavaScript or extra HTML elements! It’s actually gotten easier lately than it has been in the past. Let’s take a look. Here’s...

Getting Fancy with position: sticky;


Mike Solomon worked on a fancy scrollytelling post for Esquire and blogged about it. It has GIFs of each step along the way of figuring out not just position: sticky; but also using negative margins, wrapper divs, backgrounds, and even a smidge of JavaScript measuring to get it all right. What...

Native Image Lazy Loading in Chrome Is Way Too Eager


Interesting research from Aaron Peters on <img loading="lazy" ... >: On my 13 inch macbook, with Dock positioned on the left, the viewport height in Chrome is 786 pixels so images with loading="lazy" that are more than 4x the viewport down the page are eagerly fetched by Chrome...

Select an Element with a Non-Empty Attribute


Short answer: [data-foo]:not([data-foo=""] { Longer answer (same conclusion, just an explanation on why we might need this): Say you have an element that you style with a special data-attribute: <div data-highlight="product"</div You want to target that element and do special things when...

PHP is A-OK for Templating


PHP templating often gets a bad rap for facilitating subpar code — but that doesn't have to be the case. Let’s look at how PHP projects can enforce a basic Model, View, Controller (MVC) structure without depending on a purpose-built templating engine. But first, a very brief PHP history lesson The...

The Three Types of Code


Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to any codebase, any language, any technology or open source project. Whether I’m writing HTML or CSS or building a React component, thinking...

Freezing User-Agent Strings


There's been news about Chrome freezing their User-Agent string (and all other major browsers are on board). That means they'll still have a User-Agent (UA) string (that comes across in headers and is available in JavaScript as navigator.userAgent. By freezing it, it will be less useful over time...

Get Moving (or not) with CSS Motion Path


We just linked up the idea that offset-path can be cleverly used to set type on a path. Don't miss Michelle Barker's experimentation either, with drawing paths or animating text along a path. Dan Wilson has also been following this tech for quite a while and points out why the sudden surge...

Sticky Table of Contents with Scrolling Active States


Say you have a two-column layout: a main column with content. Say it has a lot of content, with sections that requires scrolling. And let's toss in a sidebar column that is largely empty, such that you can safely put a position: sticky; table of contents over there for all that content in the main...

“resize: none;” on textareas is bad UX


Catalin Rosu: Sometimes you need to type a long reply that consists of many paragraphs and wrapping that text within a tiny textarea box makes it hard to understand and to follow as you type. There were many times when I had to write that text within Notepad++ for example and then just paste...

Understanding Immutability in JavaScript


If you haven’t worked with immutability in JavaScript before, you might find it easy to confuse it with assigning a variable to a new value, or reassignment. While it’s possible to reassign variables and values declared using let or var, you'll begin to run into issues when you try that with...

How Do You Do max-font-size in CSS?


CSS doesn't have max-font-size, so if we need something that does something along those lines, we have to get tricky. Why would you need it at all? Well, font-size itself can be set in dynamic ways. For example, font-size: 10vw;. That's using "viewport units" to size the type, which will...

Resizing Values in Steps in CSS


There actually is a steps() function in CSS, but it's only used for animation. You can't, for example, tell an element it's allowed to grow in height but only in steps of 10px. Maybe someday? I dunno. There would have to be some pretty clear use cases that something like background-repeat: space...

Practice GraphQL Queries With the State of JavaScript API


Learning how to build GraphQL APIs can be quite challenging. But you can learn how to use GraphQL APIs in 10 minutes! And it so happens I've got the perfect API for that: the brand new, fresh-of-the-VS-Code State of JavaScript GraphQL API. The State of JavaScript survey is an annual survey of...

Use and Reuse Everything in SVG… Even Animations!


If you are familiar with SVG and CSS animations and started to work with them often, here are some ideas you might want to keep in mind before jumping into the job. This article will be about learning how to build and optimize your code with <use> element, CSS Variables and...

Set Type on a Circle… with offset-path


Here's some legit CSS trickery from yuanchuan. There is this CSS property offset-path. Once upon a time, it was called motion-path and then it was renamed. I sort of rolled my eyes at the time, because the property is so obviously for animating things along a path. But you don't have to use it...

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