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-icon-css
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 Bower or NPM:
$ bower install flag-icon-css
$ 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 npm install
to install the dependencies after cloning the project and
you'll be able to:
To watch for changes and live reload if served
$ grunt
To build *.less
files
$ grunt build
To serve it on localhost:8000
$ grunt connect
To have only specific countries in the css file, remove the ones that you don't
need from the
flag-icon-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.
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
![](https://opencollective.com/lipis/contributors.svg?width=890&button=false)
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
![](https://opencollective.com/lipis/individuals.svg?width=890)
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
![](https://opencollective.com/lipis/organization/9/avatar.svg)