Html codes
184 subscribers
112 photos
15 videos
226 files
198 links
👋 Welcome to Html Codee
🚀 Here you’ll find mini tools, code snippets, and web tricks to grow fast.
🧩 Built with HTML, PHP, and smart ideas.
💌 Support: support@bestpage.x10.mx
🏁 If you don't walk today, run tomorrow.
Download Telegram
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Glitch Text Effect</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background: #111;
margin: 0;
}
.glitch {
font-size: 60px;
font-weight: bold;
color: #fff;
position: relative;
text-transform: uppercase;
}
.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
left: 0;
top: 0;
width: 100%;
overflow: hidden;
clip: rect(0, 0, 0, 0);
}
.glitch::before {
left: 2px;
text-shadow: -2px 0 red;
animation: glitch 2s infinite linear alternate-reverse;
}
.glitch::after {
left: -2px;
text-shadow: -2px 0 cyan;
animation: glitch 2s infinite linear alternate-reverse;
}

@keyframes glitch {
0% { clip: rect(10px, 9999px, 50px, 0); }
20% { clip: rect(60px, 9999px, 90px, 0); }
40% { clip: rect(20px, 9999px, 70px, 0); }
60% { clip: rect(40px, 9999px, 100px, 0); }
80% { clip: rect(30px, 9999px, 80px, 0); }
100% { clip: rect(50px, 9999px, 120px, 0); }
}
</style>
</head>
<body>
<h1 class="glitch" data-text="Glitch Effect">Glitch Effect</h1>
</body>
</html>
Html codes
Photo
CodePen Blog
Chris’ Corner: Simple, Accessible Multi-Select UI

There’s a nice article by Enzo Manuel Mangano called Checkbox Interactions – The beauty of Layout Animations. In the end, you get some nicely animated checkboxes, essentially:
https://blog.codepen.io/wp-content/uploads/2025/09/CleanShot-2025-09-04-at-12.33.45.gif
I like it.

It’s a modern-looking multiple-choice with very clear UX.

Enzo’s tutorial is all React Native-ified. I think Enzo is a React Native guy and that’s his thing. And that’s fine and makes sense. A lot of time UI like this is part of highly dynamic web apps that deserve that kind of treatment and embracing that style of code to help it live there is fine.

But I wouldn’t want anyone to think that it’s necessary you reach for a tool like React Native to create something like this. This is actually pretty darn simple HTML & CSS that can be quite performant, semantic, and accessible.

Each of those “buttons”, is really this:
Italian <svg<path<svg
Each button is really a label, because then you are appropriately connecting the text of the label to the checkbox in an accessible way. I will call out Enzo for this one: his final demo outputs

s and s, which you can’t even tab to, so it’s a pretty inaccessible final result.

When it’s a label, the whole thing becomes “clickable” then, toggling the checkbox within.

We can hide the actual checkboxes (notice the UI doesn’t actually show them) by applying an accessible screenreader-only class. But each of them remains an interactive element and thus are able to be tabbed to. But because we can’t see them, we should do…
label {
cursor: pointer;

&:focus-within {
outline: 3px solid orange;
}
}

This will ensure there is a visual indicator when any of them are focused. And with that focus, the spacebar will work to activate them like any normal checkbox.

The fun part though is the neat interaction where activating one of the options animated the checkbox in and changes some colors. It’s easy! I promise! We just check if the label has a checked input and make those changes. All right in CSS.
label {
--highlightColor: oklch(0.764 0.1924 65.38);

cursor: pointer;
border: 1px solid white;

&:focus-within {
outline: 3px solid var(--highlightColor);
}

svg {
width: 0;
transition: width 0.66s;
fill: var(--highlightColor);
}

&:has(:checked) {
border-color: var(--highlightColor);
background: color-mix(in srgb, var(--highlightColor), transparent 80%);

svg {
width: 0.88lh;
}
}
}

The finished demo, I’d say, is near 100% the same experience as Enzo’s. Cheers!

CodePen Embed Fallback
1
Network Types 🌐:

LAN – Local, home/office
MAN – City-wide
WAN – Global (Internet)
PAN – Personal devices (Bluetooth)

Topologies: Bus, Star, Ring, Mesh, Tree

Control: Client–Server, Peer-to-Peer

Technology: Wired (Ethernet), Wireless (Wi-Fi, 4G/5G)
CodePen Blog
408: Proxied Third-Party JavaScript

Chris and Stephen hop on the podcast to discuss the concept of a proxy. Possibly the most “gray hat” thing that CodePen does. We use a third-party analytics tool called Fullres. We could just put a link to the
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="300" viewBox="0 0 1200 300">
<defs>
<!-- Golden gradient -->
<linearGradient id="goldGrad" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#fff7c0"/>
<stop offset="0.2" stop-color="#f9d976"/>
<stop offset="0.5" stop-color="#b8860b"/>
<stop offset="0.7" stop-color="#f7d98d"/>
<stop offset="1" stop-color="#7c6012"/>
</linearGradient>

<!-- Glossy highlight -->
<linearGradient id="goldGloss" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#ffffff" stop-opacity="0.9"/>
<stop offset="0.3" stop-color="#ffffff" stop-opacity="0.2"/>
<stop offset="1" stop-color="#ffffff" stop-opacity="0"/>
</linearGradient>

<!-- Inner shadow -->
<filter id="innerShadow" x="-30%" y="-30%" width="160%" height="160%">
<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>
<feOffset in="blur" dx="0" dy="4" result="offsetBlur"/>
<feComposite in="offsetBlur" in2="SourceAlpha" operator="arithmetic"
k2="-1" k3="1" result="innerShadow"/>
<feColorMatrix in="innerShadow" type="matrix"
values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0.6"/>
<feBlend in="SourceGraphic" in2="innerShadow" mode="multiply"/>
</filter>

<!-- Drop shadow -->
<filter id="dropShadow" x="-50%" y="-50%" width="200%" height="200%">
<feGaussianBlur in="SourceAlpha" stdDeviation="6" result="blur"/>
<feOffset in="blur" dx="0" dy="10" result="offsetBlur"/>
<feMerge>
<feMergeNode in="offsetBlur"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>

<!-- Top glossy clip -->
<clipPath id="topHalf">
<rect x="0" y="0" width="1200" height="120"/>
</clipPath>
</defs>

<!-- Background -->
<rect width="100%" height="100%" fill="#0f1724"/>

<!-- Shadow -->
<g transform="translate(30,30)">
<text x="60" y="200"
font-family="Georgia, serif"
font-size="150" font-weight="bold"
fill="#000" opacity="0.7" filter="url(#dropShadow)">
GOLDEN
</text>
</g>

<!-- Main golden text -->
<g filter="url(#innerShadow)">
<text id="goldText" x="60" y="200"
font-family="Georgia, serif"
font-size="150" font-weight="bold"
fill="url(#goldGrad)">
GOLDEN
</text>

<!-- Glossy overlay -->
<g clip-path="url(#topHalf)">
<text x="60" y="200"
font-family="Georgia, serif"
font-size="150" font-weight="bold"
fill="url(#goldGloss)" style="mix-blend-mode:screen; opacity:0.9;">
GOLDEN
</text>
</g>
</g>

<!-- Thin rim highlight -->
<text x="60" y="200"
font-family="Georgia, serif"
font-size="150" font-weight="bold"
fill="none" stroke="rgba(255,255,255,0.3)" stroke-width="1">
GOLDEN
</text>
</svg>
CodePen Blog
Chris’ Corner: Terminological Fading

I found myself saying “The Edge” in a recent podcast with Stephen. I was talking about some server-side JavaScript that executes during a web request, and that it was advantageous that it happens at CDN nodes around the world rather than at one location only, so that it’s fast. That was kinda the whole point about “The Edge” is speed.

I don’t hear the term bandied about much anymore, but it’s still a useful architectural concept that many use. Salma Alam-Naylor has a good explainer post.

Take for example, the US West server on AWS. For me, making a request to US West from the UK takes longer than making a request to one of the European servers, due to the distance the data has to travel across the wire.

If you’re using serverless functions for server side rendering to enrich your Jamstack site, you need high availability on global servers in order to make your website fast for everyone in the world coupled with an intelligent network which knows how to route requests to the closest location to the user.

It’s just interesting how terms kinda just chill out in usage over time. They feel like such big important things at the time, that everyone has a thought about, then they just fade away, even if we’re all still doing and using the thing we were talking about.

Even terms like “SPA” (Single Page App) seemed like it’s all anyone wanted to argue about for quite a while there and now I see it chilling out. All the nuance and distinctions between that and a website with regular ol’ links and reloads have come to bear. Concepts like paint holding and view transitions make regular sites feel much more like SPAs and concepts like server side rendering make SPAs work as regular sites anyway. It’s not a fight anymore it’s just technology.

The more you understand, the more rote (and, dare I say, boring) all this becomes. Dave Rupert says:

… once you understand that your technology choices have security, performance, and accessibility considerations you become a much more boring developer. Acknowledging those obligations can sort of strips the fun out of programming, but we’re better for it.

Design, too, can be and benefits from being a bit boring. Fortunately we have grug to guide us.

grug not decorate. grug communicate.

grid keep thing straight. grid bring peace.

grug think: space good only when it help brain see fast.

if icon need tooltip, icon not good.

grug no want award. grug want thing to work.
Html codes
Photo
CodePen Blog
409: Our Own Script Injection

Chris and Stephen talk about how we use a Cloudflare Worker & HTMLRewriter to inject a very special
🔹 Did you know?:

1️⃣
<input type="text" placeholder="Uppercase only" style="text-transform: uppercase;"> 

This forces all user input into UPPERCASE.
💡 Advanced: You can combine it with pattern="[A-Z]+" to validate uppercase only.

2️⃣
<a href="example.pdf" download>Download PDF</a> 

The download attribute makes the link download a file instead of opening it.
💡 Advanced: You can customize the saved filename like this:
<a href="report.pdf" download="My_Custom_Report.pdf">Download Report</a> 

3️⃣
<p contenteditable="true">You can edit this text directly in the browser ✍️</p> 

With contenteditable, any element becomes live-editable.

💡 Advanced: Combine it with spellcheck="true" or save changes via JavaScript to create a mini in-browser editor.
CodePen Blog
Chris’ Corner: Little Bits of CSS

Adam Argyle is clear with some 2025 CSS advice:

I think every front-end developer should know how to enable page transitions, transition a <dialog, popover, and , animate light n’ dark gradient text, type safe their CSS system, and add springy easing to animation.

Nobody asked me, but if I had to pick a favorite of Adam’s six, it’s all the stuff about animating <dialog, popover, and . There is a lot of interesting new-ish CSS stuff in there that will help you all around, between allow-discrete, overlay, ::backdrop, :popover-open, @starting-style, and more. /* enable transitions, allow-discrete, define timing */
[popover], dialog, ::backdrop {
transition: display 1s allow-discrete, overlay 1s allow-discrete, opacity 1s;
opacity: 0;
}

/* ON STAGE */
:popover-open,
:popover-open::backdrop,
[open],
[open]::backdrop {
opacity: 1;
}

/* OFF STAGE */
/* starting-style for pre-positioning (enter stage from here) */
@starting-style {
:popover-open,
:popover-open::backdrop,
[open],
[open]::backdrop {
opacity: 0;
}
}

Jeremy Keith also did a little post with CSS snippets in it, including a bit he overlaps with Adam on, where you by default opt-in to View Transitions, even if that’s all you do. @media (prefers-reduced-motion: no-preference) {
@view-transition {
navigation: auto;
}
}

The idea is you get the cross-fade right way and then are set up to sprinkle in more cross-page animation when you’re ready. Una Kravets has a post about the very new @function stuff in CSS with a bunch of examples. I enjoyed this little snippet: /* Take up 1fr of space for the sidebar on screens smaller than 640px, and take up the --sidebar-width for larger screens. 20ch is the fallback. */
@function --layout-sidebar(--sidebar-width: 20ch) {
result: 1fr;

@media (width > 640px) {
result: var(--sidebar-width) auto;
}
}

.layout {
display: grid;
grid-template-columns: --layout-sidebar();
}

I’m intrigued by the idea of being able to abstract away the logic in CSS when we want to. Perhaps making it more reusable and making the more declarative parts of CSS easier to read.

Here’s another. I had absolutely no idea design control over the caret was coming to CSS (the thing in editable areas where you’re typing, that is usually a blinking vertical line). I guess I knew we had caret-color, which is prettttttty niche if you ask me. But now apparently we’re given control over the shape and literal animation of the caret. textarea {
color: white;
background: black;
caret-shape: block;
caret-animation: manual;
animation: caret-block 2s step-end infinite;
}

@keyframes caret-block {
0% { caret-color: #00d2ff; }
50% { caret-color: #ffa6b9; }
}

Jump over to the Igalia blog post to see the video on that one.

OK that’s all for this week. Er wait actually you gotta watch Julia Miocene’s Chicken video. Now I’m done.
1
CodePen Blog
410: Trying to help humans in an industry that is becoming increasingly non-human

Chris & Marie jump on the podcast to talk about just how drastically customer support has changed over the last few years. We still exclusively do customer support over email. Incoming email from real customers who need a hand with something where they type out that email in plain languages themselves are few and far between. Instead we get an onslaught of noise from users that don’t exist about Pens and situations that don’t exist. The influence of agentic AI is massive here, some of it with nefarious intent and some not. All of it needs work to mitigate.

Time Jumps
* 00:07 How much support has changed in the last 2 years
* 01:12 How do we do support at CodePen in 2025
* 07:41 How much noise AI has added to support
* 14:02 Verifying accounts before they’re allowed to use support or CodePen
* 23:05 Some of the changes we’ve made to help deal with AI
* 29:50 The benefits of learning to code with AI
Html codes
Photo
CodePen Blog
Chris’ Corner: Word Search

My daughter had a little phase of being into Word Searches. I found it to be a cool dad moment when I was like “I’ll make you a tool to make them!”. That’s what she was into. She liked doing them OK, but she really liked the idea of making them. So my tool starts with a blank grid where you can type in your words, then fill in the blanks with random letters, then print it.
https://blog.codepen.io/wp-content/uploads/2025/09/CleanShot-2025-09-23-at-11.06.40.gif
Perhaps unsurprisingly, this type of simple game with simple well-defined interactions is rife for front-end developer experimentation.

Interestingly, I’ve found most takes on HTML/CSS/JavaScript Word Searches to be more about the experience of solving them, which is just as interesting! Let’s look at some.

Christian Collosi’s Version on

Canvas is nice here as lines and arcs can be drawn at really specific coordinates to “circle” the words as you interact with it, and stay circled when you find a correct word.
https://blog.codepen.io/wp-content/uploads/2025/09/CleanShot-2025-09-24-at-08.30.40.gif
Mads Stoumann’s Pure CSS Version

You click on the letters individually, and if the ones you have clicked on match a word, it changes background to let you know you’ve got it. This all happens with s and simpler-than-you’d-think :has(:checked + :checked ...) selectors.
https://blog.codepen.io/wp-content/uploads/2025/09/Screenshot-2025-09-24-at-8.41.43-AM-1024x529.png
Kevin Newcombe’s Responsive word search

The responsive-ness of Kevin’s approach here is actually really cool. It doesn’t just scale, it literally changes the columns/rows of the puzzle itself. But I’m actually even more into the SVG-drawn lines where you make guesses and the SVG-drawn circles around the successful guesses. Some sort of similar work here.
https://blog.codepen.io/wp-content/uploads/2025/09/CleanShot-2025-09-24-at-11.48.33.gif
Kit Jenson’s Word Search in Color

Gotta love the aesthetics here! Just not a game you usually see a lot of color in, so nice to see some playing in that direction.
https://blog.codepen.io/wp-content/uploads/2025/09/CleanShot-2025-09-25-at-13.03.57.gif
Part of what makes me so damn proud of the CodePen community is that this is really the tip of the iceberg of experimentation in this very niche thing. Go around exploring for this sort of thing and you’ll find loads more.
This media is not supported in your browser
VIEW IN TELEGRAM
🎬 Sora 2: video AI gets a major upgrade

OpenAI has released Sora 2, its updated video generator.

What’s new:
• More realistic physics and object behavior
• Synced sound and dialogue
• Greater control over style and scene flow
• Ability to insert yourself or friends into videos with appearance + voice intact

Access will roll out gradually via invites (starting in the US & Canada). Free tier comes with “generous limits,” while Sora 2 Pro offers higher-quality generation under subscription.

AI Post 🪙 | Our X 🥇
CodePen Blog
411: The Power of Tree-Sitter

Alex and Chris hop on the show to talk about a bit of technology that Alex calls “The 2nd best technological choice he’s ever made.” That technology is called Tree-sitter. It’s a code parsing tool for building ASTs (Abstract Syntax Trees) out of code. GitHub uses it to power search and “go to” functionality. The creators now work on Zen, where a code parser is paramount. We use it to understand an entire Pen very quickly so we can understand how it all links together (among other things) and make a plan for how to process the Pen (a “build plan”). It’s fast, accurate, forgiving, and extensible. Just a heck of a learning curve.

Jump Links
* 00:07 CodePen 2.0 is more than just a fresh coat of paint
* 03:00 Treesitter explained
* 12:04 Making the right choices with technology
* 21:50 How we parse your code
* 26:10 We don’t want you to have to be in config hell
* 28:48 Type type type stop see what happens