如何在元素内容前后加图标


   大家最常用作图标的元素是i标签,为什么呢?

  1. 元素做图标在语义上是不正确的(虽然看起来像 icon 的缩写);
  2. 短,但 gzip 后差异很小,不过打字可以少按三个键;
  3. 多数图标用的是空 元素,配合 ::before 伪元素实现,因为没有内容,读屏器不会朗读(这样即使有特殊处理也跳过了),机器理解起来应该也没什么影响。

   综合来看,从实用性上暂时没看出有什么缺陷,所以目前用不用 取决于你对于遵循规范有多洁癖。

         具体如何在元素内容前后添加图标呢?这就要用使用伪元素:before和after,语法:

cssSelector:before{}
cssSelector.after{}

 

1.    直接插入图片

#example:before {
           content:url(imgUrl);}

2.    使用特殊字符

2.1 语法

#example:before {
           content:”\21E0”;}

2.2 HTML特殊字符的html、js、css写法汇总表

?  箭头类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u21E0

\21E0

?

\u21E2

\21E2

?

\u21E1

\21E1

?

\u21E3

\21E3

?

\u219E

\219E

?

\u21A0

\21A0

?

\u219F

\219F

?

\u21A1

\21A1

\u2190

\2190

\u2192

\2192

\u2191

\2191

\u2193

\2193

?

\u2194

\2194

?

\u2195

\2195

?

\u21C4

\21C4

?

\u21C5

\21C5

?

\u21A2

\21A2

?

\u21A3

\21A3

?

\u21DE

\21DE

?

\u21DF

\21DF

?

\u21AB

\21AB

?

\u21AC

\21AC

?

\u21DC

\21DC

?

\u21DD

\21DD

?

\u219A

\219A

?

\u219B

\219B

?

\u21AE

\21AE

?

\u21AD

\21AD

?

\u21E6

\21E6

?

\u21E8

\21E8

?

\u21E7

\21E7

?

\u21E9

\21E9

\u25B2

\25B2

?

\u25BA

\25BA

\u25BC

\25BC

?

\u25C4

\25C4

?

\u2794

\2794

?

\u2799

\2799

?

\u27A8

\27A8

?

\u27B2

\27B2

?

\u279C

\279C

?

\u279E

\279E

?

\u279F

\279F

?

\u27A0

\27A0

?

\u27A4

\27A4

?

\u27A5

\27A5

?

\u27A6

\27A6

?

\u27A7

\27A7

?

\u27B5

\27B5

?

\u27B8

\27B8

?

\u27BC

\27BC

?

\u27BD

\27BD

?

\u27BA

\27BA

?

\u27B3

\27B3

?

\u21B7

\21B7

?

\u21B6

\21B6

?

\u21BB

\21BB

?

\u21BA

\21BA

?

\u21B5

\21B5

?

\u21AF

\21AF

?

\u27BE

\27BE

 

 

 

 

?  基本形状类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u2764

\2764

?

\u2708

\2708

\u2605

\2605

?

\u2726

\2726

?

\u2600

\2600

\u25C6

\25C6

?

\u25C8

\25C8

?

\u25A3

\25A3

?

\u263B

\263B

?

\u263A

\263A

?

\u2639

\2639

?

\u2709

\2709

?

\u260E

\260E

?

\u260F

\260F

?

\u2706

\2706

?

\uFFFD

\FFFD

?

\u2601

\2601

?

\u2602

\2602

?

\u2744

\2744

?

\u2603

\2603

?

\u2748

\2748

?

\u273F

\273F

?

\u2740

\2740

?

\u2741

\2741

?

\u2618

\2618

?

\u2766

\2766

?

\u9749

\9749

?

\u2742

\2742

?

\u2625

\2625

?

\u262E

\262E

?

\u262F

\262F

?

\u262A

\262A

?

\u2624

\2624

?

\u2704

\2704

?

\u2702

\2702

?

\u2638

\2638

?

\u2693

\2693

?

\u2623

\2623

?

\u26A0

\26A0

?

\u26A1

\26A1

?

\u2622

\2622

?

\u267B

\267B

?

\u267F

\267F

?

\u2620

\2620

¥  货币类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

$

$

\u0024

\0024

¢

\u00A2

\00A2

£

\u00A3

\00A3

¤

¤

\u00A4

\00A4

\u20AC

\20AC

¥

\u00A5

\00A5

?

\u20B1

\20B1

?

\u20B9

\20B9

?  数学类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

½

\u00BD

\00BD

?

¼

\u00BC

\00BC

?

¾

\u00BE

\00BE

?

\u2153

\2153

?

\u2154

\2154

?

\u215B

\215B

?

\u215C

\215C

?

\u215D

\215D

\u2030

\2030

%

%

\u0025

\0025

<

\u003C

\003C

>

\u003E

\003E

?  音乐符号类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u2669

\2669

?

\u266A

\266A

?

\u266B

\266B

?

\u266C

\266C

?

\u266D

\266D

?

\u266F

\266F

?  对错号

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

 

 

\u00A0

\00A0

?

\u2610

\2610

?

\u2611

\2611

?

\u2612

\2612

?

\u2713

\2713

?

\u2714

\2714

?

\u10005

\10005

?

\u2716

\2716

?

\u2717

\2717

?

\u2718

\2718

★  全都是星星

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

\u2605

\2605

?

\u272D

\272D

?

\u272E

\272E

\u2606

\2606

?

\u272A

\272A

?

\u2721

\2721

?

\u272F

\272F

?

\u2735

\2735

?

\u2736

\2736

?

\u2738

\2738

?

\u2739

\2739

?

\u273A

\273A

?

\u2731

\2731

?

\u2732

\2732

?

\u2734

\2734

?

\u2733

\2733

?

\u273B

\273B

?

\u273D

\273D

?

\u274B

\274B

?

\u2746

\2746

?

\u2744

\2744

?

\u2745

\2745

?  星座类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u2648

\2648

?

\u2649

\2649

?

\u264A

\264A

?

\u264B

\264B

?

\u264C

\264C

?

\u264D

\264D

?

\u264E

\264E

?

\u264F

\264F

?

\u2650

\2650

?

\u2651

\2651

?

\u2652

\2652

?

\u2653

\2653

?  国际象棋类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u265A

\265A

?

\u265B

\265B

?

\u265C

\265C

?

\u265D

\265D

?

\u265E

\265E

?

\u265F

\265F

?

\u2654

\2654

?

\u2655

\2655

?

\u2656

\2656

?

\u2657

\2657

?

\u2658

\2658

?

\u2659

\2659

?  扑克牌类

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u2660

\2660

?

\u2663

\2663

?

\u2665

\2665

?

\u2666

\2666

?

\u2664

\2664

?

\u2667

\2667

?

\u2661

\2661

?

\u2662

\2662

Ω  希腊字母

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

Α

Α

\u0391

\0391

Β

Β

\u0392

\0392

Γ

Γ

\u0393

\0393

Δ

Δ

\u0394

\0394

Ε

Ε

\u0395

\0395

Ζ

Ζ

\u0396

\0396

Η

Η

\u0397

\0397

Θ

Θ

\u0398

\0398

Ι

Ι

\u0399

\0399

Κ

Κ

\u039A

\039A

Λ

Λ

\u039B

\039B

Μ

Μ

\u039C

\039C

Ν

Ν

\u039D

\039D

Ξ

Ξ

\u039E

\039E

Ο

Ο

\u039F

\039F

Π

Π

\u03A0

\03A0

Ρ

Ρ

\u03A1

\03A1

Σ

Σ

\u03A3

\03A3

Τ

Τ

\u03A4

\03A4

Υ

Υ

\u03A5

\03A5

Φ

Φ

\u03A6

\03A6

Χ

Χ

\u03A7

\03A7

Ψ

Ψ

\u03A8

\03A8

Ω

Ω

\u03A9

\03A9

?  十字

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

\u2628

\2628

?

\u2629

\2629

?

\u271D

\271D

?

\u271E

\271E

?

\u271F

\271F

?

\u2720

\2720

?

\u271A

\271A

?

\u2020

\2020

?

\u2722

\2722

?

\u2724

\2724

?

\u2723

\2723

?

\u2725

\2725

?  法律符号

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

®

\u00AE

\00AE

?

©

\u00A9

\00A9

?

\u2117

\2117

?

\u0099

\0099

?

\u2120

\2120

 

 

 

 

@  标点和符号

符号

UNICODE

符号

UNICODE

HTML

JS

CSS

HTML

JS

CSS

?

«

\u00AB

\00AB

?

»

\u00BB

\00BB

?

\u008B

\008B

?

\u009B

\009B

\u201C

\201C

\u201D

\201D

\u2018

\2018

\u2019

\2019

?

\u2022

\2022

?

\u25E6

\25E6

?

¡

\u00A1

\00A1

?

¿

\u00BF

\00BF

\u2105

\2105

\u2116

\2116

&

&

\u0026

\0026

@

@

\u0040

\0040

?

\u211E

\211E

\u2103

\2103

\u2109

\2109

°

°

\u00B0

\00B0

|

|

\u007C

\007C

|

¦

\u00A6

\00A6

\u2013

\2013

\u2014

\2014

\u2026

\2026

?

\u00B6

\00B6

\u223C

\223C

\u2260

\2260

3.    使用css绘制 

举例:比如一个电话

很巧妙的应用一个div左border加圆角当机身,::before和::after配合圆角当听筒。

 1 <style type="text/css">
 2 
 3 #phone{width:50px;height:50px;border-left:6px solid #EEB422;border-radius:20%;transform:rotate(-30deg);       
-webkit-transform:rotate(-30deg);margin:20px;margin-right:0px;position:relative;display: inline-block;top: -5px;} 4 5 #phone:before{width:15px;height:15px;background:#EEB422;border-radius: 20%;content: "";position: absolute;left:-2px;top: 1px;} 6 7 #phone:after{width:15px;height:15px;background:#EEB422;border-radius: 20%;content: "";position: absolute;left:-3px;top: 34px;} 8 9 style> 10 11 <div id="wraper"> 12 <div id="phone">div> 13 div>

        

参考资料:

HTML特殊字符的html、js、css写法汇总

纯CSS GUI图标