Elad Shechter
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.
Matching moments
06:40 MIN
Learning new technologies by building unconventional games
Creating games to make the web fun again
04:52 MIN
Interactive tools for learning CSS and visualizing data
New Browser APIs, End of React Create App, Smuggling Data in Emoji and more with Rowdy Rabouw
02:54 MIN
A career journey and an interactive game demo
Fun with PaaS – How to use Cloud Foundry and its uniqueness in creative ways
08:04 MIN
Evolving CSS from basic styles to advanced effects
How to write a book with CSS
13:44 MIN
Showcasing useful libraries and fun web games
WeAreDevelopers LIVE - Whats Nuxt and Next for app development, 20 years AJAX and more
09:54 MIN
Exploring creative web projects and the rise of cozy gaming
WeAreDevelopers LIVE - Build a multi AI agents game master with Strands & our weekly web finds
14:22 MIN
Creative web tech for music notation and modern CSS
WeAreDevelopers LIVE - Dapr / Pixels and Generative Art / Open Source and Communities / and more
03:56 MIN
Exploring creative and nostalgic web projects
WeAreDevelopers LIVE - GraalVM in action, Static Analysis insights and more
Featured Partners
Related Videos
Creating games to make the web fun again
Nolan Royalty
Can CSS recreate Tufte's designs?
Håkon Wium Lie
Tips and Tricks: CSS Pseudo Class Selectors and Pseudo Elements
Dan Cranney
Future-Proof CSS
Ire Aderinokun
How to write a book with CSS
Håkon Wium Lie
What’s New and What’s Next in Web UI
Cleyra Uzcategui
The State Of The Web
Jeremy Keith
What's new in CSS for Designers?
Onur Gumus
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Speech Processing Solutions
Vienna, Austria
Intermediate
CSS
HTML
JavaScript
TypeScript

infomax websolutions GmbH
Grassau, Germany
Intermediate
Senior
CSS
HTML
JavaScript
TypeScript

JO Media Software Solutions GmBh
Brunn am Gebirge, Austria
Senior
CSS
Angular
JavaScript
TypeScript


Lotum media GmbH
Bad Nauheim, Germany
Senior
Vue.js
Node.js
JavaScript
TypeScript

doinstruct Software GmbH
Berlin, Germany
Senior
GIT
JavaScript
TypeScript



Vesterling Consulting GmbH
Köln, Germany
Remote
HTML
Node.js