Table of Contents
Question: How are the small icons in font-awesome generated?
After writing this, you may have a clear idea of ​​how the icons in font-awesome come from, but you are still a little confused. There must be many questions to ask:
css-sprite
svg sprite
Home Web Front-end HTML Tutorial Learn css sprite and svg sprite_html/css_WEB-ITnose through font-awesome cases

Learn css sprite and svg sprite_html/css_WEB-ITnose through font-awesome cases

Jun 24, 2016 am 11:40 AM

Question: How are the small icons in font-awesome generated?

1. Open the browser debugging tool and find the small icon font-awesome user. Its css style is.

icon-user:before {  content: "\f007";}[class^="icon-"]:before, [class*=" icon-"]:before {  text-decoration: inherit;  display: inline-block;  speak: none;}
Copy after login

2. According to css File path, we open font-awesome.css and find that it references the css3 @font-face attribute.

@font-face {  font-family: 'FontAwesome';  src: url('../font/fontawesome-webfont.eot?v=3.2.1');  src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg');  font-weight: normal;  font-style: normal;}
Copy after login

3. We follow src: url() to find its icon svg

The path is url('../font/fontawesome -webfont.svg#fontawesomeregular?v=3.2.1') ​​format('svg');
We use sublime to open the svg image under the path. Since SVG is in XML format, it can support the usual XML tools and libraries. conversion and generation. Specific tutorial link: XML Question: Programming using SVG

<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
Copy after login

4. Found that content: 'f007' corresponds to the unicode="oo7" above.

After writing this, you may have a clear idea of ​​how the icons in font-awesome come from, but you are still a little confused. There must be many questions to ask:

What is an svg image? How is it generated?
What’s the point of making all icons into one svg image?
What is the difference between it and css sprite?

Haha, I am actually the same as everyone else. I am very curious, so I checked a lot of documents. It turns out that some masters have already studied it. I will put the links one by one. Here I will talk about some of my knowledge first

css-sprite

1. First, what is css sprite?
css sprite, also called css sprite or css sprite, is a background image splicing technology. Using css sprite images can reduce the number of page requests. This is very important because every http request is a long connection. We all know that http overhead is very large. Like some shopping websites, if so many icons are introduced by tags , the consequences would be disastrous. The design of css-sprite is to improve page access speed and website request resource overhead.
2. Principle of css-sprite implementation
css-sprite is implemented through the new CSS3 attribute background-position. We can introduce image files at one time and cut them by setting background-size Small icon, and then use css-position to position the specific small icon icon
3. How to make css-sprite

1. There is a video of Teacher Yuanren on the MOOC online to teach you how Make a css-sprite. Portal: CSS Sprite sprite application

2. Windows developers can directly Baidu css-sprite production tool, there are many tools.
3. Students who compile with sass can directly use compass to automatically merge css sprite images, tutorial link address
4. You can use PS and AI to manually puzzle

4.css -Sprite Disadvantages : The cost of puzzle and post-maintenance is relatively high.
We can pass

svg sprite

Because I don’t know much here, and I also learned from the technical blog of Master Zhang Xinxu, so I directly post the address:

Must be hot in the future: Introduction to SVG Sprite technology

<br /><br /><svg>  <defs>    <g id="shape">        <rect x="0" y="0" width="50" height="50" />        <circle cx="0" cy="0" r="50" />    </g>  </defs>  <use xlink:href="#shape" x="50" y="50" />  <use xlink:href="#shape" x="200" y="50" /></svg>
Copy after login

Summary:
symbol use => SVG Sprite. And at the HTML level, the code cost for icons is almost the same as traditional CSS Sprite or the popular font-face. The code is simple and easy to maintain. All SVG icons are on one SVG source. Retina is good, the size can be stretched arbitrarily, and the color is controllable. It is really the future star of web icons.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What are the best practices for cross-browser compatibility in HTML5? What are the best practices for cross-browser compatibility in HTML5? Mar 17, 2025 pm 12:20 PM

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

How do I use the HTML5 <time> element to represent dates and times semantically? How do I use the HTML5 <time> element to represent dates and times semantically? Mar 12, 2025 pm 04:05 PM

This article explains the HTML5 &lt;time&gt; element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit

How do I use HTML5 form validation attributes to validate user input? How do I use HTML5 form validation attributes to validate user input? Mar 17, 2025 pm 12:27 PM

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

What is the viewport meta tag? Why is it important for responsive design? What is the viewport meta tag? Why is it important for responsive design? Mar 20, 2025 pm 05:56 PM

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

What is the purpose of the <iframe> tag? What are the security considerations when using it? What is the purpose of the <iframe> tag? What are the security considerations when using it? Mar 20, 2025 pm 06:05 PM

The article discusses the &lt;iframe&gt; tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

See all articles