Desert Dream is an illustration I worked on around April of this year. It depicts an arid, southwestern, scene of a gas station with clouds rolling slowly across the sky. The foreground with the gas station is fairly simple, just CSS shapes put together to form the objects. In the background the mountain range is made using a CSS clip path, which is duplicated using pseudo elements to create the effect of having mountains closer and farther away. The clouds are also single div elements with an elliptical shape as the base, and then two circles using pseudo-elements to make the top “puffs” of the clouds. Finally the background dots in the sky are made using embedded SVG patterns.
See the Pen Desert Dream by Alex Goff (@alexgoff) on CodePen.
Additionally the cat’s tail moves as a pendulum with the second hand moving as the tail hits its peak on each swing. The cat is a CSS illustration and does not have anything that is particularly more complex or different than previous illustrations.
See the Pen Chesire Clock by Alex Goff (@alexgoff) on CodePen.
See the Pen 3D Cube by Alex Goff (@alexgoff) on CodePen.
This illustration/demo is based on work by front end developer Yuan Chuan and their CSS Doodle library. I wrote a simple Unicode character generator that can accept an input to limit the characters generated. In this case, I hard coded it to use “25” as the base which limits the options to all Unicode characters whose code point ranges from U+2500 to U+25FF. I would like to eventually add more options to the generator like specifying a range, and excluding ranges of characters.
div elements are created and put into a 7×7 grid, with characters centered and justified in the middle of their grid cell. The characters themselves are inserted into pseudo elements of the div using data attributes. Some randomization is also applied to the characters by applying a random color from a pre-defined palette, and applying a random multiple-of-90deg rotation.
See the Pen Unicode Picture by Alex Goff (@alexgoff) on CodePen.
Not a big post, just wanted to add a new CSS drawing for February. It’s been a while so here is a little older house situated in front of the water (ocean?).
See the Pen CSS Drawing: House by Alex Goff (@alexgoff) on CodePen.
I have been doing some CSS recently, trying to improve drawing skills and learning CSS animations. I’ve found that CSS drawing has also taught me much more about positioning than I knew before
An illustration of what my desk at work looks like
See the Pen CSS Desk Drawing by Alex Goff (@alexgoff) on CodePen.
See the Pen CSS Cactus by Alex Goff (@alexgoff) on CodePen.
A sleeping bear:
See the Pen CSS Images 001 Bear Cub by Alex Goff (@alexgoff) on CodePen.
For an upcoming presentation on web typography, I put together a demo piece showing simple steps that can be taken to improve readability of text. The demo takes the first few paragraphs of Charles Dickens’ “A Tale of Two Cities” and shows the steps that can be taken from no formatting, to easy readability. These include appropriate line-heights, margins, letter-spacing, line-measure, and font pairings.
Many of these principles can be seen in the Type CSS Framework that I posted about recently. A quick overview:
Increasing line-height can improve readability, and help readers follow lines more easily. For this demo, I set the body line-height to 1.5 and the header to 1.25. Line height should always be set as a multiplier of the font-size, not an explicit height in pixels, ems, or percentages.
To keep the vertical rhythm consistent, a 1.5rem margin is applied to the bottom of all headings and paragraphs. I am a proponent of single-direction margins to avoid “margin collisions” where a top and bottom margin may run up against each other. Likewise with horizontal margins, using “margin-right” will maintain consistency. By only using “margin-bottom” and “margin-right” all margins are created flowing from the top-left of the page.
Different from kerning, letter-spacing defines the space between all characters on the page. For this demo, the spacing is set to 0.01rem. More on using rem, I prefer rem over em because all rem units refer to the font-size defined in the html element of the page. Since em units refer to their parent element, if the font-size changes then sizing will no longer be consistent across the page.
The measure of the page can be controlled by sizing the width. There is no recommended measure in the demo, but between 60 and 90 characters is accepted as optimum for readability. Too wide of a page makes it difficult to track lines, and too short begins to feel disjointed and difficult to follow text line-to-line.
One of the more subtle changes to the text, changing the header and body to #222 and #444, respectively, makes for slightly lower contrast. This lower contrast still passes webAIM standards, but is softer on the eyes when reading for a long period of time.
A simple two-font pairing, using two system font-stacks, the pairing creates a visual hierarchy between the headers and body.
Web Typography Demo
I have been working on a small CSS framework the past few weeks. It is at the point where I am comfortable putting it in the wild and hopefully it is not in too bad of shape. The goal for Type CSS is to create minimal, highly readable web content. It is not intended as a fully fledged framework a la Bootstrap, Foundation, etc. Its spiritual predecessor is Skeleton CSS, a small lightweight boilerplate. Type CSS is slightly larger, and more feature filled so it is a bit more of a framework than a boilerplate.
- Flexbox-based grid system
- Flexbox utility classes
- Typography that took a few days to get “right”
- Buttons, forms, tables, utility classes, and all the other goodies
Now… transitioning this blog to Type CSS will be the real test. Currently it is running off my tweaked fork of Skeleton.
Feedback is always welcome via email, GitHub, etc.
I got the Oregon Trail card game the other day for nostalgic purposes. Making up names for the game was fun, so I took a bit of time to make a name generator for those of us that struggle to think of what our Wild West name might be. Here’s the link:
Oregon Trail Name Generator
Used in this project:
- Simple Responsive Grid
- Google Fonts
See the Pen Daily UI #04 by Alex Goff (@alexgoff) on CodePen.
Check out Calcutron 5000