JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 14057
  • Score
    100M100P100Q139008F
  • License MIT

A clean and friendly icon family for web

Package Exports

  • @phosphor-icons/web/bold
  • @phosphor-icons/web/bold/Phosphor-Bold.svg
  • @phosphor-icons/web/bold/Phosphor-Bold.ttf
  • @phosphor-icons/web/bold/Phosphor-Bold.woff
  • @phosphor-icons/web/bold/selection.json
  • @phosphor-icons/web/bold/style.css
  • @phosphor-icons/web/duotone
  • @phosphor-icons/web/duotone/Phosphor-Duotone.svg
  • @phosphor-icons/web/duotone/Phosphor-Duotone.ttf
  • @phosphor-icons/web/duotone/Phosphor-Duotone.woff
  • @phosphor-icons/web/duotone/selection.json
  • @phosphor-icons/web/duotone/style.css
  • @phosphor-icons/web/fill
  • @phosphor-icons/web/fill/Phosphor-Fill.svg
  • @phosphor-icons/web/fill/Phosphor-Fill.ttf
  • @phosphor-icons/web/fill/Phosphor-Fill.woff
  • @phosphor-icons/web/fill/selection.json
  • @phosphor-icons/web/fill/style.css
  • @phosphor-icons/web/index.js
  • @phosphor-icons/web/light
  • @phosphor-icons/web/light/Phosphor-Light.svg
  • @phosphor-icons/web/light/Phosphor-Light.ttf
  • @phosphor-icons/web/light/Phosphor-Light.woff
  • @phosphor-icons/web/light/selection.json
  • @phosphor-icons/web/light/style.css
  • @phosphor-icons/web/regular
  • @phosphor-icons/web/regular/Phosphor.svg
  • @phosphor-icons/web/regular/Phosphor.ttf
  • @phosphor-icons/web/regular/Phosphor.woff
  • @phosphor-icons/web/regular/selection.json
  • @phosphor-icons/web/regular/style.css
  • @phosphor-icons/web/thin
  • @phosphor-icons/web/thin/Phosphor-Thin.svg
  • @phosphor-icons/web/thin/Phosphor-Thin.ttf
  • @phosphor-icons/web/thin/Phosphor-Thin.woff
  • @phosphor-icons/web/thin/selection.json
  • @phosphor-icons/web/thin/style.css

Readme

phosphor-icons

Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. Explore all our icons at phosphoricons.com.

NPM Travis

GitHub stars GitHub forks GitHub watchers Follow on GitHub

Usage

Getting Started

We use a similar approach as many other icon sets out there, providing icons as several webfonts that uses Unicode's Private Use Area character codes to map normally non-rendering characters to icons. Simply add one or more weights by including its stylesheet to the document <head>, and drop in icons with an <i> tag and the appropriate classes for the weight and the icon:

<!DOCTYPE html>
<html>
  <head>
    <link
      rel="stylesheet"
      type="text/css"
      href="https://unpkg.com/@phosphor-icons/web@2.0.0/src/bold/style.css"
    />
  </head>
  <body>
    <i class="ph-bold ph-smiley"></i>
    <i class="ph-bold ph-heart" style="color: hotpink"></i>
    <i class="ph-bold ph-cube"></i>
  </body>
</html>

Note: You can import as many or as few weights as needed. Only imported weights will match and render as icons.

Weights

Phosphor Icons come in 6 weights: regular, thin, light, bold, fill, and duotone. In order to use a weight, you must include a link to its stylesheet, and use the appropriate weight class on the icon:

<link
  rel="stylesheet"
  type="text/css"
  href="https://unpkg.com/@phosphor-icons/web@2.0.0/src/duotone/style.css"
/>
...
<i class="ph-duotone ph-baseball"></i>

The URL format is https://unpkg.com/@phosphor-icons/web@<VERSION>/src/<WEIGHT>/style.css. Other common CDNs may also be used.

Using All Weights

If you intend to use all 6 weights, they can be made available by including the library as a script tag, using the base URL:

<script src="https://unpkg.com/@phosphor-icons/web@2.0.0"></script>
...
<i class="ph-light ph-address-book"></i>
<i class="ph-fill ph-sunglasses"></i>

Modules

If your environment supports loading CSS files as modules, icon weights can be imported for effect from the package.

$ yarn add @phosphor-icons/web
import "@phosphor-icons/web/light";
import "@phosphor-icons/web/bold";

NOTE: Though assets will be cached for subsequent loads, this will bring in around 3MB of fonts and CSS, and may have impact on page load speed.

Styling

Since the icons are just text under the hood, they can be colored and styled with CSS like any other font, including font-size, color, etc.

<style>
  .ph-bold {
    font-size: 48px;
  }

  .green {
    color: limegreen;
  }
</style>
...
<!-- 96px -->
<i class="ph-bold ph-airplane"></i>
<!-- 96px and green -->
<i class="ph-bold ph-skull green"></i>

Note: Overriding the font-family, font-style, font-weight, font-variant, or text-transform may break the icons and render unprintable characters. Don't do it. Additionally, all weights use the :before pseudoelement to inject the font glyph, so overriding this property in icon classes can break them. The duotone weight also uses the :after pseudoelement, so it is best not to modify either when styling icons.

Ligatures

All weights aside from duotone support ligatures, meaning that in any text using supported weight classes, writing the name of an icon (without the ph- prefix) will convert to the corresponding icon. The largest possible string will be matched, meaning you can use any available weight, and print multiple icons without separating with spaces or other characters if you choose.

<!DOCTYPE html>
<html>
  <head>
    <link
      rel="stylesheet"
      type="text/css"
      href="https://unpkg.com/@phosphor-icons/web@2.0.0/src/bold/style.css"
    />
  </head>
  <body>
    <!-- Renders as sword and shield icons -->
    <p class="ph-bold">sword shield</p>
  </body>
</html>

Community Projects

If you've made a port of Phosphor and you want to see it here, just open a PR here!

License

MIT © Phosphor Icons