What is flag-icon-css?
The flag-icon-css npm package provides a collection of flag icons using CSS for easy integration into web projects. It allows developers to display country flags by simply adding appropriate CSS classes to HTML elements.
What are flag-icon-css's main functionalities?
Display a country flag
This feature allows you to display a country flag by adding the `flag-icon` class along with the specific country code class (e.g., `flag-icon-us` for the United States) to an HTML element.
<span class="flag-icon flag-icon-us"></span>
Change flag size
You can change the size of the flag by adding size-specific classes such as `flag-icon-lg` for large flags. This allows for flexible design adjustments.
<span class="flag-icon flag-icon-us flag-icon-lg"></span>
Square flag icons
This feature allows you to display square versions of the flags by adding the `flag-icon-squared` class. This is useful for design consistency in certain layouts.
<span class="flag-icon flag-icon-us flag-icon-squared"></span>
Other packages similar to flag-icon-css
country-flag-icons
The `country-flag-icons` package provides SVG icons for country flags. It offers a similar functionality to `flag-icon-css` but uses SVGs instead of CSS, which can provide better scalability and quality for high-resolution displays.
react-world-flags
The `react-world-flags` package is a React component library for displaying country flags. It is specifically designed for React applications and offers a more component-based approach compared to the CSS class-based approach of `flag-icon-css`.
flagpack
The `flagpack` package offers a collection of flag icons in SVG format. It provides a comprehensive set of flags with a focus on high-quality and customizable SVGs, making it a good alternative for projects that require scalable vector graphics.
flag-icons
A collection of all country flags in SVG — plus the CSS for easier integration. See the demo.
Install
You can either download the whole project as is or install it via NPM:
$ npm install flag-icon-css
Usage
For using the flags inline with text add the classes .flag-icon
and .flag-icon-xx
(where xx
is the ISO 3166-1-alpha-2 code of a country) to an empty <span>
. If you want to have a squared version flag then add the class flag-icon-squared
as well. Example:
<span class="flag-icon flag-icon-gr"></span>
<span class="flag-icon flag-icon-gr flag-icon-squared"></span>
You could also apply this to any element, but in that case you'll have to use the flag-icon-background
instead of flag-icon
and you're set. This will add the correct background with the following CSS properties:
background-size: contain;
background-position: 50%;
background-repeat: no-repeat;
Which means that the flag is just going to appear in the middle of an element, so you will have to set manually the correct size of 4 by 3 ratio or if it's squared add also the flag-icon-squared
class.
Development
Run the yarn
to install the dependencies after cloning the project and you'll be able to:
To build *.less
files
$ yarn build
To serve it on localhost:8000
$ yarn start
To have only specific countries in the css file, remove the ones that you don't need from the flag-icons-list.less
file and build it again.
Credits
This project wouldn't exist without the awesome and now deleted collection of SVG flags by koppi.