<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Notes | Arpit&apos;s Blog</title><description>Brief notes from Arpit Agrawal on everything he is reading, learning and observing.</description><link>https://arpit.blog/</link><item><link>https://arpit.blog/notes/2026/03/slide-in-nav-scroll-triggered-animations/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/03/slide-in-nav-scroll-triggered-animations/</guid><description>&lt;p&gt;I liked &lt;a href=&quot;https://www.youtube.com/watch?v=6LJuWf4ySCI&quot;&gt;Kevin Powell’s video on the slide-in nav&lt;/a&gt;. In the video, Kevin demonstrates how to create a sticky header that initially scrolls away (when the user scrolls the page), then slides back into view as a sticky top bar once the user has scrolled past a certain threshold.&lt;/p&gt;
&lt;p&gt;He achieves the slide-in effect using scroll state queries and a negative &lt;code&gt;inset-block-start&lt;/code&gt; on the sticky positioned element.&lt;/p&gt;
&lt;p&gt;He also recreates the effect using scroll driven animations. But it’s not an ideal solution, since as he puts it speaking about the header, “if I stop at the wrong spot, it’s like halfway there”. That is definitely a usability issue.&lt;/p&gt;
&lt;p&gt;I remembered Bramus sharing his post &lt;a href=&quot;https://developer.chrome.com/blog/scroll-triggered-animations&quot;&gt;on scroll &lt;em&gt;triggered&lt;/em&gt; animations&lt;/a&gt;. As Bramus mentions, scroll triggered animations “trigger when crossing a specific scroll offset”. This is exactly what’s required to avoid the problem Kevin mentioned above.&lt;/p&gt;
&lt;p&gt;Here’s my &lt;a href=&quot;https://codepen.io/editor/arpit-codes/pen/019cd1ee-29b1-717f-8a27-9a37ba5f2c26&quot;&gt;CodePen demo&lt;/a&gt; achieving the slide-in effect using scroll triggered animations.&lt;/p&gt;
&lt;p&gt;I tested it on Chrome Canary v147. No other browser seems to support it yet, not even Chrome v145 even though Bramus’ article says it ships with v145. On browsers that don’t support scroll triggered animations, there is no slide-in effect but the header remains sticky.&lt;/p&gt;</description><pubDate>Mon, 09 Mar 2026 16:04:00 GMT</pubDate><category>animations</category><category>css</category></item><item><link>https://arpit.blog/notes/2026/02/rollback-css/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/02/rollback-css/</guid><description>&lt;p&gt;I keep forgetting how each of the following CSS values rolls back a declaration to a different point in the cascade. It was about time I jotted it down for my future self before it slips my mind again for the 1000th time.&lt;/p&gt;
&lt;dl class=&quot;flow&quot;&gt;
	&lt;div&gt;
		&lt;dt&gt;
			&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/initial&quot;&gt;
				&lt;code&gt;initial&lt;/code&gt;
			&lt;/a&gt;
		&lt;/dt&gt;
		&lt;dd&gt;Applies the initial value as defined in the CSS spec&lt;/dd&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;dt&gt;
			&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/unset&quot;&gt;
				&lt;code&gt;unset&lt;/code&gt;
			&lt;/a&gt;
		&lt;/dt&gt;
		&lt;dd&gt;Inherits or falls back to the initial value&lt;/dd&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;dt&gt;
			&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/revert&quot;&gt;
				&lt;code&gt;revert&lt;/code&gt;
			&lt;/a&gt;
		&lt;/dt&gt;
		&lt;dd&gt;Reverts to the user agent&apos;s default value&lt;/dd&gt;
	&lt;/div&gt;
	&lt;div&gt;
		&lt;dt&gt;
			&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/revert-layer&quot;&gt;
				&lt;code&gt;revert-layer&lt;/code&gt;
			&lt;/a&gt;
		&lt;/dt&gt;
		&lt;dd&gt;Rolls back to the value in a previous cascade layer&lt;/dd&gt;
	&lt;/div&gt;
&lt;/dl&gt;</description><pubDate>Wed, 25 Feb 2026 04:40:00 GMT</pubDate><category>cascade</category><category>css</category></item><item><link>https://arpit.blog/notes/2026/02/sotb-2026/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/02/sotb-2026/</guid><description>&lt;p&gt;I’ll be attending &lt;a href=&quot;https://2026.stateofthebrowser.com/&quot;&gt;State of the Browser&lt;/a&gt; for the first time, remotely! 💃🏻&lt;/p&gt;
&lt;p&gt;Really looking forward to Bramus’ talk on CSS Anchor Positioning and Zach’s talk on reducing the JS footprint.&lt;/p&gt;</description><pubDate>Mon, 23 Feb 2026 05:52:00 GMT</pubDate><category>sotb</category><category>conference</category></item><item><link>https://arpit.blog/notes/2026/02/reset-button/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/02/reset-button/</guid><description>&lt;p&gt;Today I learned that setting &lt;code&gt;type=&quot;reset&quot;&lt;/code&gt; on a &lt;code&gt;&amp;#x3C;button&gt;&lt;/code&gt; element in HTML creates a reset button that, when activated, immediately clears all form data, resetting it to its initial state.&lt;/p&gt;
&lt;p&gt;This could have been useful in the context of a search form. But &lt;code&gt;&amp;#x3C;input type=&quot;search&quot;&gt;&lt;/code&gt; already provides a native clear button for that single field.&lt;/p&gt;</description><pubDate>Mon, 09 Feb 2026 09:55:00 GMT</pubDate><category>button</category><category>input</category><category>html</category></item><item><link>https://arpit.blog/notes/2026/01/okpalette-color-extraction/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/01/okpalette-color-extraction/</guid><description>&lt;p&gt;Just spent some time playing with &lt;a href=&quot;https://okpalette.color.pizza/&quot;&gt;OKpalette&lt;/a&gt;, a color extraction tool by &lt;a href=&quot;https://elastiq.ch/&quot;&gt;David Aerne&lt;/a&gt;, and I’m in awe.&lt;/p&gt;
&lt;p&gt;The 3D spinning text pulled me in immediately. I assumed it was done using JavaScript because it reminded me of the &lt;a href=&quot;https://spacetypegenerator.com/&quot;&gt;Space Type Generator&lt;/a&gt;. Finding out it’s done using CSS genuinely blew my mind. David was kind enough to share a &lt;a href=&quot;https://codepen.io/meodai/pen/ZYOyqBo?editors=0010&quot;&gt;CodePen demo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I loved the animations and the subtle use of audio while interacting with the UI. Then I watched &lt;a href=&quot;https://www.youtube.com/watch?v=qkZlgJLGKI4&quot;&gt;David’s walkthrough / demo&lt;/a&gt; and realized the functionality is just as beautiful as the visuals, if not more.&lt;/p&gt;</description><pubDate>Fri, 23 Jan 2026 03:46:00 GMT</pubDate><category>color</category><category>interaction-design</category><category>design</category><category>css</category><category>tools</category><category>resource</category></item><item><link>https://arpit.blog/notes/2026/01/unreasonable-man-quote/</link><guid isPermaLink="true">https://arpit.blog/notes/2026/01/unreasonable-man-quote/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The reasonable man adapts himself to the world; the unreasonable man persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I learned about this quote by George Bernard Shaw from &lt;a href=&quot;https://www.youtube.com/watch?v=MiUHjLxm3V0&quot;&gt;Veritasium’s video on The World’s Most Important Machine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It instantly reminded me of the &lt;a href=&quot;https://www.youtube.com/watch?v=P2z5dTOHsL0&quot;&gt;&lt;i lang=&quot;hi-Latn&quot;&gt;Kaun Hai Tu&lt;/i&gt; scene from Gully Boy&lt;/a&gt;, where Murad embodies Shaw’s “unreasonable man.” In this scene, Murad is confronted by his father after quitting his job to pursue his dream. The father tries to convince Murad that his dreams need to match his reality. Murad then answers that he will change his reality to match his dreams.&lt;/p&gt;</description><pubDate>Tue, 13 Jan 2026 15:25:00 GMT</pubDate><category>progress</category><category>quote</category><category>film</category></item><item><link>https://arpit.blog/notes/2025/12/use-the-product/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/12/use-the-product/</guid><description>&lt;p&gt;Earlier this month, I noted down &lt;a href=&quot;https://arpit.blog/links/2025/12/developer-job-jason-lengstorf/&quot;&gt;Jason’s advice on how to get hired as a developer&lt;/a&gt;. I’d also like to add the following point from &lt;a href=&quot;https://x.com/burcs/status/2002013464387105231&quot;&gt;@brandon&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;use the product&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;this is one of the first questions i ask in the interview anyways, ship and share something you’ve built on top of cloudflare. this alone will set you apart from most of the candidates, and it will show you are genuinely interested.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This complements Jason’s advice well, because it turns “show your work” into something concrete and product-specific.&lt;/p&gt;</description><pubDate>Mon, 29 Dec 2025 04:22:00 GMT</pubDate><category>job</category><category>hiring</category><category>career</category></item><item><link>https://arpit.blog/notes/2025/12/mac-os-scroll-bars-mouse/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/12/mac-os-scroll-bars-mouse/</guid><description>&lt;p&gt;Today I learned that on macOS, with the default scrollbar setting enabled, classic scrollbars are shown automatically when a mouse is connected. I used to believe that, mouse or not, users needed to explicitly change the scrollbar appearance to get the classic scrollbars.&lt;/p&gt;
&lt;p&gt;This is relevant for everyone who builds websites because when classic scrollbars are shown, the value of &lt;code&gt;100vw&lt;/code&gt; includes the scrollbar width. This can cause an unexpected horizontal overflow if the layout relies on &lt;code&gt;100vw&lt;/code&gt; for full-width elements. Additionally, they affect media queries, which assume scrollbars don’t exist when evaluating viewport width.&lt;/p&gt;
&lt;p&gt;Having said that, these aren’t new issues. Classic scrollbars are shown by default on Windows, where the same behaviours apply.&lt;/p&gt;
&lt;p&gt;Further reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://web.dev/blog/viewport-units&quot;&gt;The large, small, and dynamic viewport units | Blog | web.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2023/12/new-css-viewport-units-not-solve-classic-scrollbar-problem/&quot;&gt;New CSS Viewport Units Do Not Solve The Classic Scrollbar Problem — Smashing Magazine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tip.com/width-scrollbar/&quot;&gt;Get the scrollbar width using only CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://frontendmasters.com/blog/full-bleed-layout-with-modern-css/&quot;&gt;Full-Bleed Layout with Modern CSS – Frontend Masters Blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><pubDate>Thu, 18 Dec 2025 15:37:00 GMT</pubDate><category>scrollbars</category><category>layout</category><category>viewport</category><category>media-queries</category><category>css</category><category>mac-os</category></item><item><link>https://arpit.blog/notes/2025/11/homebound/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/11/homebound/</guid><description>&lt;p&gt;I just watched &lt;a href=&quot;https://www.themoviedb.org/movie/1227739&quot;&gt;Homebound&lt;/a&gt;, Neeraj Ghaywan’s second feature film. And it left me devastated.&lt;/p&gt;
&lt;p&gt;The film is based on  &lt;a href=&quot;https://www.nytimes.com/2020/07/31/opinion/sunday/India-migration-coronavirus.html&quot;&gt;Basharat Peer’s article ‘Taking Amrit Home’&lt;/a&gt; (which has since been retitled ‘A Friendship, a Pandemic and a Death Beside the Highway’).&lt;/p&gt;
&lt;p&gt;I highly recommend this film. But if you can’t watch it for whatever reason you must read the article.&lt;/p&gt;</description><pubDate>Sun, 30 Nov 2025 17:05:00 GMT</pubDate><category>film</category><category>india</category></item><item><link>https://arpit.blog/notes/2025/11/mindful-design-course/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/11/mindful-design-course/</guid><description>&lt;p&gt;I’m a web designer-developer who has mostly designed &lt;em&gt;and&lt;/em&gt; built marketing websites for small to medium-sized businesses. I started designing because my clients didn’t have a designer and expected me to handle everything. But I’ve always felt like an imposter. It’s not a nice feeling.&lt;/p&gt;
&lt;p&gt;I’m really determined to change that, which is why I just bought &lt;a href=&quot;https://piccalil.li/mindful-design&quot;&gt;Scott Riley’s course, Mindful Design&lt;/a&gt;. &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; is running a Black Friday sale on all their courses, including Mindful Design, and I can wholeheartedly recommend them.&lt;/p&gt;</description><pubDate>Fri, 28 Nov 2025 04:44:00 GMT</pubDate><category>design</category><category>course</category><category>piccalilli</category></item><item><link>https://arpit.blog/notes/2025/10/root-pseudo-class-specificity/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/10/root-pseudo-class-specificity/</guid><description>&lt;p&gt;Today I learned, &lt;code&gt;:root&lt;/code&gt; (0-1-0) has a higher specificity than &lt;code&gt;html&lt;/code&gt; (0-0-1).&lt;/p&gt;
&lt;p&gt;In hindsight, it’s obvious. &lt;code&gt;:root&lt;/code&gt; is a CSS pseudo-class selector and, like most pseudo-class selectors, it has the same specificity as a class selector or an attribute selector.&lt;/p&gt;</description><pubDate>Thu, 23 Oct 2025 13:13:00 GMT</pubDate><category>pseudo-class</category><category>specificity</category><category>css</category></item><item><link>https://arpit.blog/notes/2025/10/padel-tennis-bowling/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/10/padel-tennis-bowling/</guid><description>&lt;p&gt;Hot take: Padel is to tennis what bowling with bumpers on is to bowling. Its design choices lead to fewer mistakes and a lower barrier to entry.&lt;/p&gt;</description><pubDate>Mon, 20 Oct 2025 23:09:00 GMT</pubDate><category>padel</category><category>tennis</category><category>bowling</category></item><item><link>https://arpit.blog/notes/2025/10/img-alt-attribute/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/10/img-alt-attribute/</guid><description>&lt;p&gt;I keep forgetting, but the &lt;code&gt;alt&lt;/code&gt; attribute of the &lt;code&gt;&amp;#x3C;img&gt;&lt;/code&gt; element is not just useful for users who are visually impaired. It is also useful when the image is not displayed in the browser for whatever reason. For example: the &lt;code&gt;src&lt;/code&gt; attribute does not contain a valid path to an image.&lt;/p&gt;</description><pubDate>Mon, 13 Oct 2025 05:02:00 GMT</pubDate><category>alt</category><category>img</category><category>accessibility</category><category>html</category></item><item><link>https://arpit.blog/notes/2025/10/john-mayer-on-being-yourself/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/10/john-mayer-on-being-yourself/</guid><description>&lt;p&gt;&lt;a href=&quot;https://youtube.com/watch?v=_GQbDRGm__o&amp;#x26;t=2768&quot;&gt;John Mayer on how trying and not doing it well enough is a wonderful technique for being yourself&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Failing to sound exactly like the person you want to sound like is a wonderful way to sound like yourself. So I’m not necessarily thinking this thing from scratch, going, &lt;i&gt;Okay, I’m gonna, like, do Jerry-esque things, but I’m still gonna sound like me.&lt;/i&gt; No, it’s more like, &lt;i&gt;I want to sound just like Jerry,&lt;/i&gt; and then the way I naturally, obviously don’t — that’s your personality. Music doesn’t let you lie. […] You try to sound like who you want to sound like, and you just will always end up sounding like you.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I like this advice. It is an interesting take on the learning by copying method.&lt;/p&gt;</description><pubDate>Sun, 12 Oct 2025 12:55:00 GMT</pubDate><category>learning</category><category>john-mayer</category></item><item><link>https://arpit.blog/notes/2025/10/whimsical-animations/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/10/whimsical-animations/</guid><description>&lt;p&gt;I just purchased &lt;a href=&quot;https://whimsy.joshwcomeau.com/&quot;&gt;Josh Comeau’s new course, Whimsical Animations&lt;/a&gt;. The course page itself has some delightful animations.&lt;/p&gt;
&lt;p&gt;PS: I also discovered &lt;a href=&quot;https://fonts.google.com/specimen/Gochi+Hand&quot;&gt;Gochi Hand, a cute handwritten font&lt;/a&gt;, on the course page.&lt;/p&gt;</description><pubDate>Wed, 01 Oct 2025 05:18:00 GMT</pubDate><category>animations</category><category>course</category><category>fonts</category></item><item><link>https://arpit.blog/notes/2025/09/web-page/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/09/web-page/</guid><description>&lt;p&gt;Just like a word document can be displayed in a word processing application, a web page is simply an HTML document that can be displayed in a web browser. The only difference is that a web page can embed a variety of different types of resources such as styles, fonts, images, scripts, and so on.&lt;/p&gt;</description><pubDate>Mon, 22 Sep 2025 05:48:00 GMT</pubDate><category>web</category></item><item><link>https://arpit.blog/notes/2025/09/relative-color-syntax-alpha/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/09/relative-color-syntax-alpha/</guid><description>&lt;p&gt;&lt;a href=&quot;https://mastodon.social/@anatudor/115214693132139947&quot;&gt;Ana Tudor wrote on Mastodon&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Stupid #CSS question because I’m losing my mind here: why isn’t calc(.5*a) working? What am I missing? It doesn’t seem to be working in any browser.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ana is trying to use &lt;code&gt;calc(.5 * a)&lt;/code&gt; as a part of the relative color syntax, presumably to create semi transparent outlines. But it is not working because &lt;code&gt;calc(.5 * a)&lt;/code&gt; is an invalid property value. As &lt;a href=&quot;https://fedi.valtlai.fi/@valtlai/115214702277627522&quot;&gt;Valtteri Laitinen replied&lt;/a&gt;, it should actually be &lt;code&gt;alpha&lt;/code&gt; in there instead of &lt;code&gt;a&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&quot;astro-code css-variables&quot; style=&quot;background-color:var(--astro-code-background);color:var(--astro-code-foreground); overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;css&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt;.class&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;	outline-color&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt; rgb&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;(from currentcolor r g b / &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt;calc&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;(0.5 &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt; a))&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-comment)&quot;&gt;/* ❌ invalid */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;	outline-color&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt; rgb&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;(&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;		from currentcolor r g b / &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt;calc&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;(0.5 &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt; alpha)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;	)&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-comment)&quot;&gt;/* ✅ valid */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Wed, 17 Sep 2025 03:01:00 GMT</pubDate><category>color</category><category>css</category></item><item><link>https://arpit.blog/notes/2025/08/heydon-html-article-element/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/08/heydon-html-article-element/</guid><description>&lt;p&gt;I re-read &lt;a href=&quot;https://heydonworks.com/article/the-article-element/&quot;&gt;Heydon Pickering’s post on the HTML article element&lt;/a&gt; in the middle of writing the markup for a new website.&lt;/p&gt;
&lt;p&gt;Heydon’s writing is so sharp and funny. Unmistakably theirs. No one else writes quite like them, and I’m here for it.&lt;/p&gt;</description><pubDate>Thu, 14 Aug 2025 02:42:00 GMT</pubDate><category>heydon-pickering</category><category>article-element</category><category>html</category></item><item><link>https://arpit.blog/notes/2025/08/custom-prop-meta-theme-color/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/08/custom-prop-meta-theme-color/</guid><description>&lt;p&gt;I was reading &lt;a href=&quot;https://css-tricks.com/meta-theme-color-and-trickery/#aa-custom-properties&quot;&gt;Manuel Matuzovic’s article on meta theme
color&lt;/a&gt;
and came across this snippet:&lt;/p&gt;
&lt;pre class=&quot;astro-code css-variables&quot; style=&quot;background-color:var(--astro-code-background);color:var(--astro-code-foreground); overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;html&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt;	:root&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;		--theme&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt; blue&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;	}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;meta&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt; name&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;&quot;theme-color&quot;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt; content&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;&quot;var(--theme)&quot;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I wish it was possible to access custom properties outside the &lt;code&gt;&amp;#x3C;style&gt;&lt;/code&gt; tag in the &lt;code&gt;&amp;#x3C;head&gt;&lt;/code&gt;. It would keep things &lt;i&gt;DRY&lt;/i&gt;.&lt;/p&gt;</description><pubDate>Wed, 13 Aug 2025 05:03:00 GMT</pubDate><category>theme-color</category><category>html</category><category>css</category></item><item><link>https://arpit.blog/notes/2025/02/grid-auto-rows-grid-auto-columns/</link><guid isPermaLink="true">https://arpit.blog/notes/2025/02/grid-auto-rows-grid-auto-columns/</guid><description>&lt;p&gt;Today I learned, &lt;code&gt;grid-auto-columns&lt;/code&gt; and &lt;code&gt;grid-auto-rows&lt;/code&gt; size implicit tracks as well as any explicit tracks that are not explicitly sized by by &lt;code&gt;grid-template-rows&lt;/code&gt; or &lt;code&gt;grid-template-columns&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Until now, I was under the impression that &lt;code&gt;grid-auto-rows&lt;/code&gt; and &lt;code&gt;grid-auto-columns&lt;/code&gt; size only implicit grid tracks.&lt;/p&gt;</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>grid</category><category>css</category></item><item><link>https://arpit.blog/notes/2024/07/css-grid-areas/</link><guid isPermaLink="true">https://arpit.blog/notes/2024/07/css-grid-areas/</guid><description>&lt;p&gt;I got the opportunity to proofread &lt;a href=&quot;https://ishadeed.com/article/css-grid-area/&quot;&gt;Ahmad Shadeed’s latest article on CSS Grid Areas&lt;/a&gt; before its release. It inspired me to refactor the code on my site to use &lt;code&gt;grid-template-areas&lt;/code&gt;.&lt;/p&gt;</description><pubDate>Mon, 22 Jul 2024 00:00:00 GMT</pubDate><category>grid</category><category>css</category><category>ahmad-shadeed</category></item><item><link>https://arpit.blog/notes/2024/01/text-underline-offset/</link><guid isPermaLink="true">https://arpit.blog/notes/2024/01/text-underline-offset/</guid><description>&lt;p&gt;Thanks to &lt;a href=&quot;https://youtube.com/watch?v=x3MTfp3HDLc&amp;#x26;t=506&quot;&gt;Kevin Powell&lt;/a&gt;, today I learned that the &lt;code&gt;text-underline-offset&lt;/code&gt; property is named so because it &lt;em&gt;only&lt;/em&gt; applies to underlines and not other &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line&quot;&gt;&lt;code&gt;text-decoration-line&lt;/code&gt;&lt;/a&gt; values like &lt;code&gt;overline&lt;/code&gt; and &lt;code&gt;line-through&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&quot;astro-code css-variables&quot; style=&quot;background-color:var(--astro-code-background);color:var(--astro-code-foreground); overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;html&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&amp;#x3C;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-function)&quot;&gt; href&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;&quot;https://example.com&quot;&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&gt;Example&amp;#x3C;/&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code css-variables&quot; style=&quot;background-color:var(--astro-code-background);color:var(--astro-code-foreground); overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;css&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-string-expression)&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;	text-decoration-line&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt; underline overline&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-comment)&quot;&gt;/* We can set multiple line-decoration properties at once */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt;	text-underline-offset&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-constant)&quot;&gt; 16&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-keyword)&quot;&gt;px&lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color:var(--astro-code-token-comment)&quot;&gt;/* Only impacts underline */&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:var(--astro-code-foreground)&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Fri, 19 Jan 2024 01:30:00 GMT</pubDate><category>underline</category><category>kevin-powell</category><category>css</category></item></channel></rss>