Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    K

    Keith Clark

    keithclark.co.uk · Personal blog · on HN since 2010

    Keith Clark, a web developer, publishes CSS experiments such as a 3D engine, a first-person demo, and pure CSS parallax.

    Visit blogRSSHN submissions
    Web DevelopmentGames
    What HN says

    HN commenters point to his CSS 3D FPS and parallax demos as early, clever work, and call him a clever guy.

    Stats for nerds
    38HN people shared it
    18linked in comments
    890story points
    Jun 2026last shared
    2013people per year2026

    Top posts on HN

    1. 1
      Creating 3D worlds with HTML and CSS
      5 people · 391 points · first shared 2014 · 47 comments on HN
    2. 2
      CSS-Powered 3D Engine (2014)
      10 people · 306 points · first shared 2019 · 67 comments on HN
    3. 3
      A grouped pure CSS parallax demo
      3 people · 129 points · first shared 2014 · 40 comments on HN
    4. 4
      Loading CSS without blocking render
      1 person · 35 points · first shared 2015 · 7 comments on HN
    5. 5
      Pure CSS Parallax
      6 people · 7 points · first shared 2014 · Discussion on HN
    6. 6
      Webkit renders your content blury if you translateZ or translateX
      2 people · 6 points · first shared 2015 · Discussion on HN
    7. 7
      3D FPS concept using HTML and CSS3
      1 person · 6 points · first shared 2011 · Discussion on HN
    8. 8
      A 3D FPS engine using HTML5 and CSS3 3D transforms by Keith Clark
      2 people · 4 points · first shared 2013 · Discussion on HN
    9. 9
      A 3D environment with lighting, shadows built with CSS transforms
      4 people · 2 points · first shared 2014 · Discussion on HN
    10. 10
      Single Element Pure CSS Pie Charts (2018)
      1 person · 2 points · first shared 2023 · Discussion on HN

    What HN people wrote when they linked it

    • SomeoneJun 2025

      > Can you imagine rewriting a modern web browser engine to use GPU-accelerated text rendering?

      It is tricky, but I thought they already (partly) do that. https://keithclark.co.uk/articles/gpu-text-rendering-in-webkit/ (2014):

      “If an element is promoted to the GPU in current versions of Chrome, Safari or Opera then you lose subpixel antialiasing and text is rendered using the greyscale method”

      So, what’s missing? Given that comment, at least part of the step from UTF-8 string to bitmap can be done on the GPU, can’t it?

    • slackaSep 2013

      I was talking about HTML5 demos posted on HN. Like this one that DOES use CSS:
      http://www.keithclark.co.uk/labs/css3-fps-new/

      Granted, it's a terrible abuse of a CSS, but it's also a perfect example of how I'm supposed to be wowed by a buggy HTML5 demo my PC could render better in every way 15 years ago.

      And no one has answered my question yet. What benefit does HTML5 bring me as a gamer? Why are HTML5 games better than native games in my steam library, especially considering DSL is my only option for Internet here?

    • LoganDarkJun 2023

      > when 3D elements are part of the HTML standard.

      They already are. CSS Transforms can already be configured to happen in a full, proper 3D space.

      Every polygon of this demo is an HTML element, and yet it is fully and completely three-dimensional: https://keithclark.co.uk/labs/css-fps/

      One would just need a browser in VisionOS that supports displaying these elements in actual 3D rather than projected onto the 2D surface of the webpage...

    • panziNov 2014

      To me it looks like speed is one of the major advantages. JavaScript speed is only one thing. There is also render speed. E.g. this runs totally smoothly (with a bit of flickering (z order problems?)) in Chrome: http://keithclark.co.uk/labs/css-fps/nojs/
      In Firefox it seems to have something between 1 and 5 fps and is totally glitched out.

      JavaScript speed is not what needs to be worked on currently. Render speed is.

    • rpastuszakFeb 2020

      My first reaction when I saw the title was "oh, not this again", but this looks neat and the CSS source, surprisingly clean!

      I really enjoyed the first attempts at 3d in CSS (in pre-canvas, WebGL times). Can't find the right example, but in a nutshell, the approach involved using border-width to create triangles, and thus triangle meshes.

      You might like this one: https://keithclark.co.uk/labs/css-fps/desktop/

    • sheeptJun 2026

      A parallax effect has also long been possible with CSS 3D transforms. Here's a demo,[0][1] from the same person who made that CSS 3D FPS a while ago.[2]

      [0]: https://www.keithclark.co.uk/articles/pure-css-parallax-websites/demo3-webkit-overflow-fix/

      [1]: blog: https://www.keithclark.co.uk/articles/pure-css-parallax-websites/

      [2]: https://www.keithclark.co.uk/labs/css-fps/

    Related

    AlteredQualiaalteredqualia.com55 people

    Realistic Skin Rendering in WebGL

    AlteredQualia
    Personal · last shared 2025
    rc3.orgrc3.org37 people

    The Grammar of Vim

    rc3.org
    Personal · last shared 2022
    Impressive Websimpressivewebs.com47 people

    Are Web Development Search Results Being Manipulated?

    Impressive Webs
    Personal · last shared 2024
    Warpspirewarpspire.com49 people

    Pixels don’t care

    Warpspire
    Personal · last shared 2026
    Bram.usbram.us47 people

    YAML: The Norway Problem (2022)

    Bram.us
    Personal · last shared 2026
    Demosthenesdemosthenes.info17 people

    Which CSS Measurements To Use When

    Demosthenes
    Personal · last shared 2015
    Mr.doobmrdoob.com108 people

    Realtime Three.js Coding

    Mr.doob
    Personal · last shared 2026
    Jake Archibaldjakearchibald.com191 people

    I discovered a browser bug

    Jake Archibald
    Personal · last shared 2026