Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #4280

T

Tobias Ahlin

Personal blog · tobiasahlin.com/blogdesignweb

Tobias Ahlin's personal blog at tobiasahlin.com covers design and web. Since 2012, 18 different Hacker News readers have linked it 19 times, most often “CSS animated loading indicators”. The last post was in 2023, but the archive is still widely read.

Visit the blog
19mentions?
18HN people?
2012–2024first – last linked?
Links on Hacker News per year · peak 3 in 2019

Too few sampled comments (6) to say how often HN recommends it.?

Why HN links it

HN readers cite Tobias Ahlin's site as a personal site they love, and link his CSS work: a :has() previous-sibling article and SpinKit, a collection of CSS spinners.

Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

SpinKit, Moving Letters, projects, and more.

Most-linked posts?

  1. CSS animated loading indicators
    3 people · 3 mentions · first linked 2013-12-17
  2. Cheat sheet for moving from jQuery to vanilla JavaScript
    2 people · 2 mentions · first linked 2019-09-20
  3. Selecting previous siblings with CSS:has()
    2 people · 2 mentions · first linked 2023-03-28

What Hacker News says?

  1. > You're incoherent. I am very coherent Ok. Let's be very coherent. Let's talk about one single thing. Not so long ago Twitter redesigned their website. Mind you, Twitter is far from being a complex app UI-wise. It's basically text plus images. All they did was re-implement infinite scrolling using a well-known paradigm called a virtual list (or a virtual table). Here's a small video of their original result: https:…

    Comment linking /blog/how-to-animate-box-shadow/

    on “25 Years of CSS”
  2. Submitted CSS animated loading indicators as a story · 327 points

    HN discussion
  3. > Certainly neither technique for covering an image that I showed in another comment is a hack. They’re both logical, coherent and fairly obvious ways of doing it. The absolute "obvious ways": - a wrapper div that has to be position: relative. And a display block/inline-block because otherwise it won't work. An svg and an image inside that div. The svg has to be position: absolute. - a full-blown grid. Two elements…

    Comment linking /blog/how-to-animate-box-shadow/

    on “25 Years of CSS”
  4. Submitted Skeumorphism and storytelling as a story · 56 points

    HN discussion
  5. stankot · 2019-12-08Recommends
    I really love this one: https://tobiasahlin.com/ Shameless self promotion (my blog): https://muffinman.io/ And of course, Daring Fireball: https://daringfireball.net/

    Comment linking /

    on “Ask HN: What are some examples of well-designed personal sites?”
  6. Submitted Cheat sheet for moving from jQuery to vanilla JavaScript as a story · 3 points

    HN discussion
  7. You may have to group elements, yes. But generally speaking, they already are grouped in some logical sense. And you can do a lot now with grid, without having to wrap child elements in containers. It's not absolutely separated but to great degree it is (in my experience at the very least). And yes, you can select previous elements with :has(). Here is an article about it: https://tobiasahlin.com/blog/previous-sibli…

    Comment linking /blog/previous-sibling-css-has/

    on “CSS Classes Considered Harmful”
  8. Submitted Cheat sheet for moving from jQuery to vanilla JavaScript as a story · 3 points

    HN discussion
  9. This is why I like HN. I was about to build something similar. I choose the same color and even picked the same spinner http://tobiasahlin.com/spinkit/ :) Kudos. I'd like to give a try with my mp3 library. Maybe just add it to README? I had two bugs. - header bg was not loaded - there was a high pitch sound (defo not part of the song)

    Comment linking /spinkit/

    on “Show HN: A Customizable SoundCloud Player Built on the Web Audio API and d3”
  10. Submitted Common Mac OS X Cursors as a story · 2 points

    HN discussion
  11. A collection of CSS spinners: https://github.com/tobiasahlin/SpinKit Demo: http://tobiasahlin.com/spinkit/

    Comment linking /spinkit/

    on “How to create loading image using CSS only”
  12. Submitted CSS masonry with flexbox,:nth-child(), and order as a story · 2 points

    HN discussion
  13. Submitted Losing to Bureaucracy & Complexity in Adobe CS as a story · 2 points

    HN discussion
  14. Submitted Responsive type scales with composable CSS utilities as a story · 1 points

    HN discussion
  15. Submitted Selecting previous siblings with CSS:has() as a story · 1 points

    HN discussion
  16. Submitted Moving Letters – Text animated with JavaScript and anime.js as a story · 1 points

    HN discussion
  17. Submitted Meaningful Motion with Action-Driven Animation as a story · 1 points

    HN discussion
  18. Submitted Moving along a curved path in CSS with layered animation as a story · 1 points

    HN discussion
  19. Submitted Google Web Font Inspiration in HTML and CSS as a story · 1 points

    HN discussion

Search all of HN for tobiasahlin.com

Linked by the same people?