# Underline Animation

> A component that animates a text underline.  These underline animations work differently from typical CSS underline animations. Instead of animating the CSS text-decoration-line: underline property, they create a separate div element positioned absolutely below the text. This div acts as the underline and its dimensions are calculated relative to the font size:  - The height is controlled by underlineHeightRatio (defaults to 10% of font size) - The padding below text is controlled by underlinePaddingRatio (defaults to 1% of font size)  The three variants work as follows: - Center: The underline grows outward from the center point - Comes In Goes Out: The underline enters from one side, then exits from the other side - Goes Out Comes In: The underline exits from one side, then re-enters from the opposite side

- Author: [Daniel Petho](https://21st.dev/@danielpetho)
- Library: [Fancy Components](https://21st.dev/@danielpetho/library/fancy-components)
- License: mit
- Tags: Footer, Landing Page, Contact, Text Effect
- npm dependencies: framer-motion
- Live preview: https://21st.dev/@danielpetho/components/underline-animation

## Install

```bash
npx shadcn@latest add "https://21st.dev/r/danielpetho/underline-animation?api_key=$API_KEY_21ST"
```

Requires a 21st API key (generate one at https://21st.dev/mcp) passed as `API_KEY_21ST`. Free accounts get a limited number of installs per day; unlimited on a paid plan — see https://21st.dev/pricing.

Full component directory: https://21st.dev/llms.txt · More like this: https://21st.dev/community/components/s/footer.md
