1.1.0 ā€¢ Published 1 year ago

houdini-dash-border v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Houdini Dashed Border

Dashed borders in CSS with custom length, gap, and rounded end caps.

CSS Custom Property NameTypeDescriptionDefault
--border-thicknessnumberThe thickness of the border drawn, in pixels2
--border-lengthnumberThe length of a dash, in pixels12
--border-gapnumberThe gap in-between each dash, in pixels5
--border-dash-capround \| square \| buttThe end cap type for each dash.round
--border-colorcolorThe color of the border.lightgrey

Usage

šŸš§ Work in progress.

Solid Border

To turn off dashes, set the --border-gap to 0.

Hover Example

Often you'll want to have a dashed border by default and then on hover change the border to a solid line of a different color:

div {
  --border-thickness: 2;
  --border-length: 12;
  --border-gap: 5;
  --border-dash-cap: round;
  --border-color: lightgrey;

  background: paint(dashed-border);
}

div:hover {
  --border-thickness: 3;
  --border-length: 100;
  --border-gap: 0;
  --border-color: #f8e515;

  background-color: #ffffef;
  cursor: pointer;
}

Demo

CodePen Demo

Currently, only Chrome and Edge support the required Paint API. This will not work in Safari or Firefox.

Todo

  • Add option to change border radius (--border-radius)
  • Add option for multiple gap and length sizes of dashes
  • Add random dash length and gap option
  • Animate custom property changes.