“All that’s bright must fade, the brightest still the fleetest; All that’s sweet was made but to be lost when sweetest.” ― Thomas Moore
It used to be when you wanted a nice simple gradient background for your page, the process looked like this: Step 1) fire up Photoshop; Step 2) use the Gradient tool to fill the canvas with a horizontal or vertical gradient; Step 3) crop canvas into a as-small-as-possible slice (often 1px high or 1px wide); Step 4) export .gif or .jpg graphic; and so on. I’m leaving off the rest of the steps, because you either remember how to do it from past experience, or you’ll never need to know how to make a gradient that way thanks to
the awesomeness of CSS gradients. Let’s take a look at what they can do! Continue reading “CSS gradients: basic to advanced”
“A map does not just chart, it unlocks and formulates meaning; it forms bridges between here and there, between disparate ideas that we did not know were previously connected.”
― Reif Larsen
A couple of weeks ago I wrote about
using the Geolocation API, and walked through the minimal code necessary to get the user’s longitude and latitude. Now I want to take it just a step further, and show how to use Leaflet to show the users current location on a map. Continue reading “Geolocation Part II: Building Interactive Maps with Leaflet”
“the way is long if one follows precepts, but short and helpful, if one follows patterns” ― Lucius Annaeus Seneca
I’ve had a lot of fun making a certain style of CSS animation demos on CodePen lately, all of which seem to follow a similar design pattern. Below are a couple of examples (embedded here as .gifs, but click through to see the live HTML/CSS versions):
Continue reading “A design pattern for making interesting CSS animations in under 10 minutes”
“Remember, no matter where you go, there you are.” ― Buckaroo Banzai
Over the past several years mobile devices have brought us a lot of new great features and capabilities, things that people now are starting to expect from computing devices. Features like touch-capability, then multi-touch, GPS to tell where the device (and user) is, motion- and light-sensing, device orientation, access to the device’s camera, and
even more. Wouldn’t it be great if web developers had access to all of those amazing new device features? Well, some of that is possible right now.
Continue reading “Super-simple Geolocation”
“Simplicity is the ultimate sophistication.” ― Leonardo da Vinci
X seconds, often with a caption for each image, like the one below (mouse over for caption).
CSS3: CSS3 delivers a wide range of stylization and effects, enhancing the web app without sacrificing your semantic structure or performance. Additionally Web Open Font Format (WOFF) provides typographic flexibility and control far beyond anything the web has offered before.
Semantics: Giving meaning to structure, semantics are front and center with HTML5. A richer set of tags, along with RDFa, microdata, and microformats, are enabling a more useful, data driven web for both programs and your users.
Offline & Storage: Web Apps can start faster and work even if there is no internet connection, thanks to the HTML5 App Cache, as well as the Local Storage, Indexed DB, and the File API specifications.
Device Access: Beginning with the Geolocation API, Web Applications can present rich, device-aware features and experiences. Incredible device access innovations are being developed and implemented, from audio/video input access to microphones and cameras, to local data such as contacts & events, and even tilt orientation.
Connectivity: More efficient connectivity means more real-time chats, faster games, and better communication. Web Sockets and Server-Sent Events are pushing (pun intended) data between client and server more efficiently than ever before.
Multimedia: Audio and video are first class citizens in the HTML5 web, living in harmony with your apps and sites. Lights, camera, action!
3D, Graphics & Effects: Between SVG, Canvas, WebGL, and CSS3 3D features, you’re sure to amaze your users with stunning visuals natively rendered in the browser.
Performance & Integration: Make your Web Apps and dynamic web content faster with a variety of techniques and technologies such as Web Workers and XMLHttpRequest 2. No user should ever wait on your watch.
Thanks for asking. It’s accomplished through
the magic of CSS keyframe animation (Also see: An Introduction To CSS3 Keyframe Animations by Louis Lazaris for an introduction). If you’re already pretty familiar with CSS animations, then go read this article by Lea Verou and see if you don’t learn something new :-)
Continue reading “A simple crossfading slideshow made with CSS”
“What we call chaos is just patterns we haven’t recognized. What we call random is just patterns we can’t decipher.” ― Chuck Palahniuk
I’ve been trying to wrap my head around how the
:nth-child pseudo-class can be used to create repeating patterns with CSS, beyond just
odd (which are perfect for zebra-striping table rows, amongst other things). What really helped me understanding it was coding up a few examples to play around with. These examples are all available on CodePen too, so
you can fork or edit them there if you want. I’ll embed the pen at the bottom. Note that while I will use
:nth-child for all of the examples below, they should all work just as well with the
Continue reading “Repeating patterns in CSS with :nth-child and :nth-of-type”
“Design is easy. All you do is stare at the screen until drops of blood form on your forehead.” — Marty Neumeier
I picked the quote above for this post because it’s remarkably similar to my own design process, which I like to think of as “tweak it until it sucks less.” Then I keep on iterating until a deadline looms, squint at it until I can tell myself it looks good enough, launch it, and then feel slightly mortified every time I see it from then on. I know it’s not uncommon to be your own worst critic but even so, a couple of required art classes in college, a lone graphic design class from Parsons, and a whole lot of “on the job experience” is just about the extent of my design education, so it’s past time to level-up. In searching about for the right approach, I’ve found a few good resources that I want to share. Continue reading “Design until it sucks less; leveling up on design”
“It’s a cruel and random world, but the chaos is all so beautiful.”
― Hiromu Arakawa
One of the things that’s changed in the CSS world over the past several years is the rise of CSS preprocessors, and
Sass is one of the most popular ( LESS is another big one, if you’re interested here’s a comparison between the two from Smashing Magazine; here’s another comparison from CSS Tricks). I hadn’t explored either much until recently, as useful as they are they have to fit into your workflow, and I just haven’t had the opportunity to use either in the context of my day job, but coding playground Codepen makes it super-easy to try out Sass (LESS too, if that’s more your thing).
Continue reading “Random fly-in animation using Sass”