Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.
Craig's articles
Atom has a wealth of packages that keep it up there with the best code editors. Learn about 12 of the best Atom packages for web developers.
Code playgrounds make it easy to experiment, share code, and show off your skills! Learn about seven of the best front-end code playgrounds.
As a developer, you have a lot of knowledge to offer others. Learn ways to share your skills, boost your status, and make some extra money.
Anything in JavaScript can be considered truthy or falsy. Learn what these values are and the rules that apply when they're compared.
How much do you know about HTML5 form validation? Even if you know a lot, we bet you'll learn things you didn't know in this handy guide.
Learn what web components are and how to use them without a JS framework. This article shows you an approach that relies on custom elements.
Client-side storage has a lot of practical use cases. Learn the fundamentals of storing data in the browser using the IndexedDB API.
There's a growing list of options for hosting Jamstack sites. Find out what Cloudflare Pages offers and how it compares to the competition.
Sometimes you want to store data in the browser and not send it to a server. Learn 10 ways to do so, their pros, cons, limits, and use cases.
The Performance API offers a way to measure website and app speed. Learn how to use it on actual devices used by real people in different locations.
Static sites can have benefits, but they aren't right for every project! Learn seven reasons why an SSG might not be the best choice for your next project.
Queues prevent bottlenecks by managing how long-running tasks are executed. Learn how to use them in your apps by building a Node task queue.
Is a CMS overkill for your next app? Could a static site generator improve performance, management and security? Learn about the benefits of using an SSG.
ngrok is a free service that helps you share a site or server running on your local machine. This tutorial shows you how to use it.
Does your web app work in all devices? Testing is a huge job. Learn how to enable Chrome's useful device mode to emulate dozens of mobile devices.
Need to translate your website? Learn how to use the JavaScript Internationalization API (I18n) and how easy it is to implement it in your apps.
There are several ways to define a block of JavaScript functionality. Learn which is the most appropriate one for your particular use case.
Sprites are popular for bundling graphics into a single file. And they can even be made with SVGs! Learn how SVG sprites work and why they're so awesome.
Sass is handy, but can't do everything. Learn to use PostCSS to create a custom CSS preprocessor that compiles Sass syntax and adds features.
Too many options in your HTML Select list? Try a Datalist! Learn how to work with this lightweight, accessible, cross-browser autocomplete form control.
How should you add scalable vector graphics to a web page? Learn about six different methods, including inlining, image tags, iframes, and CSS backgrounds.
You want to offer static-site benefits to clients, but they want WordPress! Learn how to use Eleventy with WordPress to offer the best of both worlds.
Snowpack, webpack and Parcel bundle your JS but are hard to custom configure. Rollup.js is faster and more configurable. Learn how to set it up!
Date handling in JavaScript? Ugh. It's a mess. But there's hope! Find out what the new JavaScript Temporal API will bring to a browser near you in 2021.
Are you frustrated by immutability issues in JavaScript? Learn how records and tuples permit robust immutable data storage and comparisons.
Got your JavaScript toolset organized for 2021? Not so fast! Check out our predictions for rising stars that are looking hot for 2021.
Need to access the OS clipboard using browser JS? Learn how to use the new asynchronous Clipboard API, a better option than the old document.execCommand().
The SVG path element offers a range of curve effects, and in this article, Craig Buckler demonstrates how to draw cubic bézier curves.
The SVG path element offers a range of curve effects. In his first tutorial, Craig demonstrates how to draw quadratic bézier curves.
Mix DOM and vector interactions in SVG, translating from SVG to DOM coordinates and back, and translating to transformed SVG coordinates.