Responsive Modal Popup Box

Responsive Modal Popup Box

A responsive share modal pop-up that appears from the bottom on mobile devices and centers on the screen on desktop. The display logic is entirely tied to toggling the .show-modal class using vanilla JS.

See the Pen Responsive Modal Popup Box.

Expanding Social Share Button

Expanding Social Share Button

A smooth, morphing circular button that expands on click to reveal three link items, utilizing complex CSS transitions, transition-delay, and a Pug template structure for dynamic content generation.

See the Pen Expanding Social Share Button.

Simple Share Button

Simple Share Button

A “split-button” effect in pure CSS where two social media buttons, hidden outside a circular container with overflow: hidden, slide in on hover of their common parent. An ::after pseudo-element displays default text, which is then overlapped by the buttons with a higher z-index, creating a smooth UI transition.

See the Pen Simple Share Button.

Slide-Out Social Buttons

Slide-Out Social Buttons

A compact social share widget built with pure CSS, featuring a slide-out effect managed entirely by hover states. The animation triggers the horizontal translation of the text panel when the primary icon button is hovered.

See the Pen Slide-Out Social Buttons.

Social Share Button

Social Share Button

A 3D button that smoothly reveals social media icons on hover. This UI component leverages CSS 3D transforms (rotateX, rotateY) and staggered transition delays to create a dynamic and space-saving share panel.

See the Pen Social Share Button.

Social Share Button

Social Share Button

An interactive social media share widget built with SCSS and JavaScript for dynamic expansion. The component smoothly transforms from a text-based button into a set of rounded, hover-animated social icons, offering an elegant and compact solution for sharing functionalities.

See the Pen Social Share Button.

CSS Share Icons

CSS Share Icons

This interactive UI component is a “Share” button that smoothly expands into a vertical social media menu. Built with SCSS, it leverages the “checkbox hack” and complex CSS animations to provide dynamic icon reveals and 3D hover effects, all without JavaScript.

See the Pen CSS Share Icons.

Share Button

Share Button

An interactive “Share” component featuring a 3D flip animation that smoothly reveals social media icons on hover. Built with pure CSS, utilizing perspective and transform-style, this widget provides a dynamic, staggered appearance of social links for a compact UI solution.

See the Pen Share Button.

Social Media Icons Share

Social Media Icons Share

A set of interactive social media share buttons built with SCSS, leveraging flexible loops for animation control. On hover, the main button smoothly expands to reveal a menu of social icons that appear with staggered delays, creating a dynamic and functional sharing widget.

See the Pen Social Media Icons Share.

Facebook/Instagram Share Button

Facebook/Instagram Share Button

Interactive social media buttons featuring a dynamic hover animation. This UI component utilizes CSS transitions to smoothly slide the icon and fade out the text, while simultaneously scaling up and changing the button’s background.

Social Share Button

Social Share Button

An interactive “Share” button that smoothly reveals social media icons with a scaled and staggered animation on hover. The component utilizes CSS transforms and transition-delay to create a dynamic widget where the text slides out and icons appear sequentially, providing an engaging user experience.

See the Pen Social Share Button.

Social Share Button UI

Social Share Button UI

An interactive “Share” button that expands to reveal social media icons upon click. The component leverages JavaScript for state management and staggered CSS animations for the smooth appearance and disappearance of Facebook, Twitter, and Instagram icons, providing a dynamic and responsive user experience.

See the Pen Social Share Button UI.

Hover Me Pill Button

This interactive SCSS-powered hover button smoothly transforms to reveal a row of social media icons upon mouseover. The UI component utilizes pseudo-elements for dynamic background transitions and a “bounce” animation for the icons.

See the Pen Hover Me Pill Button.

Share Button Float Icon

An interactive pure CSS share button that reveals social links on hover. Inside an overflow-masked container, the main text and icon translate vertically upward out of view via translateY(-55px). Concurrently, hidden social icons slide up into place using a cascading, staggered transition delay timeline.

See the Pen Share Button Float Icon.

Frequently Asked Questions

How do I style social share buttons with brand colors without hardcoding each one?

Use CSS Custom Properties for each brand’s primary color (e.g., --facebook: #1877f2), then apply the variable via a data attribute selector: [data-brand='facebook'] { background: var(--facebook) }. This keeps brand colors centralized and maintainable.

How can I create a scalable icon-only social share button layout?

Use display: inline-flex with align-items: center and justify-content: center on the button, setting fixed width and height equal values via clamp() for circular buttons. The icon size scales proportionally with the button using relative font-size.

How should social share buttons handle tooltip-style labels on hover?

Use a ::after pseudo-element with content: attr(data-label) and transform: translateY() slide-in animation. Position the tooltip above the button with bottom: 100% and toggle visibility via opacity transition on hover.

How do I prevent social share buttons from overlapping on narrow viewports?

Wrap the button group in a container with display: flex; flex-wrap: wrap; gap: 0.5em and set flex: 0 0 auto on each button. The flex container handles wrapping automatically without media queries.

What fallback works for browsers that don’t support CSS Custom Properties for brand theming?

Define hardcoded brand colors as the base background-color values, then override with CSS Custom Properties inside a @supports (--custom: property) rule. Legacy browsers use the hardcoded brand colors.