You are browsing the new, beta version of my website.
Some things may not work properly.
If you spot any problems, please file an issue!
- On ratings and meters
- Releasing Color.js: A library that takes color seriously
- On Yak Shaving and <md-block>, a new HTML element for Markdown
- Custom properties with defaults: 3+1 strategies
- Inherit ancestor font-size, for fun and profit
- Dark mode in 5 minutes, with inverted lightness variables
- The --var: ; hack to toggle multiple values with one custom property
- Parsel: A tiny, permissive CSS selector parser
- Releasing MaVoice: A free app to vote on repo issues
- The Cicada Principle, revisited with CSS variables
- LCH colors in CSS: what, why, and how?
- Easy Dynamic Regular Expressions with Tagged Template Literals and Proxies
- Responsive tables, revisited
- Free Intro to Web Development slides (with demos)
- Different remote and local resource URLs, with Service Workers!
- Introducing Mavo: Create web apps entirely by writing HTML!
- Resolve Promises externally with this one weird trick
- URL rewriting with Github Pages
- Autoprefixing, with CSS variables!
- Markapp: A list of HTML libraries
- Introducing Multirange: A tiny polyfill for HTML5.1 two-handle sliders
- Introducing Bliss: A 3KB library for happier Vanilla JS
- Stretchy: Form element autosizing, the way it should be
- Spot the unsubscribe (link)!
- Conical gradients, today!
- Dynamically generated SVG through SASS + A 3D animated RGB cube!
- Introducing Whathecolor: A color game for web developers!
- Meet dpi.lv: More than you probably wanted to know about screen DPI
- Preview corner-shape, before implementations!
- Easily center text vertically, with SVG!
- iOS 6 switch style checkboxes with pure CSS
- Introducing Prism: An awesome new syntax highlighter
- Exactly how much CSS3 does your browser support?
- Introducing dabblet: An interactive CSS playground
- Animatable: A CSS transitions gallery
- PrefixFree: Break free from CSS prefix hell!
- Major update to Chainvas: modularity, a client side build script & more
- A better tool for cubic-bezier() easing
- Chainvas: Make APIs chainable, enhance the canvas API
- Pure CSS3 typing animation with steps()
- CSS.coloratum: Convert and share CSS colors
- Accessible star rating widget with pure CSS
- twee+: Longer tweets, no strings attached
- Detecting CSS selectors support + my JSConf EU talk
- A polyfill for HTML5 progress element, the obsessive perfectionist way
- CSS reflections for Firefox, with -moz-element() and SVG masks
- Pure CSS Tic Tac Toe
- Change URL hash without page jump
- StronglyTyped: A library for strongly typed properties & constants in JavaScript
- CSS3 patterns gallery and a new pattern
- Invert a whole webpage with CSS only
- Create complex RegExps more easily
- Convert standard gradient syntax to -webkit-gradient and others
- Beveled corners & negative border-radius with CSS3 gradients
- Custom <select> drop downs with CSS3
- Checkerboard pattern with CSS3
- Incrementable length values in text fields
- Convert PHP serialized data to Unicode
- Checkerboard, striped & other background patterns with CSS3 gradients
- rgba.php v1.2: Improved URL syntax, now at Github
- My FT2010 slides and CSSS: My presentation framework
- Organizing a university course on modern Web development
- On CSS counters plus a CSS3 Reversi UI
- CSS3 structural pseudo-class selector tester
- iPhone keyboard with CSS3 -- no images
- Quickly find the Gravatar that corresponds to a given email
- Yet another email hiding technique?
- Exploring browser-supported Unicode characters and a tweet shortening experiment
- A different approach to elastic textareas
- New version of rgba.php is out!
- Bevels in CSS3
- Cross-browser imageless linear gradients v2
- Java pretty dates
- Better usability in 5 minutes
- Cross browser, imageless linear gradients
- Mockup viewer bookmarklet
- Check whether the browser supports RGBA (and other CSS3 values)
- Bulletproof, cross-browser RGBA backgrounds, today
- Find the vendor prefix of the current browser
- Extend Math.round, Math.ceil and Math.floor to allow for precision
- JS library detector