{"componentChunkName":"component---src-templates-blog-list-jsx","path":"/blog/","result":{"data":{"allMdx":{"edges":[{"node":{"fields":{"slug":"/blog/using-chrome-devtools-mcp-with-polypane/","date":"2025-11-09T23:00:00.000Z","updated":"2026-07-29T22:00:00.000Z","collection":"posts"},"excerpt":"The recently released  chrome-devtools-mcp  allows you to connect your coding agent (like GitHub Copilot) to a running Chromium instance to inspect and verify changes in the actual DOM. Thanks to changes made by the…","timeToRead":6,"frontmatter":{"title":"Using chrome-devtools-mcp with Polypane","cover":"/blogs/chromemcp/cover.svg","date":"2025-11-10","updated":"2026-07-30"}}},{"node":{"fields":{"slug":"/blog/cheatsheets-for-flex-grid-anchor-positioning-and-invoker-commands/","date":"2026-07-26T22:00:00.000Z","updated":"2026-07-26T22:00:00.000Z","collection":"posts"},"excerpt":"For CSS Day this year we created a set of cheatsheets explaining Flexbox, Grid, Anchor positioning and Invoker commands. They came out beautifully and a lot of people really liked them at our booth, so we decided to make…","timeToRead":2,"frontmatter":{"title":"Cheatsheets for flex, grid, anchor positioning and invoker commands","cover":"/blogs/cheatsheets/cards.png","date":"2026-07-27","updated":null}}},{"node":{"fields":{"slug":"/blog/css-breakpoints-used-by-popular-css-frameworks/","date":"2020-07-14T22:00:00.000Z","updated":"2026-07-16T22:00:00.000Z","collection":"posts"},"excerpt":"When using a CSS framework it often doesn't matter what devices people use. These frameworks come with their own set of\nCSS breakpoints with components that work well with those breakpoints. Instead of configuring…","timeToRead":1,"frontmatter":{"title":"CSS breakpoints used by popular CSS frameworks","cover":"/blogs/css-frameworks/user_interface__isometric.svg","date":"2020-07-15","updated":"2026-07-17"}}},{"node":{"fields":{"slug":"/blog/experimenting-with-the-new-pure-css-random-function/","date":"2026-06-23T22:00:00.000Z","updated":"2026-06-23T22:00:00.000Z","collection":"posts"},"excerpt":"CSS is getting a  random()  function that lets you set properties with a random value, opening up a ton of interesting creative possibilities. In this article, I’m taking an early look at the function to see how it works…","timeToRead":15,"frontmatter":{"title":"Experimenting with the new pure CSS random() function","cover":"/blogs/random/cover.png","date":"2026-06-24","updated":null}}},{"node":{"fields":{"slug":"/blog/strategies-for-dealing-with-horizontal-overflows/","date":"2020-10-07T22:00:00.000Z","updated":"2026-05-21T22:00:00.000Z","collection":"posts"},"excerpt":"One of the most time consuming issues when it comes to web development is  debugging horizontal scrollbars . They're easy to overlook while developing (especially on macs) and if users scrolls horizontally, your layout…","timeToRead":4,"frontmatter":{"title":"How to find the cause of horizontal scrollbars","cover":"/blogs/detect-overflow/overflow.svg","date":"2020-10-08","updated":"2026-05-22"}}},{"node":{"fields":{"slug":"/blog/using-safe-area-inset-to-build-mobile-safe-layouts/","date":"2026-05-05T22:00:00.000Z","updated":"2026-05-05T22:00:00.000Z","collection":"posts"},"excerpt":"Modern phones are not simple rectangles. They have rounded corners, camera cutouts, dynamic islands, and home indicators that double as gesture areas. Browsers know the dimensions of all of these and expose the parts…","timeToRead":6,"frontmatter":{"title":"Using safe-area-inset to build mobile-safe layouts","cover":"/blogs/safe-area-insets/cover.svg","date":"2026-05-06","updated":null}}},{"node":{"fields":{"slug":"/blog/polypane-29-new-network-panel-snippet-store-and-chromium-148/","date":"2026-05-03T22:00:00.000Z","updated":"2026-05-03T22:00:00.000Z","collection":"posts"},"excerpt":"Polypane 29 introduces an updated panel UI, a new network panel for inspecting requests, a new snippet store for discovering and installing snippets, and a custom selectors overview in the outline panel, plus many other…","timeToRead":11,"frontmatter":{"title":"Polypane 29: New network panel, snippet store and Chromium 148","cover":"/img/mail/icon.svg","date":"2026-05-04","updated":null}}},{"node":{"fields":{"slug":"/blog/find-and-fix-accessibility-issues-with-polypane/","date":"2021-01-18T23:00:00.000Z","updated":"2026-04-20T22:00:00.000Z","collection":"posts"},"excerpt":"At Polypane, accessibility is one of the three core areas we focus on, along with performance and responsive design. If you're not familiar with Polypane, it's a web browser specifically for web developers. It has all…","timeToRead":16,"frontmatter":{"title":"Find and fix accessibility issues with Polypane","cover":"/blogs/a11y/cover.svg","date":"2021-01-19","updated":"2026-04-21"}}},{"node":{"fields":{"slug":"/blog/the-intl-api-the-best-browser-api-youre-not-using/","date":"2026-04-07T22:00:00.000Z","updated":"2026-04-07T22:00:00.000Z","collection":"posts"},"excerpt":"Chances are you've used  Moment.js ,  date-fns ,  Luxon , or  numeral.js  at some point. Developers have relied on these libraries for years to format dates, numbers, and currencies. Those are all very useful libraries…","timeToRead":13,"frontmatter":{"title":"The Intl API: The best browser API you're not using","cover":"/blogs/intl/cover.png","date":"2026-04-08","updated":null}}},{"node":{"fields":{"slug":"/blog/how-to-debug-the-starting-style-at-rule-in-polypane/","date":"2026-02-11T23:00:00.000Z","updated":"2026-02-11T23:00:00.000Z","collection":"posts"},"excerpt":"The  @starting-style  at-rule makes it possible to animate in elements as you add them to the DOM, something that previously needed JavaScript trickery to achieve. In this article, we'll go over how to use  @starting…","timeToRead":6,"frontmatter":{"title":"How to debug the @starting-style at-rule in Polypane","cover":"/blogs/startingstyle/cover.png","date":"2026-02-12","updated":null}}},{"node":{"fields":{"slug":"/blog/polypane-28-project-improvements-elements-panel-updates-and-chromium-146/","date":"2026-02-09T23:00:00.000Z","updated":"2026-02-09T23:00:00.000Z","collection":"posts"},"excerpt":"The first release of 2026 comes with plenty of improvements to Projects, the new Environments feature prevents you from confusing production for localhost, the Elements panel is faster and more powerful than ever, and…","timeToRead":13,"frontmatter":{"title":"Polypane 28: Project improvements, Elements panel updates and Chromium 146","cover":"/img/mail/icon.svg","date":"2026-02-10","updated":null}}},{"node":{"fields":{"slug":"/blog/understanding-the-fundamentals-of-css-layout/","date":"2026-01-21T23:00:00.000Z","updated":"2026-01-21T23:00:00.000Z","collection":"posts"},"excerpt":"When developers say that CSS is hard, they're usually talking about CSS layout. What often gets omitted though is that developers are assumed to understand and effectively use CSS without being taught how it works in the…","timeToRead":26,"frontmatter":{"title":"Understanding the fundamentals of CSS Layout","cover":"/blogs/complete/web_development__isometric.svg","date":"2026-01-22","updated":null}}}]}},"pageContext":{"limit":12,"skip":0,"numPages":12,"currentPage":1}},"staticQueryHashes":["4164364741","425175329"]}