
Controlling Element Transparency with CSS opacity
CSS `opacity` controls transparency, from fully opaque to invisible. Here, I explain how it works, its interaction with layout, with practical examples.
Articles
Front‑end web development is my personal niche, it is the art of creating visual and interactive elements for a website, including layout, design, and interactivity, using HTML, CSS, and JavaScript.
Below you will find a subset of articles from my blog specifically about Front‑End Development. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are four hundred eight articles collected together for you below.

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

Optimise HTML markup for SEO and accessibility with semantic elements, heading structure, alt text, clean code, anchor text, and crawler‑friendly structure.

Number.isNaN(), Number.isFinite(), and Number.isInteger() in JavaScriptNumber.isNaN(), Number.isFinite(), and Number.isInteger() explained through strict numeric checks, coercion traps, parsing boundaries, and validation.

Browser and Node.js JavaScript compared through host APIs, globals, modules, async behaviour, DOM access, server APIs, and environment mix‑ups cleanly.

A fairly entry‑level overview of the basics of CSS positioning. Learn how to use `static`, `relative`, `absolute`, and `fixed` positioning with examples.

Promises make asynchronous JavaScript easier to reason about. This introduction covers pending, fulfilled, rejected, and how chaining cleans things up.

Function declarations vs. function expressions vs. arrow functions in JavaScript, including hoisting, `this`, readability, and when each style fits best.

Rest and spread operators solve different problems in JavaScript. This beginner‑friendly guide shows the syntax, the difference, and common use cases.

Use JavaScript template literals for multi‑line strings, interpolation, cleaner formatting, practical string construction, and pitfalls around whitespace.

String.startsWith(), endsWith(), and includes() in JavaScriptUse startsWith(), endsWith(), and includes() in JavaScript for clearer string checks, case‑sensitive matching, position arguments, and readable intent.

window.resize Events in iOSUnderstand phantom window.resize events in iOS Safari, including dynamic browser UI, viewport changes, orientation, user interaction, and mitigation patterns.

for...in vs. for...of in JavaScriptCompare for...in and for...of in JavaScript, including keys versus values, arrays, plain objects, iterables, inherited properties, and intent cleanly.

JSON.parse() and JSON.stringify() Explained for Beginners`JSON.parse()` and `JSON.stringify()` explained clearly, including when to convert data, common mistakes, localStorage use, and why functions disappear.

Default parameters in JavaScript explored in more depth, including expression defaults, evaluation order, undefined, API design, and subtle edge cases.

Array.from() and Array.of() in JavaScript`Array.from()` and `Array.of()` in JavaScript explained with NodeLists, array‑like objects, generated arrays, and why `new Array()` can still catch people out.

Default parameters in JavaScript explained from the ES6 syntax through undefined handling, old workarounds, cleaner calls, everyday use, and function design.

A technical article explaining what arrow functions are in JavaScript, and providing code examples. It includes comparisons against non‑arrow functions.

arguments Object vs. Rest Parameters in JavaScriptThe `arguments` object vs. rest parameters in JavaScript, including readability, array behaviour, arrow function differences, and modern best practices.