Primer Tooltips
Add tooltips built entirely in CSS to nearly any element. Just add a few classes and an aria-label attribute.
This repository is a module of the full primer repository.
Install
This repository is distributed with npm. After installing npm, you can install primer-tooltips
with this command.
$ npm install --save primer-tooltips
Usage
The source files included are written in Sass (scss
) You can simply point your sass include-path
at your node_modules
directory and import it like this.
;
You can also import specific portions of the module by importing those partials from the /lib/
folder. Make sure you import any requirements along with the modules.
Build
For a compiled css version of this module, a npm script is included that will output a css version to build/build.css
The built css file is also included in the npm package.
$ npm run build
Documentation
Add tooltips built entirely in CSS to nearly any element.
{:toc}
Implementation and accessibility
Attention: we use aria-label
for tooltips instead of something like data-tooltip
because it is crucial that the tooltip content is available for screen reader users as well. However, aria-label
replaces the text content of an element for screen reader users, so only use tooltip if there is no better way to present the information, or consider using title
for supplement information.
Note: Tooltip classes will conflict with Octicon styles, and as such, must be applied to the parent element instead of the icon.
Tooltip direction
Specify the direction of a tooltip with north, south, east, and west directions:
.tooltipped-n
.tooltipped-ne
.tooltipped-e
.tooltipped-se
.tooltipped-s
.tooltipped-sw
.tooltipped-w
.tooltipped-nw
Tooltip North Tooltip North East Tooltip East Tooltip South East Tooltip South Tooltip South West Tooltip West Tooltip North West
Tooltip alignment
Align tooltips to the left or right of an element, combined with a directional class to specify north or south.
Tooltip North East align left 1 Tooltip North East align left 2 Tooltip South East align left 1 Tooltip South East align left 2 Tooltip North West align right 1 Tooltip North West align right 2 Tooltip South West align right 1 Tooltip South West align right 2
Tooltips with multiple lines
Use .tooltipped-multiline
when you have long content. This style has some limitations: you cannot pre-format the text with newlines, and tooltips are limited to a max-width of 250px
.
Tooltip with multiple lines
Tooltips No Delay
By default the tooltips have a slight delay before appearing. This is to keep multiple tooltips in the UI from being distracting. There is a modifier class you can use to override this. .tooltipped-no-delay
Tooltip no delay