I am Lea Verou. Ask me anything.

Lea Verou is a computer scientist / web standards geek / front-end developer / web designer / speaker / author, originally from Greece. She is currently a Research Assistant at MIT CSAIL, in David Karger’s Haystack group and an Invited Expert in the W3C CSS Working Group. She has also created @prismjs, @dabblet and @prefixfree.

Shoot any questions you want Lea to answer!

Ask Lea Verou about:

  • Web Standards
  • CSS Working Group
  • PrismJS
  • Design & UX
  • Front-end development & CSS
Ask a Question

63 discussions

What is worse: Safari or IE?

Safari. IE is a dead browser, the new versions (Edge) are actually pretty good. On the other hand, Safari is constantly lagging behind and holding the Web back. And what's even worse: On any platform that IE/Edge is used, people can switch to another browser. This is not true for Safari: You cannot install ANY other browser on the iPhone or iPad. There are apps like Chrome for iOS, but they're just shells around Safari. So it's not just a shitty browser, it's a shitty browser that forces itself on people. And that's the worst kind of shitty browser.

Reply to this…

Hashnode is a friendly and inclusive dev community.
Come jump on the bandwagon!

  • 💬 Ask programming questions without being judged

  • 🧠 Stay in the loop and grow your knowledge

  • 🍕 More than 500K developers share programming wisdom here

  • ❤️ Support the growing dev community!

Create my profile

Hi Lea, thank you for hosting this AMA!

  • Prism is one of my favourite libraries. What is the story behind its origin? How long did it take you to roll the first version out?

  • What is your favourite pastime? :)

About Prism: Glad you like it! It started from dabblet.com, the HTML & CSS playground I built in 2012. It was an evolution of a crude script I had written to highlight code on my presentations (you can find its origins in the CSSS repo: https://github.com/LeaVerou/csss/blob/gh-pages/plugins/code-highlight.js — CSSS is my presentation framework). Eventually I realized it might be a good idea to clean it up and release it as a separate script, and it became way more successful than any of the scripts it originated from.

About my favourite pastime (I assume you mean besides making stuff): I really love food. I like trying new things at restaurants, the more adventurous the better (my Instagram feed is literally over 90% food pictures and ratings) and I really enjoy cooking together with my partner, although we are not particularly experienced cooks yet. We're both really into food though, so we're getting better at it :)

Reply to this…

If you could wave a magic wand and add one thing to CSS with universal and perfect support, what would it be?

Haha, nice one!

If we're talking about things already in (reasonably mature) specs, it would be one of these:

  • conic-gradient()
  • attr() everywhere
  • :focus-within
  • backdrop-filter
  • CSS rule nesting

But hey, it's a magic wand, so maybe things don't have to be in specs yet or even be implementable! In that case, it would be one of the following:

  • :has() everywhere, not just in JS
  • var() to refer to ANY property, not just custom properties
  • element queries and generally style queries
  • Making custom properties animatable right in CSS, no JS required

Reply to this…

Hi Lea! Glad to see you here :)

What do you think about Firefox not considering 'Scrollbar styling' as a default rule.

It has a great support everywhere but they refuse to add the rule, is it justified?

Note that even on caniuse, this is described as a "non-standard method of styling scrollbars". Browsers have their own proprietary methods of styling them, but there is no standard. Therefore, I can't really blame Mozilla for not implementing a specification that doesn't exist.

Now, you may ask: "Why doesn't it exist?", to which I have no good answer. It's tricky to specify something that will work well across all possible scrolling mechanisms on all devices and OSes, which is similar to the reasons why we don't have a standard for styling form controls yet. It has been discussed briefly in the CSS WG though, and we do recognize that authors have a need for it, so I'm a little hopeful that we will see a spec for it in the near future. Fingers crossed!

Reply to this…

Hi Lea,

Thanks a lot for hosting a AMA!

  • Where do you get your inspirations for your projects?
  • I know ITCSS and BEMIT. What kind of CSS architectures do you use? What do you prefer about them?
  • Do you polyfill? Which browsers would you care about (and why), if you had to create a website for a new FOSS project (like a new JS library) today?
  • Do you think the browser wars are over?
  • What do you do in order to motivate yourself?
  • What do you do when you want to relax from some intense coding?
  1. My inspiration is almost always my own needs, I usually make things to scratch my own itch and put them out there hoping that others might have the same itch :)

  2. I highly value human readable code, so I don't really use any of those, as I don't like the result. Of course over time I have developed a few strategies to keep my code DRY and maintainable, but I don't think what I do fits in any of these schemes.

  3. I polyfill when necessary, and I ADORE polyfill.io because it takes all the hassle and extra weight away from polyfilling. For FOSS projects though, I think supporting the two latest versions of every browser (and no IE, just the latest Edge) is perfectly sufficient. Developers don't typically use older browsers. Any complaint I had about the websites of my open source libs not working on older browsers was from developers testing them there for the sake of it, not because they actually used that browser. So these days I reply to those complaints with "Thanks for the report, is this the browser you actually use?", to which they tend to back off and admit it isn't.

  4. There are still inconsistencies and browser bugs, but the situation doesn't compare to when I started in 2005 (and think that that was the tail end of what we know as the browser wars!). These days, if there's a difference between browsers, it's either because one of them implements something and the other one doesn't, or because you hit some obscure edge case (I hit many of those, but I think I'm an exception there). When I started, ANYTHING you did on the Web, you hit browser bugs. A good developer back then wasn't one with good knowledge of the specs, it was one with good memory of all the browser bugs. We're way past that now.

  5. I imagine how awesome it will be once I finish what I'm working on and people can actually use it, what they will make with it etc.

  6. I go to a nice restaurant (see my answer to Juanita above) :)

Reply to this…

Load more responses