
Some of the Most‑Misunderstood Properties in CSS
Whilst understanding any computing language comes with practice and exposure, there are some areas of CSS that can flummox even the most seasoned of developers.
Articles
The guides are the practical part of this archive: working explanations for a specific web development problem, written to show the decision as well as the answer. The subject varies, but the aim is consistent: enough context to use the technique sensibly rather than copy it blindly.

Whilst understanding any computing language comes with practice and exposure, there are some areas of CSS that can flummox even the most seasoned of developers.

::before and ::after Pseudo‑Elements in CSSUsing the `:before` and `:after` pseudo‑elements in CSS for styling and content insertion. Here, I cover syntax, practical examples, and best practices.

Promise.all() vs. Promise.race() in JavaScript`Promise.all()` vs. `Promise.race()` in JavaScript, with async examples, error behaviour, timeouts, practical use cases, and common mistakes in real code.

Polyfills replicate modern JavaScript methods for compatibility. Here, I explain polyfills and show how to build key examples in unsupported environments.

Error handling in JavaScript is vital for building robust applications. Here, I explore modern patterns like try‑catch, async/await, and global error handlers.

overflow PropertyUnderstand the CSS overflow property, including visible, hidden, scroll, auto, x, and y control, scrollbars, accessibility, and mobile quirks safely.

JavaScript callbacks execute functions after tasks, whilst promises offer structured asynchronous handling. I explore their differences, benefits, and uses.

Array.find(), Array.some(), and Array.every() in JavaScript`Array.find()`, `Array.some()`, and `Array.every()` in JavaScript explained clearly, including return values, use cases, and when each method fits best.

CSS transitions allow us to create smooth animations between states, enhancing user experience. Here, I discuss how to use transitions with practical examples.

Object.is() vs. Strict Equality in JavaScriptCompare Object.is() and strict equality in JavaScript, including NaN, signed zero, loose equality contrast, and when precision matters in real code.

fetch Blocked?CORS explained for JavaScript fetch errors, including same‑origin policy, server opt‑in, preflight requests, credentials, and what front‑end code can fix.

Create and dispatch custom events in JavaScript with CustomEvent, detail payloads, bubbling, naming choices, cancellation, and component examples.

CSS is key to delivering responsive, accessible, and visually appealing freelance projects. Here, I explore essential techniques and practices to master CSS.

CSS preprocessors like Sass and Less enhance standard CSS with features like variables and nesting. Here, I explore their benefits and why they're essential.

HTML fundamentals explained through semantic structure, browser parsing, accessibility, and how markup choices affect modern front‑end work in practice.

Object.freeze(), Object.seal(), and preventExtensions()`Object.freeze()`, `Object.seal()`, and `preventExtensions()` explained clearly, including what each allows, what they block, and why shallow locking matters.

visibility: Hiding Elements Without Affecting LayoutCSS `visibility` hides elements without altering layout. Here, I explain its use cases, differences from opacity, and how it maintains document flow.

opacityCSS `opacity` controls transparency, from fully opaque to invisible. Here, I explain how it works, its interaction with layout, with practical examples.