Search

Nalezeno "css-tricks": 2941

Make it hard to screw up driven development


Development is complicated. Our job is an ongoing battle between getting the job done and doing that job in a safe, long-lasting way. Developers say things like, "I'm just going to do this quick and dirty first," because it's taken as fact that if you code anything quickly, it not only will...

Form Validation in Under an Hour with Vuelidate


Form validation has a reputation for being tricky to implement. In this tutorial, we’ll break things down to alleviate some of that pain. Creating nice abstractions for forms is something that Vue.js excels at and Vuelidate is personally my favorite option for validations because it doesn't require...

Who has the fastest website in F1?


Jake Archibald looks at the websites of Formula One race teams and rates their performance, carefully examining their images and digging into the waterfall of assets for each site: Trying to use a site while on poor connectivity is massively frustrating, so anything sites can do to make it less...

KV Storage


localStorage is... Good! It's an incredibly easy API to use. localStorage.setItem('name', 'Chris'); let name = localStorage.getItem('name'); Bad! Philip Walton explains why: localStorage is a synchronous API that blocks the main thread, and any time you access it you potentially prevent your...

Yet Another JavaScript Framework


On March 6, 2018, a new bug was added to the official Mozilla Firefox browser bug tracker. A developer had noticed an issue with Mozilla's nightly build. The report noted that a 14-day weather forecast widget typically featured on a German website had all of a sudden broken and disappeared. Nothing...

A historical look at lowercase defaultstatus


Browsers, thank heavens, take backward compatibility seriously. Ancient websites generally work just fine on modern browsers. There is a way higher chance that a website is broken because of problems with hosting, missing or altered assets, or server changes than there is with changes in...

Differential Serving


There is "futuristic" JavaScript that we can write. "Stage 0" refers to ideas for the JavaScript language that are still proposals. Still, someone might turn that idea into a Babel plugin and it could compile into code that can ship to any browser. For some of these lucky proposals, Stage 0 becomes...

Scroll-Linked Animations


You scroll down to a certain point, now you want to style things in a certain way. A header becomes fixed. An animation triggers. A table of contents appears. To do anything based on scroll position, JavaScript is required right now. You watch the scroll position via a DOM event and alter...

Creating a Reusable Pagination Component in Vue


The idea behind most of web applications is to fetch data from the database and present it to the user in the best possible way. When we deal with data there are cases when the best possible way of presentation means creating a list. Depending on the amount of data and its content, we may decide...

You probably don’t need input type=“number”


Brad Frost wrote about a recent experience with a website that used <input type="number">: Last week I got a call from my bank regarding a wire transfer I had just scheduled. The customer support guy had me repeat everything back to him because there seemed to be a problem with...

Powers of Two


Refactoring is one of those words that evokes fear in the eyes of many folks, from developers to product owners and everyone in between. It may as well be a four-letter word in many ways. It's also something that we talk about quite a bit around here because, like books on the topic, where to start...

CSS Houdini Could Change the Way We Write and Manage CSS


CSS Houdini may be the most exciting development in CSS. Houdini is comprised of a number of separate APIs, each shipping to browsers separately, and some that have already shipped (here's the browser support). The Paint API is one of them. I’m very excited about it and recently started to think...

Jetpack Gutenberg Blocks


I remember when Gutenberg was released into core, because I was at WordCamp US that day. A number of months have gone by now, so I imagine more and more of us on WordPress sites have dipped our toes into it. I just wrote about our first foray here on CSS-Tricks and using Gutenberg to power...

A Gutenburg-Powered Newsletter


I like Gutenberg, the new WordPress editor. I'm not oblivious to all the conversation around accessibility, UX, and readiness, but I know how hard it is to ship software and I'm glad WordPress got it out the door. Now it can evolve for the better. I see a lot of benefit to block-based editors. Some...

Next Genpm


So many web projects use npm to pull in their dependencies, for both the front end and back. npm install and away it goes, pulling thousands of files into a node_modules folder in our projects to import/require anything. It's an important cog in the great machine of web development. While I don't...

Better Than Native


Andy Bell wrote up his thoughts about the whole web versus native app debate which I think is super interesting. It was hard to make it through the post because I was nodding so aggressively as I read: The whole idea of competing with native apps seems pretty daft to me, too. The web gives us...

Breaking CSS Custom Properties out of :root Might Be a Good Idea


CSS Custom Properties have been a hot topic for a while now, with tons of great articles about them, from great primers on how they work to creative tutorials to do some real magic with them. If you’ve read more than one or two articles on the topic, then I’m sure you’ve noticed that they start...

An Illustrated (and Musical) Guide to Map, Reduce, and Filter Array Methods


Map, reduce, and filter are three very useful array methods in JavaScript that give developers a ton of power in a short amount of space. Let’s jump right into how you can leverage (and remember how to use!) these super handy methods. Array.map() Array.map() updates each individual value in...

Buddy: 15 Minutes to Automation Nirvana


(This is a sponsored post.) Deploying a website to the server in 2019 requires much more effort than 10 years ago. For example, here's what needs to be done nowadays to deliver a typical JS app: split the app into chunks configure webpack bundle minify .js files set up staging environment upload...

Understanding Event Emitters


Consider, a DOM Event: const button = document.querySelector("button"); button.addEventListener("click", (event) => /* do something with the event */) We added a listener to a button click. We’ve subscribed to an event being emitted and we fire a callback when it does. Every time we click that...

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