Elad Shechter

Playing Games with CSS

Can you build a complete game with scoring and timers using only CSS? Learn how hidden inputs and pseudo-classes can replace complex JavaScript logic.

Playing Games with CSS
#1about 4 minutes

Building a pure CSS game during the pandemic

The story behind creating the 'Coronavirus Invaders' game using only CSS and HTML to turn free time into a creative project.

#2about 3 minutes

Structuring and styling the virus creature

Learn how to structure the virus creature's HTML using Pug for repetition and style its components with basic CSS shapes and pseudo-elements.

#3about 5 minutes

Automating positioning and animation with Sass

Use a Sass `for` loop to programmatically position elements around a circle with `transform` and create staggered animations with negative `animation-delay`.

#4about 7 minutes

Managing game states with checkboxes and labels

Implement game navigation and popups without JavaScript by using hidden checkboxes as state flags, labels as buttons, and the `:checked` pseudo-class.

#5about 5 minutes

Implementing a score system with CSS counters

Create a functional scoring system by using radio inputs to register clicks on viruses and CSS counters to increment and display the score.

#6about 2 minutes

Creating a countdown timer by animating content

Build a countdown timer in pure CSS by animating the `content` property of pseudo-elements with a keyframe animation that cycles through numbers as strings.

#7about 3 minutes

Generating random values using the Sass random() function

Use the Sass `random()` function within a loop to generate varied keyframe animations at compile time, creating the effect of random movement for game elements.

#8about 2 minutes

Resetting the game and timing the game over screen

Learn how to reset the game state by wrapping it in a form and using an `input type='reset'`, and trigger a game over screen using `animation-delay`.

#9about 2 minutes

The importance of learning through personal projects

The key takeaway is that creating fun personal projects is the most effective way to learn new technologies and become a better developer.

#10about 6 minutes

Q&A on radio vs checkbox and performance

The speaker answers audience questions about the choice between radio and checkbox inputs for state, and how browser performance is managed with many animations.

#11about 5 minutes

Q&A on Sass vs pure CSS and randomness

The speaker discusses whether the game could be built without Sass and explores the concept of generating random values in CSS versus JavaScript.

Related jobs
Jobs that call for the skills explored in this talk.

job ad

Saby Company
Delebio, Italy

Intermediate

d

Saby Company
Delebio, Italy

Junior

Featured Partners

Related Articles

View all articles
DC
Daniel Cranney
Tips and Tricks: CSS Pseudo Elements and Pseudo Selectors
CSS is an essential part of web development. Regardless of which programming language you use, the chances are you know some CSS, too. In this article we're going to help you go beyond the basics and explore the power of pseudo elements and pseudo se...
Tips and Tricks: CSS Pseudo Elements and Pseudo Selectors
CH
Chris Heilmann
Dev Digest 112 - The True Crime of AI Development
In last Friday's Dev Digest, we had some great AI news, some worrying security threats and a swipe-aware game in CSS with explanations! News and ArticlesLet's kick off with some AI news. Netflix caused a stir with AI-generated images in a true crime ...
Dev Digest 112 - The True Crime of AI Development
Dev Digest 105 - Security First
Last Friday's Dev Digest was mostly about security and game topics, so let's take a look what you didn't get in your inbox. We also covered some brand new online courses to get started as a developer or refresh your knowledge. And we wrapped up CODE1...
Dev Digest 105 - Security First

From learning to earning

Jobs that call for the skills explored in this talk.