Search

Nalezeno "read": 2382

Run Gulp as You Open a VS Code Project


When I open my local project for this very site, there is a 100% chance that I need to run this command before anything else: gulp. I set that up fresh less than a year ago so I’m on the latest-and-greatest stuff and have my workflow just how I like it. I did a few more tweaks a few months...

How to Recreate the Ripple Effect of Material Design Buttons


When I first discovered Material Design, I was particularly inspired by its button component. It uses a ripple effect to give users feedback in a simple, elegant way. How does this effect work? Material Design’s buttons don’t just sport a neat ripple animation, but the animation also...

Animating Number Counters


Number animation, as in, imagine a number changing from 1 to 2, then 2 to 3, then 3 to 4, etc. over a specified time. Like a counter, except controlled by the same kind of animation that we use for other design animation on the web. This could be useful when designing something like a dashboard,...

Balancing on a pivot with Flexbox


Let me show you a way I recently discovered to center a bunch of elements around what I call the pivot. I promise you that funky HTML is out of the question and you won’t need to know any bleeding-edge CSS to get the job done. I’m big on word games, so I recently re-imagined the main menu...

Looking at AWS Amplify


AWS Amplify is a collection of tools from AWS to help you build applications. Allow me to set the stage here to try to make that as clear as I know how. I have a friend (true story) who wants to build an app centered around physical training. His wife is a physical trainer, and they think perhaps...

Using JavaScript to Adjust Saturation and Brightness of RGB Colors


Lately I’ve been taking a look into designing with color (or “colour” as we spell it where I’m from in New Zealand). Looking at Adam Wathan and Steve Schroger’s advice on the subject, we find that we’re going to need more than just five nice looking hex codes from a color palette...

On the Web Share API


I think the Web Share API is very cool (here’s our coverage). In a nutshell, it taps into the native sharing features on whatever platform you’re on, if that platform supports it. So essentially… I like this: Web Share API activated on iOS A heck of a lot more than these...

Styling Complex Labels


Danielle Romo covers the HTML pattern you need when you have a wordy <label> with fancy styling for an <input type="radio">. The trick? The ol’ <span class="hidden-visually"> that contains the label that you want to be read, and a <span aria-hidden="true"> with...

How to Make an Unobtrusive Scroll-to-Top Button


A button to return to the top of the page allows the user to quickly return to the top of the page without making too much effort. This can be very useful when the page has a lot of content or which happens, for example, on one page websites, when infinite scrolling is used, or on mobile devices...

Parsel: A tiny, permissive CSS selector parser


If you’ve ever thought to yourself, gosh, self, I wish I could have an Abstract Syntax Tree (AST) of this CSS selector, Lea has your back. If you’ve ever thought that same thing for an entire CSS file, that’s what PostCSS is, which has gone v8. PostCSS doesn’t do anything...

There’s a good reason why experienced devs say “it depends” so often


I feel like Jerod Santo really understood what I was trying to say in Weaved Webs, when I was trying to cover the emerging WordPress (“versus”) Jamstack conversation. If you asked El Duderino if you should go Jamstack he’d probably tell you, “It’s a complicated case. Lotta ins. Lotta...

Some Industry Podcasts


Clearleft made a 6-episode Season One It’s called The Clearleft Podcast if you can believe that. It gets into new (at least to me) concepts like Design Ops and Design Sprints, which are loaded terms and need nuanced discussion. It’s really well-edited, pulling in clips from relevant...

The Paper Prototype Rule


I’ve been lucky to have worked with some of the best designers in the industry, including Zhenya Rynzhuk, Louis Paquet, Maria de la Paz Vargas, and of course, dozens of the amazing designers at MediaMonks. Many of the projects we’ve worked on require custom animation and guidelines that enable...

Achieving Vertical Alignment (Thanks, Subgrid!)


Our tools for vertical alignment have gotten a lot better as of late. My early days as a website designer involved laying out 960px wide homepage designs and aligning things horizontally across a page using a 12-column grid. Media queries came along which required a serious mental shift. It solved...

POW


As a connoisseur of web trickery, this is a must share: POW stands for Packaged Offline/online Webpage. It turns out the png format includes ways to save metadata alongside the image file. A powfile has a metadata entry that contains a zip file that contains a full website. So a PNG file...

Some New Icon Sets


I’ve bookmarked some icon sets lately, partly because I can never find a nice set when I need to. I figured I’d even go the extra mile here and blog them so I can definitely find them later. Aside from being nice, cohesive, and practical sets of icons, I find it interesting that...

Make Your Own Dev Tool


Amber Wilson on making bookmarklets to help yo-self. She shows off one that injects an accessibility script — I like this approach, as it means you don’t have to maintain the bookmarklet, just the script it links to). Another example runs some code contained right in the link. The result...

Linearly Scale font-size with CSS clamp() Based on the Viewport


Responsive typography has been tried in the past with a slew of methods such as media queries and CSS calc(). Here, we’re going to explore a different way to linearly scale text between a set of minimum and maximum sizes as the viewport’s width increases, with the intent of making its behavior...

Web Technologies and Syntax


JavaScript has a (newish) feature called optional chaining. Say I have code like: const name = Data.person.name; If person happens to not exist on Data, I’m going to get a hard, show-stopping error. With optional chaining, I can write: const name = Data.person?.name; Now if person...

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