Skip to content

Add PDF Icon to PDF Links with CSS

For better usability and user experience, any link a user clicks should be a web page link. If it’s not, there should be some indication. A good example of this is when the user encounters a PDF link.

To automatically add a PDF icon next to every PDF link on a given page, you can use the following CSS:

a[href$=".pdf"]::after {
  content: url(pdf-icon.svg);
  vertical-align: middle;
}
Code language: CSS (css)

This uses the “ends with” attribute selector, indicated by the $ symbol, along with the ::after pseudo-element, applied to the a element. This means only href values on that end with the exact characters .pdf will include the PDF icon.

You can see this demonstrated in the CodePen below:

Alternatively, if you don’t want to use an icon, you can simply add a bit of text as the content that’s included:

a[href$=".pdf"]:after {
  content: " (PDF)";
}
Code language: CSS (css)

The above would add the letters “PDF” in parentheses next to each link, as the CodePen below demonstrates:

This can be done for any unusual file type (.DOCX, PPTX, etc.), simply replace the value in quotes in the attribute selector and adjust the content property to include the correct icon. If you want the icon to appear at the start of the link, then switch to using the ::before pseudo-element.

Note: To the best of our knowledge, the information above and the snippet are accurate and up to date. However, in case you notice something wrong, please report snippet or leave a comment below.
View all Snippets
Louis Lazaris
Share:

1 Comment
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Manuel
April 23, 2024 11:56 am

Cool. I try it with a svg. It shows the icon, but its huge. Any idea how to adjust the height of the svg icon?

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!