attr() function

attr() is a CSS function that returns the value of a property. That means that you can define content in your html markup using any custom property and then fetch the value using attr(). It only works on the content property at the moment, but support for other properties are currently in the experimental stage.

An example should help explain. First, the HTML markup:

<span data-tooltip="Cascading Style Sheets">CSS</span>

And now the CSS:

[data-tooltip]::before {
  content: attr(data-tooltip);

[data-tooltip]:hover::before {
  visibility: visible;
  opacity: 1;

And with this you can create custom tooltips in pure CSS.

Browser Support

👉 Browser info is for properties other than content. attr() works across all browsers for content.

Can I Use css3-attr? Data on support for the css-first-letter feature across the major browsers from


🔎 Searching...