A CSS-only elastic hover effect, because why not?
https://css-tip.com/elastic-hover/
A chrome-only experiment using shape(), sibling-index(), linear(), etc.
A CSS-only elastic hover effect, because why not?
https://css-tip.com/elastic-hover/
A chrome-only experiment using shape(), sibling-index(), linear(), etc.
#genuary2026, day 28:
No libraries, no canvas, only HTML elements.
Playing with flex-box and modulation.
People are debating the masonry layout, and I'm creating strange layouts.
A Pyramidal Grid of Hexagon Shapes! 👀
https://css-tip.com/pyramidal-grid/
A fully responsive implementation powered by modern CSS (corner-shape, sibling-index(), math functions, etc.) and no media queries.
Avis à la population #urgenge #stage #paris #bts #php #html #lastchance
Jeune étudiante en 1ere année BTS info. SIO cherche un stage sur Paris pour deux mois à compter de mai (oui c'est demain) jusqu’à juin selon le planning donné par l’école . Une durée plus longue serait aussi bénéfique. Si l’entreprise peut donner la possibilité d’avoir l’alternance elle serait aussi ravie car elle l’envisage pour l’année prochaine.
Pour toute personne intéressée, me contacter en MP pour passer le CV.
@amoatengJohanan Oppong Amoateng has put together an initial roadmap to get Unicorn to a stable 1.0 release. 🤩
We'd love your feedback! What would be most useful for Unicorn going forward? How can we set it up for improved support and adoption in the #Django ecosystem?
https://github.com/adamghill/django-unicorn/discussions/768#discussioncomment-15598088
#HTML #Reactive #WebDev #WebDevelopment #Web #AJAX #JavaScript #Python
Released 0.24.0 of dj-angles, a way to use #HTML elements instead of the #Django Template Language.
- Added support for Django 6.0 template partials (https://docs.djangoproject.com/en/6.0/ref/templates/language/#template-partials).
📖 https://dj-angles.adamghill.com/en/latest/
🛠️ https://github.com/adamghill/dj-angles
📦 https://pypi.org/project/dj-angles/
Released 0.25.0 of dj-angles, a way to use #HTML elements instead of the #Django Template Language.
- Add error boundaries: https://dj-angles.adamghill.com/en/latest/error-boundaries/
- Add `django-components` integration: https://django-components.github.io/django-components/
Plus, lots of bugs have been squashed, faster parsing, and improved stability. 🙌
📖 https://dj-angles.adamghill.com/en/latest/
🛠️ https://github.com/adamghill/dj-angles
📦 https://pypi.org/project/dj-angles/
Released 0.24.0 of dj-angles, a way to use #HTML elements instead of the #Django Template Language.
- Added support for Django 6.0 template partials (https://docs.djangoproject.com/en/6.0/ref/templates/language/#template-partials).
📖 https://dj-angles.adamghill.com/en/latest/
🛠️ https://github.com/adamghill/dj-angles
📦 https://pypi.org/project/dj-angles/
💡 CSS Tip!
Recreating the fieldset/legend layout using minimal HTML.
https://css-tip.com/filedset-legend/
A responsive and direction-aware implementation easy to control using CSS variables.
Paul is a good writer. I wouldn’t be able to write article like this without swearing a lot.
“The Incredible Overcomplexity of the Shadcn Radio Button” by Paul Hebert
⚙️ New CSS Generator
Create those fancy (random) wavy dividers using the new shape() function! 🤩
https://css-generators.com/wavy-divider/
Play with the settings and get the code in no time.
✅ One property
✅ Responsive
✅ Works with any element
Enjoy!
HTML-only conditional lazy loading (via preload and media)
Link: https://orga.cat/blog/html-conditional-lazy-loading/
Discussion: https://news.ycombinator.com/item?id=46574640
You are not required to close your <p>, <li>, <img>, or <br> tags in HTML
Link: https://blog.novalistic.com/archives/2017/08/optional-end-tags-in-html/
Discussion: https://news.ycombinator.com/item?id=46559065
Just published 0.6.0 of refreshcss, a pure #Python library to clean unused #CSS.
- Much better modern CSS support via https://pypi.org/project/tinycss2/, i.e. can now parse Bulma 1.x.
- Use https://pypi.org/project/justhtml/ for parsing #HTML instead of just using regex.
- Much improved performance, i.e. can now reasonably parse the entire 3 MB Tailwind file on the fly! 🚀
🛠️ https://github.com/adamghill/refreshcss
📦 https://pypi.org/project/refreshcss/
💡CSS Tip!
Connecting two circles with an arrow is good, but it's even better if we can calculate and show the distance inside the arrow! 👀
https://css-tip.com/connected-circles-2/
Another cool demo powered by the future of CSS.
💡CSS Tip!
Connecting two circles with an arrow is good, but it's even better if we can calculate and show the distance inside the arrow! 👀
https://css-tip.com/connected-circles-2/
Another cool demo powered by the future of CSS.
It’s 2026 and text-based web browsers still do not know how to handle (not so) recent additions to HTML.
Heartbreaking update from #tailwindcss. They had to lay off 75% of their staff yesterday due to #AI driven losses.
I really don't see how the #OpenSource industry survives this. The days of making your source and your docs open to the public is quickly disappearing.
https://github.com/tailwindlabs/tailwindcss.com/pull/2388#issuecomment-3717222957
Htmx: High Power Tools for HTML
Link: https://github.com/bigskysoftware/htmx
Discussion: https://news.ycombinator.com/item?id=46524527
I charged $18k for a Static HTML Page (2019)
Link: https://idiallo.com/blog/18000-dollars-static-web-page
Discussion: https://news.ycombinator.com/item?id=46469877
A decade ago, I was writing about how you should test your user interface on drunk people. It was a semi-serious idea. Some of your users will be drunk when using your app or website. If it is easy for them to use, then it should be easy for sober people to use.
Of course, necking a few shots every time you update your website isn't great for your health - so is there another way?
Click the "🥴 Drunk" button at the top of the page and see what happens!
These are a relatively simple set of CSS rules which you can apply to any site in order to simulate inebriation.
(I may have changed these since writing the post. Check the source for the latest version.)
First, monkey around with the fonts. This sets all the lower-case vowels to be rendered in a different font - as discussed in "targetting specific characters with CSS rules":
CSS
/* Drunk */ @font-face { font-family: "Drunk"; src: url("/blog/wp-content/themes/edent-wordpress-theme/assets/fonts/CommitMonoV143-Edent.woff2") format("woff2"); /* Lower-Case Vowels */ unicode-range: U+61, U+65, U+69, U+6F, U+75 ; size-adjust: 105%; }
The rest of the characters will be rendered in the system's default Cursive font. Characters will also be slanted. The first character of every paragraph will be shrunk:
CSS
:root:has(input#drunk:checked) * { font-family: "Drunk", cursive; font-style: oblique -12deg; text-align: end; } :root:has(input#drunk:checked) p::first-letter { font-size: .5em; }
Next, use the child selectors to rotate and skew various elements. While we wait for CSS randomness to come to all browsers this is a simple way to select various elements:
CSS
:root:has(input#drunk:checked) *:nth-child(3n) { transform: rotate(2deg); } :root:has(input#drunk:checked) *:nth-child(5n) { transform: skew(5deg, 5deg); } :root:has(input#drunk:checked) *:nth-child(7n) { transform: rotate(-3deg); }
Make the entire page blurred and saturate the colours:
CSS
:root:has(input#drunk:checked) body { filter: blur(1px) saturate(2.5); }
Make any hyperlink harder to click by having it gently bounce up and down:
CSS
:root:has(input#drunk:checked) a { animation-name: bounce; animation-duration: 4s; animation-direction: alternate; animation-timing-function: ease-in-out; animation-iteration-count: infinite; } @keyframes bounce { 0% { margin-top: 0px; } 25% { margin-top:-10px; } 50% { margin-top: 0px; } 75% { margin-top: 10px; } 100% { margin-top: 0px; } }
Does this really simulate drunkenness? No. It is a pale simulacrum. What it is, however, is deliberately inaccessible to the majority of people.
How does it make you feel using the site in Drunk-Mode? Does it frustrate you? Do your eyes hurt due to the garish colour scheme? Do you keep missing the thing that you try and click on? Are the words so hard to read that it takes you extra time to do anything useful? Will you recommend this experience to your friends and family?
I've written before about cosplaying as being disabled. Strapping on a pair of Glaucoma Goggles will give you an idea of what a visual impairment is like. But it won't give you the experience of living that way for months or years.
You should test your stuff with people who have cognitive impairments or physical disabilities. Find out how usable your site is for someone lacking fine motor control or for those with learning disabilities. Pay disable people to take part in usability studies. Integrate their feedback.
Faffing around with CSS will only get you so far.
#css #drunk #HTML #ui #ux #webdevReady for the first cool demo of the year?
A mini Mario world with keyboard control. Yes, you can move Mario and also jump! 👀
Demo: https://codepen.io/t_afif/full/JoKYwXO via
@codepen
✔️ 100% CSS Magic
✔️ Minimal HTML
❌ 0% JavaScript
A Chrome-only experimentation using modern CSS.
Remember the old #html , #css and #javascript badges?
These came out around around 15 years ago....
I'm getting old
You can make up HTML tags
Link: https://maurycyz.com/misc/make-up-tags/
Discussion: https://news.ycombinator.com/item?id=46416945
🤦♂️ Oh, look! Someone discovered you can throw random gibberish into #HTML and browsers won’t implode! 🎉 Next revelation: water is wet. Has the internet run out of actual content, or are we just taking "creativity" in coding to new nonsensical heights? 💻🔧
https://maurycyz.com/misc/make-up-tags/ #hacks #creativity #nonsense #browserfun #webdevelopment #HackerNews #ngated
Great update
Bash Static Site Generator
Stefano coded an important update
#Programming #OpenSource #HTML #site #generator #BSD #freeBSD #Linux #ghostBSD
https://blog.bssg.dragas.net/2025/12/28/announcing-bssd-0-33-0-full-content-homepage/
At www.unicode.org/charts a lot of symbols, characters and so on.
How to insert them in a website? With &#CODE; in the html, where the "CODE" is the decimal translation of the hex in the unicode charts.
A tool to convert from hex to decimal here https://www.binaryhexconverter.com/hex-to-decimal-converter
#unicode #hex #decimal #character #typo #html #web #website #tool #webtool
Replacing JavaScript with Just HTML
Link: https://www.htmhell.dev/adventcalendar/2025/27/
Discussion: https://news.ycombinator.com/item?id=46407337
Show HN: Turn raw HTML into production-ready images for free
Link: https://html2png.dev
Discussion: https://news.ycombinator.com/item?id=46371743
💡 CSS Tip!
Two circles, one arrow, and CSS magic. 🪄
A cool demo packed with modern features (anchor positioning, attr(), container queries, shape(), and more!) 🤩
https://css-tip.com/connected-circles/
The shape and position of the arrow are fully controlled using CSS (Yes, there is a collision detection).
Stop crawling my HTML you dickheads – use the API
Link: https://shkspr.mobi/blog/2025/12/stop-crawling-my-html-you-dickheads-use-the-api/
Discussion: https://news.ycombinator.com/item?id=46265579
Il fait un temps à rester bien au chaud sur internet alors je vous fais un méga 🧶 d'avant solstice autour du #SmallWeb #smöl #tiny #FolkWeb #IndieWeb #OldWeb #Libre #Décentralisé #Distribué #Punk #DIY #artisanal #bidouille #bricole #vintage #lowtech #lighttech #fauché #ecofeministe #magique #html #css #anarchiste #decolonial #mesh #faitmain #handmade #archives #zines #zones #autohébergement #rss #statique #tilde ~ 🖤
@slowpress
@Saint_loupBaptiste
@orelauwen @pcet@mastodon.top
@icimeliméli
@lelibreauquotidien & 🦫
Useful patterns for building HTML tools
Link: https://simonwillison.net/2025/Dec/10/html-tools/
Discussion: https://news.ycombinator.com/item?id=46223882
The untold history of web development:
1990: HTML invented.
1994: CSS invented to fix HTML.
1995: JS invented to fix HTML/CSS.
2006: jQuery invented to fix JS.
2010: AngularJS invented to fix jQuery.
2013: React invented to fix AngularJS.
2014: Vue invented to fix React & Angular.
2016: Angular 2 invented to fix AngularJS & React.
2019: Svelte 3 invented to fix React, Angular, Vue.
2019: React hooks invented to fix React.
2020: Vue 3 invented to fix React hooks.
2020: Solid invented to fix React, Angular, Svelte, Vue.
2020: HTMX 1.0 invented to fix React, Angular, Svelte, Vue, Solid.
2021: React suspense invented to fix React, again.
2023: Svelte Runes invented to fix Svelte.
2024: jQuery still used on 75% of websites.
(By https://twitter.com/fireship_dev)
#Web #Development #HTML #CSS #JavaScript #React #ReactJS #JQuery #Svelte #Angular #AngularJS
Today was the first time in my career I've actually used the <ruby> tag.
Granted I'm not using it exactly what it was designed for, but it's a decent compromise in having a fat icon accompanied by a small explanatory text, as opposed to doing this with a lot more CSS and some other semantically uninteresting containers.
Live Blog Writer - An extension with WYSIWYG editor for VS Code with support for WordPress, Blogger, Ghost, and Substack blogs
https://marketplace.visualstudio.com/items?itemName=alvinashcraft.live-blog-writer
#vscode #blogs #extensions #blogging #tools #html #ghostblog #blogger #wordpress #substack
0.6.1 of django-new has been released. 🚀
- Lots of UI tweaks.
- `--data` flag for data-specific applications.
- Generate `summary.html` for a user-friendly explanation of the newly created application (h/t
@ehmatthesEric Matthes).
- BETA: `--install` to install packages (only `whitenoise` currently supported).
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
Y’all. I made this cute little animation to show that a link was successfully copied. I use it on my writing site.
It’s not monumental, but I really like it. My son said it feels “very satisfying.”
#Design #CSS #Javascript #HTML #UI #Animation #InteractionDesign #WebDesign
HTML as an Accessible Format for Papers
Link: https://info.arxiv.org/about/accessible_HTML.html
Discussion: https://news.ycombinator.com/item?id=46173825
They said Fizz Buzz using CSS (and HTML), but what about a pure CSS version with no HTML? It's possible!
https://css-tip.com/fizz-buzz/
A fun CSS-only experiment using modern features.
💡 CSS Tip!
How many selectors do you know for the HTML element? Only two, right? There are more!
It's time to discover the hidden selectors of the HTML element.
https://css-tip.com/root-selectors/
Are they useful? Probably not, but it's a fun exploration of CSS selectors. Did I miss another cool selector?
💡 CSS Tip!
Another classic component made easy using corner-shape. A gallery of skewed images with a hover effect.
https://css-tip.com/skewed-images/
It can be done with old features, but this one is direction-aware! One code for both directions (left-to-right and right-to-left)
0.4.0 of django-new is released. 🚀
Now with interactive mode! ✨
`uvx django-new` steps through prompts to create a #Django application. It also shows the tree structure of all of the folders and files that were created.
Both features thanks to the brilliant `rich` from
@willmcgugan.
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
0.3.0 of `django-new` released.
- Add `--version`.
- Add `--starter` option for project templates (this is the same as Django project templates, but trying to use different terminology)
- Improved handling of creating applications in existing folders by prompting the user for clarification.
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
0.2.0 of django-new has been released. 🎉
`uvx django-new [--api] [--web] [--worker] name [folder]`
- Basic project and app creation for APIs, websites, and worker use cases.
- Optionally create minimal applications similar to DEP-15 (aka, all files in one folder).
- Slightly opinionated folder structure to get you going, but no major decisions that force you into a corner.
- Only includes a few lukewarm takes.
🛠️ https://github.com/adamghill/django-new
📦 https://pypi.org/project/django-new/
💡 CSS Tip!
A direction-aware arrow is good, but what about a generic way to make any CSS Shapes direction-aware? It's possible!
https://css-tip.com/direction-aware-shapes/
The code is simple and doesn't require any modern features, so it's well-supported.
💡 CSS Tip!
Use modern CSS to create an arrow shape that adjusts according to the direction and writing mode. A direction-aware shape!
Another cool use case of corner-shape
An interactive demo: https://codepen.io/t_afif/full/YPqezLv via
@codepen
Giovanni's (@gla@mastodon.social) bookmarks @ubnt@betula.tail3c2d2c.ts.net
The Uncertainty Calculator enables users to perform calculations using precise numbers and ranges (e.g., 4 or 4 ± 6) to express uncertainty. It simplifies statistical reasoning for everyday decisions, helping users gauge potential financial outcomes in uncertain situations.
Input both exact numbers and ranges with a tilde (~) to denote uncertainty.
Operates on basic mathematical operations: addition, subtraction, multiplication, and division, and supports functions like exponentiation, square roots, and trigonometric functions.
Utilizes a Monte Carlo method for computations, providing a probabilistic range of results.
Design is basic and intentionally user-friendly, aiming to empower those without deep statistical knowledge.
Calculation speed is slower due to Monte Carlo simulations, and the formula parser may show errors.
Only normal distributions are assumed for ranges, providing a simplified model for uncertainty.
Estimate financial viability of business ideas, calculate potential investment returns, assess risks, and more, all accounting for uncertainty in key variables.
#html, #programming, #webapp
💡 CSS Tip!
Use modern CSS to create an arrow shape that adjusts according to the direction and writing mode. A direction-aware shape!
Another cool use case of corner-shape
An article about triangles and CSS. I have always said that using borders to draw triangles with CSS is a hacky solution and shouldn't be used... but there are exceptions.
https://alvaromontoro.com/blog/68086/drawing-triangles-with-css-using-borders-an-exception
Spoiler alert: they involve logical properties... and most places that suggest using borders still use physical properties instead.