Examples
Sizing content within the icon container
Use a size modifier on the icon container to maintain a consistent size, even if the contents change in size.
Documentation
Overview
The icon element is a container used to maintain a stable space for an icon or spinner, regardless of size or aspect ratio of the contents.
Refer to the icons page for information about the PatternFly icon set and guidelines for use.
Usage
Class | Applied to | Outcome |
---|---|---|
.pf-v5-c-icon | <span> , <div> | Initiates an icon component. Required |
.pf-v5-c-icon__content | <span> , <div> | Initiates the icon content. Required |
.pf-v5-c-icon__progress | <span> , <div> | Initiates a container for a progress spinner. |
.pf-m-inline | .pf-v5-c-icon | Displays the icon inline with text, and allows the icon to inherit the size and color of the parent. |
.pf-m-[sm,md,lg,xl] | .pf-v5-c-icon | Modifies the icon container to be small, medium, large, or extra large. |
.pf-m-[sm,md,lg,xl] | .pf-v5-c-icon__content , pf-v5-c-icon__progress | Modifies the icon content or progress element to be small, medium, large, or extra large. |
.pf-m-in-progress | .pf-v5-c-icon | Shows the progress element in place of the icon content. |
.pf-m-danger , .pf-m-warning , .pf-m-success , .pf-m-info , .pf-m-custom | .pf-v5-c-icon__content | Modifies the icon content to use a status color. |
CSS variables
Expand or collapse column | Selector | Variable | Value | |
---|---|---|---|---|
.pf-v5-c-icon | --pf-v5-c-icon--Width | 1em | ||
.pf-v5-c-icon | --pf-v5-c-icon--Height | 1em | ||
.pf-v5-c-icon | --pf-v5-c-icon--m-sm--Width | 0.75rem | ||
--pf-v5-c-icon--m-sm--Width --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-sm--Height | 0.75rem | ||
--pf-v5-c-icon--m-sm--Height --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-md--Width | 1rem | ||
--pf-v5-c-icon--m-md--Width --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-md--Height | 1rem | ||
--pf-v5-c-icon--m-md--Height --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-lg--Width | 1.5rem | ||
--pf-v5-c-icon--m-lg--Width --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-lg--Height | 1.5rem | ||
--pf-v5-c-icon--m-lg--Height --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-xl--Width | 3.375rem | ||
--pf-v5-c-icon--m-xl--Width --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-xl--Height | 3.375rem | ||
--pf-v5-c-icon--m-xl--Height --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-inline--Width | 1em | ||
.pf-v5-c-icon | --pf-v5-c-icon--m-inline--Height | 1em | ||
.pf-v5-c-icon | --pf-v5-c-icon__content--svg--VerticalAlign | -.125em | ||
.pf-v5-c-icon | --pf-v5-c-icon__content--Color | initial | ||
.pf-v5-c-icon | --pf-v5-c-icon__content--m-danger--Color | #c9190b | ||
--pf-v5-c-icon__content--m-danger--Color --pf-v5-global--danger-color--100 $pf-v5-global--danger-color--100 $pf-v5-color-red-100 #c9190b | ||||
.pf-v5-c-icon | --pf-v5-c-icon__content--m-warning--Color | #f0ab00 | ||
--pf-v5-c-icon__content--m-warning--Color --pf-v5-global--warning-color--100 $pf-v5-global--warning-color--100 $pf-v5-color-gold-400 #f0ab00 | ||||
.pf-v5-c-icon | --pf-v5-c-icon__content--m-success--Color | #3e8635 | ||
--pf-v5-c-icon__content--m-success--Color --pf-v5-global--success-color--100 $pf-v5-global--success-color--100 $pf-v5-color-green-500 #3e8635 | ||||
.pf-v5-c-icon | --pf-v5-c-icon__content--m-info--Color | #2b9af3 | ||
--pf-v5-c-icon__content--m-info--Color --pf-v5-global--info-color--100 $pf-v5-global--info-color--100 $pf-v5-color-blue-300 #2b9af3 | ||||
.pf-v5-c-icon | --pf-v5-c-icon__content--m-custom--Color | #73c5c5 | ||
--pf-v5-c-icon__content--m-custom--Color --pf-v5-global--custom-color--100 $pf-v5-global--custom-color--100 $pf-v5-color-cyan-200 #73c5c5 | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-inline__content--Color | initial | ||
.pf-v5-c-icon | --pf-v5-c-icon__content--FontSize | 1em | ||
.pf-v5-c-icon | --pf-v5-c-icon--m-sm__content--FontSize | 0.75rem | ||
--pf-v5-c-icon--m-sm__content--FontSize --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-md__content--FontSize | 1rem | ||
--pf-v5-c-icon--m-md__content--FontSize --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-lg__content--FontSize | 1.5rem | ||
--pf-v5-c-icon--m-lg__content--FontSize --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-xl__content--FontSize | 3.375rem | ||
--pf-v5-c-icon--m-xl__content--FontSize --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon | --pf-v5-c-icon--m-inline__content--FontSize | 1em | ||
.pf-v5-c-icon.pf-m-inline | --pf-v5-c-icon--Width | 1em | ||
--pf-v5-c-icon--Width --pf-v5-c-icon--m-inline--Width 1em | ||||
.pf-v5-c-icon.pf-m-inline | --pf-v5-c-icon--Height | 1em | ||
--pf-v5-c-icon--Height --pf-v5-c-icon--m-inline--Height 1em | ||||
.pf-v5-c-icon.pf-m-inline | --pf-v5-c-icon__content--FontSize | 1em | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-inline__content--FontSize 1em | ||||
.pf-v5-c-icon.pf-m-inline | --pf-v5-c-icon__content--Color | initial | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon--m-inline__content--Color initial | ||||
.pf-v5-c-icon.pf-m-inline .pf-v5-c-spinner | --pf-v5-c-spinner--diameter | 1em | ||
.pf-v5-c-icon.pf-m-sm | --pf-v5-c-icon--Width | 0.75rem | ||
--pf-v5-c-icon--Width --pf-v5-c-icon--m-sm--Width --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon.pf-m-sm | --pf-v5-c-icon--Height | 0.75rem | ||
--pf-v5-c-icon--Height --pf-v5-c-icon--m-sm--Height --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon.pf-m-sm | --pf-v5-c-icon__content--FontSize | 0.75rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-sm__content--FontSize --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon.pf-m-md | --pf-v5-c-icon--Width | 1rem | ||
--pf-v5-c-icon--Width --pf-v5-c-icon--m-md--Width --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon.pf-m-md | --pf-v5-c-icon--Height | 1rem | ||
--pf-v5-c-icon--Height --pf-v5-c-icon--m-md--Height --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon.pf-m-md | --pf-v5-c-icon__content--FontSize | 1rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-md__content--FontSize --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon.pf-m-lg | --pf-v5-c-icon--Width | 1.5rem | ||
--pf-v5-c-icon--Width --pf-v5-c-icon--m-lg--Width --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon.pf-m-lg | --pf-v5-c-icon--Height | 1.5rem | ||
--pf-v5-c-icon--Height --pf-v5-c-icon--m-lg--Height --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon.pf-m-lg | --pf-v5-c-icon__content--FontSize | 1.5rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-lg__content--FontSize --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon.pf-m-xl | --pf-v5-c-icon--Width | 3.375rem | ||
--pf-v5-c-icon--Width --pf-v5-c-icon--m-xl--Width --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon.pf-m-xl | --pf-v5-c-icon--Height | 3.375rem | ||
--pf-v5-c-icon--Height --pf-v5-c-icon--m-xl--Height --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon.pf-m-xl | --pf-v5-c-icon__content--FontSize | 3.375rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-xl__content--FontSize --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon.pf-m-in-progress | --pf-v5-c-icon__content--Opacity | 0 | ||
.pf-v5-c-icon.pf-m-in-progress | --pf-v5-c-icon__progress--Opacity | 1 | ||
.pf-v5-c-icon__content.pf-m-sm | --pf-v5-c-icon__content--FontSize | 0.75rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-sm__content--FontSize --pf-v5-global--icon--FontSize--sm $pf-v5-global--icon--FontSize--sm pf-font-prem(12px) 0.75rem | ||||
.pf-v5-c-icon__content.pf-m-md | --pf-v5-c-icon__content--FontSize | 1rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-md__content--FontSize --pf-v5-global--icon--FontSize--md $pf-v5-global--icon--FontSize--md pf-font-prem(16px) 1rem | ||||
.pf-v5-c-icon__content.pf-m-lg | --pf-v5-c-icon__content--FontSize | 1.5rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-lg__content--FontSize --pf-v5-global--icon--FontSize--lg $pf-v5-global--icon--FontSize--lg pf-font-prem(24px) 1.5rem | ||||
.pf-v5-c-icon__content.pf-m-xl | --pf-v5-c-icon__content--FontSize | 3.375rem | ||
--pf-v5-c-icon__content--FontSize --pf-v5-c-icon--m-xl__content--FontSize --pf-v5-global--icon--FontSize--xl $pf-v5-global--icon--FontSize--xl pf-font-prem(54px) 3.375rem | ||||
.pf-v5-c-icon__content.pf-m-danger | --pf-v5-c-icon__content--Color | #c9190b | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon__content--m-danger--Color --pf-v5-global--danger-color--100 $pf-v5-global--danger-color--100 $pf-v5-color-red-100 #c9190b | ||||
.pf-v5-c-icon__content.pf-m-warning | --pf-v5-c-icon__content--Color | #f0ab00 | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon__content--m-warning--Color --pf-v5-global--warning-color--100 $pf-v5-global--warning-color--100 $pf-v5-color-gold-400 #f0ab00 | ||||
.pf-v5-c-icon__content.pf-m-success | --pf-v5-c-icon__content--Color | #3e8635 | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon__content--m-success--Color --pf-v5-global--success-color--100 $pf-v5-global--success-color--100 $pf-v5-color-green-500 #3e8635 | ||||
.pf-v5-c-icon__content.pf-m-info | --pf-v5-c-icon__content--Color | #2b9af3 | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon__content--m-info--Color --pf-v5-global--info-color--100 $pf-v5-global--info-color--100 $pf-v5-color-blue-300 #2b9af3 | ||||
.pf-v5-c-icon__content.pf-m-custom | --pf-v5-c-icon__content--Color | #73c5c5 | ||
--pf-v5-c-icon__content--Color --pf-v5-c-icon__content--m-custom--Color --pf-v5-global--custom-color--100 $pf-v5-global--custom-color--100 $pf-v5-color-cyan-200 #73c5c5 |
View source on GitHub