Relative links are great; they let you move your whole tree of HTML files from one place to another and still retain the internal link structure. However, they start to suffer when you have multiple levels of directory structure: is that `href="../../style.css"` or `href="../../../style.css"`? It's a bit confusing, and even if you don't get confused, you still have to modify links when you copy them from one file to another.
What would be more helpful would be the ability to say "up to a directory named foo". Suppose you have this setup: kragen/ index.html resume.html style/style.css images/ kragenlogo.png headshot.jpg blog/ 1.html 2.html archive/ 2008-03.html Now, suppose there's some text in `2008-03.html` that was originally in `2.html` or one of its siblings. It would be nice if that text didn't have to be changed from `<a href="1.html">` to `<a href="../1.html">`. You can write `<a href="/kragen/blog/1.html">`, but in addition to being verbose, that makes it hard to use a tree of HTML that you've downloaded with `wget -r` or something similar. Suppose you could instead write `<a href="$blog/1.html">`, meaning "go up until you find an ancestor directory named `blog`, then use its children". Now you can write things like `<img src="$kragen/headshot.jpg">` freely, and copy and paste them among all the files. By itself, this would be a backwards-incompatible change to browsers and the URL spec, but it could degrade gracefully. You could program your web server to generate redirects for backwards-compatibility, while implementing the change in newer browsers. Compatibility problems would only arise if someone had a relative link to a directory whose name began with "$" whose name otherwise duplicated that of a directory higher up in the hierarchy.