John Cox

Blogs · @wyome

Tagged css3 · everything

The id attribute got more classy in HTML5 · Mathias Bynens

HTML5 relaxes the restrictions on id attribute values, allowing them to contain any character except spaces (and must be non-empty and unique), whereas HTML 4.01 required ids to start with a letter and only contain letters, digits, hyphens, underscores, colons, and periods. This means id attributes now follow the same permissive rules as class attributes, enabling unconventional but valid identifiers like "#", "♥", or even brainfuck code snippets. Targeting these unusual id values in CSS requires careful character escaping to avoid conflicts with CSS syntax.

Permalink

jQuery Transit - CSS3 animations for jQuery

This documentation page explains Transit, a jQuery plugin for CSS animations, and covers its behavior across different browsers and configurations. For older browsers that don't support CSS transitions, Transit degrades gracefully by either skipping transformation effects while maintaining standard CSS changes, or delegating to jQuery's animate() method as a fallback. The page also provides guidance on customizing animation defaults, easing functions, and working around Webkit rendering issues like flickering.

Permalink

CSS Scroll Effects

Stroll.js is a library that demonstrates various CSS3 scroll-triggered animation effects, including grow, wave, flip, fly, helix, and papercut transformations. The collection includes both 2D effects and CSS 3D transforms, with working examples that function across modern browsers including Chrome, Safari, Firefox, and mobile platforms.

Permalink

Flat Icons & Icon Fonts | CSS-Tricks

This article catalogs hundreds of icon font options available to web designers and developers, organizing them by size, cost, and specialty (social media, weather, geography). Beyond listing the fonts themselves, it highlights useful tools like IcoMoon for customizing fonts to include only needed icons and Fontello for remixing existing free sets, emphasizing that icon fonts offer advantages over image-based icons despite being limited to single colors.

Permalink

Font sizing with rem - Snook.ca

The article compares three CSS font-sizing approaches: pixels (px), which offer consistency but prevent text resizing in older IE versions; ems, which allow resizing but create compounding issues in nested elements; and rem units (new in CSS3), which size relative to the root element rather than the parent, eliminating the compounding problem while maintaining resizability in modern browsers. The author recommends rem with px fallbacks as the optimal solution, allowing both accessibility and cross-browser compatibility.

Permalink

What is Vertical Align? | CSS-Tricks

The CSS `vertical-align` property aligns inline and inline-block elements vertically, with common values like baseline (default), middle, top, bottom, and text-top/text-bottom determining alignment relative to text or line content. A major source of confusion is that `vertical-align` only works on inline or inline-block elements—it has no effect on block-level elements, making it unsuitable for centering a small div inside a larger one. For table cells specifically, `vertical-align` defaults to middle alignment and works reliably with top, bottom, and middle values, though other values produce unpredictable cross-browser results.

Permalink

CSS3 Please! The Cross-Browser CSS3 Rule Generator

This page is a CSS3 reference tool that demonstrates how to implement modern CSS features with proper vendor prefixes for cross-browser compatibility. It provides editable code examples for common effects like rounded corners, shadows, gradients, transitions, and animations, allowing developers to see live previews while experimenting with values. The tool notes that Autoprefixer is now the recommended approach for handling prefixes, making this resource primarily valuable as a historical reference or learning tool for understanding which browsers required specific prefixes.

Permalink

CSS Buttons with Pseudo-elements | Codrops

This tutorial demonstrates how to create visually sophisticated buttons using only a single anchor tag by leveraging CSS pseudo-elements (::before) to generate additional visual layers without cluttering the HTML markup. The author presents five progressively complex button examples—from simple beveled effects to divided buttons and buttons with embedded icons—all achieved through creative positioning, gradients, and box-shadows applied to pseudo-elements that respond to the :active state. While acknowledging browser compatibility limitations at the time, the article shows how pseudo-elements can replace old sprite-based techniques for creating polished button effects in CSS alone.

Permalink

10 of the coolest CSS3 and CSS effects | Webdesigner Depot

This article surveys practical CSS3 techniques for creating visual effects and improving web design, demonstrating how CSS3 eliminates the need for image-heavy implementations by offering solutions like gradients, text shadows, and transitions for effects previously requiring Photoshop or jQuery. It covers specific applications including anaglyphic 3D text, text gradients, dripping text effects, stitched borders, CSS sprites, layered elements, and responsive design through media queries, with code examples and explanations for each technique. The piece emphasizes experimentation and community learning while cautioning developers to test techniques across browsers using appropriate vendor prefixes.

Permalink

CSS Social Buttons

This resource provides a reusable CSS framework for creating social media icon buttons using background images and combinable CSS classes. It offers multiple customization options including 14 color choices, 7 style variations (flat, circle, glossy, embossed, etc.), and 3 size options that can be mixed and matched, along with instructions for adding custom icons, gradients, and overriding default styles. The solution is cross-browser compatible with CSS3 effects supported in modern browsers and includes a downloadable stylesheet and demo files.

Permalink

CSS3 Pseudo-Classes and HTML5 Forms | HTML5 Doctor

This article explains how to use new CSS3 pseudo-classes to style HTML5 form validation states without JavaScript. It covers styling required versus optional fields, valid versus invalid inputs, number ranges, and read-only versus read-write elements, with practical examples of how to apply visual indicators like asterisks and checkmarks. The piece includes a browser support table showing which browsers (Chrome, Opera, and Safari being the most complete) support these validation pseudo-classes at the time of writing.

Permalink

demosthenes.info – blog

I can see this is an archive or index page displaying a collection of web development tutorials and articles, but you haven't provided the actual article content to summarize. The page shows titles and tags for various posts about CSS animation, SVG techniques, responsive images, and layout methods, along with a brief author bio for Dudley Storey. Could you please share the specific article you'd like me to summarize? You can either paste the article text or let me know which title from this list you'd like me to focus on.

Permalink

demosthenes.info – Goodbye, JQuery Validation: HTML5 Form Errors With CSS3

The author demonstrates how to build form validation and error messaging using CSS3's `:valid` and `:invalid` pseudo-classes rather than JavaScript, styling invalid fields and displaying error messages through sibling selectors and generated content. Since form inputs are replaced elements that can't have `:before` and `:after` pseudo-elements applied directly, the technique uses a nearby span element to display error text pulled from the input's title attribute, with opacity and transitions creating a graceful fade-in effect. While server-side validation and JavaScript remain necessary for complex features like AJAX checks and older browser support, this approach keeps scripting focused on genuinely advanced functionality rather than basic form feedback.

Permalink

Textarea Tricks | CSS-Tricks

This article collects nine practical tips for styling and enhancing textarea elements with CSS and jQuery, ranging from visual tweaks like background images and removing the focus glow to functional improvements like auto-resizing textareas to fit their content and adding cross-browser placeholder text. It demonstrates solutions to common textarea quirks across different browsers, such as removing unwanted scrollbars in Internet Explorer or the resize handle in WebKit browsers, along with code examples for each technique.

Permalink