Say you have an RSS feed like this one. The goal is to request that RSS feed, parse it, and do something useful with the data in it. RSS is XML, and XML is arguably not as easy to work with than JSON. While a lot of APIs offer JSON responses, it’s less typical for …
Wait what? That’s right, direct access to the files and data storage that power your site on WordPress.com, just like you have if you self-host a WordPress site. You can read their announcement here. Note this is for Business and eCommerce plans only.
It was fun watching a bunch of back and forth blogging between a bunch of smart people quoting a bunch of smart people last week. If you missed it, you might wanna start at the end and work backward. I only have one tidbit to add. I don’t do much with design systems. I work …
On the Microsoft Edge team, we’re committed to an open web and helping to drive innovation forward, which is why we’ve kicked off a new initiative in collaboration with Google, Mozilla, Samsung Internet, Igalia and — most importantly — the web community, called The Web We Want. The Web We Want is an open initiative for web developers and …
Back in 2011, the domain name for this site, css-tricks.com, was stolen. “Domain Hijacking,” they call it. It wasn’t just this site, but around 12 others in the design and development space. To this day, none of us really know how it happened and who was behind it, although I believe all the domains are …
There is a growing number of things that we have to do to help the browser achieve for peak performance. Responsive image syntax has several. For example, needing to tell the browser how large the image will be in our layout with the sizes attribute and how big the images are with w descriptors. Regular …
I mean, kinda. I was just asked this question the other day so I’m answering here because blogging is cool. The point of an RSS feed is for people to read your content elsewhere (hence the last part of the acronym, Syndication, as in, broadcasting elsewhere). Probably an RSS reader. But RSS is XML, so …
Of all the tech-focused year-in-review posts I read, Guillermo Rauch’s is my favorite. There is a lot in there, jumping from topics like modern architectures, high-fiving specific apps, and philosophical movements. I’ll pick one quote about the rise of “deploy previews”: A salient feature is the transition we are seeing away from code review into deployment preview. Code review is …
It’s entirely possible to build custom checkboxes, radio buttons, and toggle switches these days, while staying semantic and accessible. We don’t even need a single line of JavaScript or extra HTML elements! It’s actually gotten easier lately than it has been in the past. Let’s take a look.
I love this post that walks through the development of CSS and HTML — it shows just how far web design has come and how much easier it is for us all now.
LiveData je apstraktna klasa tzv. observable data holder zadužen da čuva informacije o podacima i da obavesti sve zainteresovane posmatrače ako dodje do promena. LiveData is actually just an Abstract Class. So it can’t be used as itself. Najvažnija karakteristika LiveData je ta što je svestan životnog ciklusa drugih komponenti aplikacije …
If you have a limited-width container, say a centered column of text, “breaking out” of that to make a full-width element involves trickery. Perhaps the best trick is the one with left relative positioning and a negative left viewport-based margin. While it has its caveats (e.g. requiring hidden overflow on the body, the container needs …
Mike Solomon worked on a fancy scrollytelling post for Esquire and blogged about it. It has GIFs of each step along the way of figuring out not just position: sticky; but also using negative margins, wrapper divs, backgrounds, and even a smidge of JavaScript measuring to get it all right. What it doesn’t have is …
For the last six years, Vue, Angular, and React have run the world of front-end component frameworks. Google and Facebook have their own sponsored frameworks, but they might leave a bitter taste for anyone who advocates for an open and unbiased web. Vue is another popular framework that has multiple sponsors but isn’t run by …
Here’s a great in-depth post from Adam Silver about his journey to create an autocomplete field that’s as accessible as possible. There are so many edge cases to consider! There are old browsers and their peculiar quirks, there are accessibility best practices for screen readers, and not to mention dealing with the component design when …
Whenever a browser upgrades versions, it’s a little marketing event, and rightly so. Looks like for Firefox it’s about once a month, Chrome is ~6 weeks, and Safari is once a year. Chrome 80 just dropped, as they say, and we get a video and blog post. What strikes me about releases like this these …
I’ve been guilty of publicly bemoaning the complexity of HTTPS. In the past, I’ve purchased SSL certificates from third-party vendors and had trouble installing them. I’ve had certificates expire and had to scramble to fix them. I’ve had to poke and prod hosting companies to help me ensure things were going to renew correctly, and …
Interesting research from Aaron Peters on <img loading=”lazy” … >: On my 13 inch macbook, with Dock positioned on the left, the viewport height in Chrome is 786 pixels so images with loading=”lazy” that are more than 4x the viewport down the page are eagerly fetched by Chrome on page load. In my opinion, that is waaaaay …
Louis Lazaris, reacting to the idea of CSS4: The reason “CSS3” worked is because it was real. It was the successor to “CSS2.1”. Everything after CSS2.1 was considered to be under the umbrella of “CSS3”. The gist is that CSS4 isn’t real, so won’t work, and we don’t need it anyway. Perhaps I overestimate the …
Please raise your hand if you’ve ever faced never-ending content revision requests from your clients. It’s not that the changes themselves are difficult, but wouldn’t it be less complicated if clients could just make the revisions themselves? That would save everyone valuable time, and allow you to turn your attention to more important tasks. In …
Short answer: Longer answer (same conclusion, just an explanation on why we might need this): Say you have an element that you style with a special data-attribute: You want to target that element and do special things when highlighting. That data-type attribute is part of a template, so it can have any value you set. …
Just this morning, Chris shared a streamlined way to get a static site up and running with Netlify. As it happens, Sarah and I also wrote up a little something that expands that idea where a static site can pull content from WordPress using the REST API. Using Vue, Nuxt, axios, and Netlify, it’s possible …
PHP templating often gets a bad rap for facilitating subpar code — but that doesn’t have to be the case. Let’s look at how PHP projects can enforce a basic Model, View, Controller (MVC) structure without depending on a purpose-built templating engine.
There’s some famous quote that goes something like… When we’re young, we make simple things because that’s all we know. Then we learn how to make complex things so we make complex things. When we grow old, we learn to make simple things again. Brad recently wrote about this abstractly in regard to musicianship, but …
“Static Site Generator,” that is. We’ll get to that in a second. Netlify is a sponsor of this site (thank you very much), and I see Zach Leatherman has gone to work over there now. Very cool. Zach is the creator of Eleventy, an SSG for Node. One thing of the many notable things about …
Every time I start a new project, I organize the code I’m looking at into three types, or categories if you like. And I think these types can be applied to any codebase, any language, any technology or open source project. Whether I’m writing HTML or CSS or building a React component, thinking about these …
There’s been news about Chrome freezing their User-Agent string (and all other major browsers are on board). That means they’ll still have a User-Agent (UA) string (that comes across in headers and is available in JavaScript as navigator.userAgent. By freezing it, it will be less useful over time in detecting the browser/platform/version, although the quoted …
Have you ever needed a countdown timer on a project? For something like that, it might be natural to reach for a plugin, but it’s actually a lot more straightforward to make one than you might think and only requires the trifecta of HTML, CSS and JavaScript. Let’s make one together!
We just linked up the idea that offset-path can be cleverly used to set type on a path. Don’t miss Michelle Barker’s experimentation either, with drawing paths or animating text along a path. Dan Wilson has also been following this tech for quite a while and points out why the sudden surge of interest in …