Skip to content
Library

Button: fill

An ACSS button that inverts on hover: a layer in the label's colour rises from the bottom edge and the label takes the face's colour. On the outline style the fill takes the border colour and the label turns light.

ComponentEffects

Live preview

Variant
Scheme
Width
Motion
etchpress.com/library/button-fill
Button: fill

What you can build with it

A call to action whose hover feels like pressing in. An outline button that fills with the brand colour on hover. A form submit button with a stronger hover than a colour fade.

Props

label (text); href (url); style (select: primary, outline); size (select: default, large)

States shown

Rest, hover, focus, active. Reduced motion: the fill appears without the rise.

How to change it

Content and options are 4 props in the component's settings panel. Colour, type, spacing and radius follow your Automatic.css settings, so a change to the site's palette or scale changes this too. For anything else, edit the classes in the Style Manager, starting with .button-row, .motion-btn, .motion-btn-fill.

ACSS tokens used

ACSS button tokens (–btn-*), –primary, –on-primary, –white, –black, –transition.

ACSS requirements

ACSS 4 defaults with its button classes. Nothing to install.

Version history

Version 1.1.0, September 30, 2026: The button now inverts: the rising layer is the label's colour and the label takes the face's, inside the border. Version 1.0.1, September 29, 2026: The outline style's label on hover reads the framework's own text token, in both colour schemes. Version 1.0.0, September 28, 2026: First release.

Tested with

Etch 1.6.7 and ACSS 4.0.1. Version 1.1.0.

Lifetime members

Members copy this straight into Etch, ready to paste.

Used an earlier version? How to update it

Get lifetime access
Other builders

Want EtchPress for Bricks or the block editor?

Everything here is made for Etch. Pick the builder you use and leave your email: we write once, when EtchPress works there.

This field is required.