Fit To Width – CSS-only responsive text

Description

A simple, lightweight block for displaying each line of text at full width, no matter the length of the text. No JavaScript.

Star the project on GitHub: https://github.com/kevinbatdorf/fit-to-width

Note: if you are installing it for the first time from the Block Inserter, WordPress has a bug where it doesn’t load block styles into the iFrame, so you will need to refresh.

Screenshots

  • An example of the text next to a cool dog

Blocks

This plugin provides 1 block.

  • Fit To Width A text block where each line is automatically full width.

Installation

  1. Upload the plugin files to the /wp-content/plugins/fit-to-width directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the ‘Plugins’ screen in WordPress

FAQ

What about browser support?

See here https://caniuse.com/mdn-css_at-rules_property

How did you do it?

For a detailed explanation of how this works, see https://kizu.dev/fit-to-width.

Is it accessible?

I guess that depends on your perspective and legal requirements. First thing I’ll say is that this technique outshines the alternatives, and those alternatives also suffer from the same caveat:

It won’t pass Success Criterion 1.4.4 Resize Text when the zoom is dependent on the viewport.

I’m by no means an expert on this, so if you’re interested in the topic, there’s a good discussion on this GitHub issue: Feature for making text always fit the width of its parent that I recommend reading.

There are arguments that if you maintain a width legible enough then zooming may not be an issue. My advice, however, is that you make sure that your text is able to zoom in up to 2em in size for all screen widths (press cmd/ctrl +/- to test).

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Fit To Width – CSS-only responsive text” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.0

  • Initial Release