云计算百科
云计算领域专业知识百科平台

网页图标favicon:如何给网站加上小图标?


一、小图标,大门面

不知道你有没有注意过,浏览器每个标签页的左侧,都有一个小小的图标——它就是 favicon( favorites icon 的缩写,意为"收藏夹图标")。

这个图标虽然很小(通常只有16×16像素),但它的作用可不小。它就像网站的"头像",是品牌形象的重要组成部分。在一堆打开的标签页中,用户通过favicon就能快速识别哪个是你的网站。收藏网站时,favicon也会和标题一起保存下来。

这篇文章,我们就来聊聊favicon这个小东西——它是什么、有什么用、怎么做、怎么加到网站上,以及有哪些注意事项。

1.1 什么是favicon

favicon是显示在浏览器标签页、地址栏、书签、历史记录中的小图标,用来标识一个网站。

#mermaid-svg-0oLr9oIq6Yk31nmn{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-0oLr9oIq6Yk31nmn .error-icon{fill:#552222;}#mermaid-svg-0oLr9oIq6Yk31nmn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0oLr9oIq6Yk31nmn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0oLr9oIq6Yk31nmn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0oLr9oIq6Yk31nmn .marker.cross{stroke:#333333;}#mermaid-svg-0oLr9oIq6Yk31nmn svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0oLr9oIq6Yk31nmn p{margin:0;}#mermaid-svg-0oLr9oIq6Yk31nmn .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster-label text{fill:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster-label span{color:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster-label span p{background-color:transparent;}#mermaid-svg-0oLr9oIq6Yk31nmn .label text,#mermaid-svg-0oLr9oIq6Yk31nmn span{fill:#333;color:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn .node rect,#mermaid-svg-0oLr9oIq6Yk31nmn .node circle,#mermaid-svg-0oLr9oIq6Yk31nmn .node ellipse,#mermaid-svg-0oLr9oIq6Yk31nmn .node polygon,#mermaid-svg-0oLr9oIq6Yk31nmn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0oLr9oIq6Yk31nmn .rough-node .label text,#mermaid-svg-0oLr9oIq6Yk31nmn .node .label text,#mermaid-svg-0oLr9oIq6Yk31nmn .image-shape .label,#mermaid-svg-0oLr9oIq6Yk31nmn .icon-shape .label{text-anchor:middle;}#mermaid-svg-0oLr9oIq6Yk31nmn .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-0oLr9oIq6Yk31nmn .rough-node .label,#mermaid-svg-0oLr9oIq6Yk31nmn .node .label,#mermaid-svg-0oLr9oIq6Yk31nmn .image-shape .label,#mermaid-svg-0oLr9oIq6Yk31nmn .icon-shape .label{text-align:center;}#mermaid-svg-0oLr9oIq6Yk31nmn .node.clickable{cursor:pointer;}#mermaid-svg-0oLr9oIq6Yk31nmn .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-0oLr9oIq6Yk31nmn .arrowheadPath{fill:#333333;}#mermaid-svg-0oLr9oIq6Yk31nmn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-0oLr9oIq6Yk31nmn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-0oLr9oIq6Yk31nmn .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0oLr9oIq6Yk31nmn .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-0oLr9oIq6Yk31nmn .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0oLr9oIq6Yk31nmn .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster text{fill:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn .cluster span{color:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-0oLr9oIq6Yk31nmn .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-0oLr9oIq6Yk31nmn rect.text{fill:none;stroke-width:0;}#mermaid-svg-0oLr9oIq6Yk31nmn .icon-shape,#mermaid-svg-0oLr9oIq6Yk31nmn .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-0oLr9oIq6Yk31nmn .icon-shape p,#mermaid-svg-0oLr9oIq6Yk31nmn .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-0oLr9oIq6Yk31nmn .icon-shape .label rect,#mermaid-svg-0oLr9oIq6Yk31nmn .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-0oLr9oIq6Yk31nmn .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-0oLr9oIq6Yk31nmn .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-0oLr9oIq6Yk31nmn :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

favicon显示在哪里

浏览器标签页

地址栏左侧

书签/收藏夹

历史记录

桌面快捷方式

移动端主屏幕图标

favicon的历史:

favicon最早是微软在IE5中引入的功能,当时只支持 .ico 格式,放在网站根目录下命名为 favicon.ico 就会自动生效。

后来各大浏览器都支持了这个功能,并且扩展支持了PNG、SVG等更多格式。现在favicon已经是每个网站的标配了。

1.2 为什么要有favicon

也许你会觉得:“一个小图标而已,有没有无所谓吧?”

其实favicon虽然小,但它的作用不小:

#mermaid-svg-3DY4DLdbUzi8148T{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-3DY4DLdbUzi8148T .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-3DY4DLdbUzi8148T .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-3DY4DLdbUzi8148T .error-icon{fill:#552222;}#mermaid-svg-3DY4DLdbUzi8148T .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3DY4DLdbUzi8148T .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-3DY4DLdbUzi8148T .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3DY4DLdbUzi8148T .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3DY4DLdbUzi8148T .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-3DY4DLdbUzi8148T .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3DY4DLdbUzi8148T .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3DY4DLdbUzi8148T .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3DY4DLdbUzi8148T .marker.cross{stroke:#333333;}#mermaid-svg-3DY4DLdbUzi8148T svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3DY4DLdbUzi8148T p{margin:0;}#mermaid-svg-3DY4DLdbUzi8148T .edge{stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .section–1 rect,#mermaid-svg-3DY4DLdbUzi8148T .section–1 path,#mermaid-svg-3DY4DLdbUzi8148T .section–1 circle,#mermaid-svg-3DY4DLdbUzi8148T .section–1 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section–1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section–1 text{fill:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon–1{font-size:40px;color:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge–1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth–1{stroke-width:17;}#mermaid-svg-3DY4DLdbUzi8148T .section–1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-0 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-0 path,#mermaid-svg-3DY4DLdbUzi8148T .section-0 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-0 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-3DY4DLdbUzi8148T .section-0 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-0{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-0{stroke-width:14;}#mermaid-svg-3DY4DLdbUzi8148T .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-1 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-1 path,#mermaid-svg-3DY4DLdbUzi8148T .section-1 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-1 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-1 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-1{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-1{stroke-width:11;}#mermaid-svg-3DY4DLdbUzi8148T .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-2 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-2 path,#mermaid-svg-3DY4DLdbUzi8148T .section-2 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-2 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-2 text{fill:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-2{stroke-width:8;}#mermaid-svg-3DY4DLdbUzi8148T .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-3 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-3 path,#mermaid-svg-3DY4DLdbUzi8148T .section-3 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-3 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-3 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-3{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-3{stroke-width:5;}#mermaid-svg-3DY4DLdbUzi8148T .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-4 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-4 path,#mermaid-svg-3DY4DLdbUzi8148T .section-4 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-4 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-4 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-4{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-4{stroke-width:2;}#mermaid-svg-3DY4DLdbUzi8148T .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-5 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-5 path,#mermaid-svg-3DY4DLdbUzi8148T .section-5 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-5 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-5 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-5{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-5{stroke-width:-1;}#mermaid-svg-3DY4DLdbUzi8148T .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-6 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-6 path,#mermaid-svg-3DY4DLdbUzi8148T .section-6 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-6 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-6 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-6{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-6{stroke-width:-4;}#mermaid-svg-3DY4DLdbUzi8148T .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-7 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-7 path,#mermaid-svg-3DY4DLdbUzi8148T .section-7 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-7 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-7 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-7{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-7{stroke-width:-7;}#mermaid-svg-3DY4DLdbUzi8148T .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-8 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-8 path,#mermaid-svg-3DY4DLdbUzi8148T .section-8 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-8 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-8 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-8{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-8{stroke-width:-10;}#mermaid-svg-3DY4DLdbUzi8148T .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-9 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-9 path,#mermaid-svg-3DY4DLdbUzi8148T .section-9 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-9 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-9 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-9{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-9{stroke-width:-13;}#mermaid-svg-3DY4DLdbUzi8148T .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-10 rect,#mermaid-svg-3DY4DLdbUzi8148T .section-10 path,#mermaid-svg-3DY4DLdbUzi8148T .section-10 circle,#mermaid-svg-3DY4DLdbUzi8148T .section-10 polygon,#mermaid-svg-3DY4DLdbUzi8148T .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-10 text{fill:black;}#mermaid-svg-3DY4DLdbUzi8148T .node-icon-10{font-size:40px;color:black;}#mermaid-svg-3DY4DLdbUzi8148T .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .edge-depth-10{stroke-width:-16;}#mermaid-svg-3DY4DLdbUzi8148T .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-3DY4DLdbUzi8148T .disabled,#mermaid-svg-3DY4DLdbUzi8148T .disabled circle,#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:lightgray;}#mermaid-svg-3DY4DLdbUzi8148T .disabled text{fill:#efefef;}#mermaid-svg-3DY4DLdbUzi8148T .section-root rect,#mermaid-svg-3DY4DLdbUzi8148T .section-root path,#mermaid-svg-3DY4DLdbUzi8148T .section-root circle,#mermaid-svg-3DY4DLdbUzi8148T .section-root polygon{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-3DY4DLdbUzi8148T .section-root text{fill:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .section-root span{color:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .section-2 span{color:#ffffff;}#mermaid-svg-3DY4DLdbUzi8148T .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-3DY4DLdbUzi8148T .edge{fill:none;}#mermaid-svg-3DY4DLdbUzi8148T .mindmap-node-label{dy:1em;alignment-baseline:middle;text-anchor:middle;dominant-baseline:middle;text-align:center;}#mermaid-svg-3DY4DLdbUzi8148T :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

favicon的作用

品牌识别

标签页上一眼认出

建立品牌形象

增强专业感

用户体验

多标签时快速定位

书签管理更直观

视觉上更完整

专业度

没有favicon显得不专业

给人"还没做完"的感觉

移动端

添加到主屏幕的图标

App化体验

1. 品牌识别

favicon是品牌视觉识别系统的一部分。当用户打开很多标签页时,不用看标题文字,只看图标就能快速找到你的网站。比如绿色的机器人是微信,蓝色的"e"是饿了么,红色的"淘"是淘宝——这些图标已经深深刻在用户脑子里了。

2. 专业感

一个没有favicon的网站,就像一张没有名片的脸——总让人觉得"是不是还没做完"、“是不是不正规”。有了favicon,用户会觉得这个网站更专业、更可信。

3. 用户体验

标签页很多的时候,光看标题文字很难快速区分。有了favicon,扫一眼图标就知道哪个是哪个,提升使用效率。

4. 移动端和PWA

在移动端,用户把网站添加到主屏幕时,也会使用favicon相关的图标。一个好的图标能让你的网站看起来更像一个原生App。

总结:favicon虽小,但它是网站专业度和品牌形象的体现。做一个网站,就应该配上自己的favicon。


二、favicon的格式与尺寸

2.1 常见的favicon格式

格式后缀说明推荐指数
ICO .ico 传统格式,所有浏览器支持,可包含多个尺寸 ⭐⭐⭐⭐
PNG .png 现代格式,清晰度高,大多数新浏览器支持 ⭐⭐⭐⭐⭐
SVG .svg 矢量格式,无限缩放,文件小 ⭐⭐⭐
GIF .gif 支持动画,但很多浏览器不显示动画 ⭐⭐

ICO格式:最经典的favicon格式。它的特点是一个文件可以包含多个不同尺寸的图标(比如16×16、32×32、48×48),浏览器会自动选择最合适的尺寸。兼容性最好,所有浏览器都支持。

PNG格式:现在最推荐的格式。PNG图标更清晰,支持透明背景,制作也简单(任何画图软件都能导出PNG)。现代浏览器基本都支持PNG格式的favicon。

SVG格式:矢量图,可以无限放大不失真,文件体积小。但目前浏览器支持不如PNG好,Safari直到较新版本才支持。可以作为高级补充。

推荐方案:ICO + PNG 双保险

最稳妥的做法是:提供一个 favicon.ico(兼容老浏览器)+ 一个PNG格式的favicon(现代浏览器用更清晰的)。两者都放在网站根目录。

2.2 favicon的尺寸

favicon的使用场景很多,不同场景需要不同的尺寸。常见的尺寸有:

尺寸使用场景
16×16 浏览器标签页(最标准的favicon尺寸)
32×32 高DPI屏幕、任务栏预览
48×48 Windows桌面图标、较大的显示场景
96×96 桌面快捷方式
180×180 iOS主屏图标(apple-touch-icon)
192×192 Android主屏图标、PWA
512×512 PWA应用图标

最小需求:

如果只是想让网站标签页有个图标,准备一个 32×32 的PNG 基本上就够了(浏览器会自动缩放)。

完整方案:

如果想在所有平台都有好的效果,需要准备多个尺寸。一般的网站,准备以下几个就够了:

  • favicon.ico(包含16×16、32×32、48×48)
  • favicon-32×32.png(标准PNG)
  • apple-touch-icon.png(180×180,iOS用)

2.3 设计favicon的注意事项

favicon很小(最小的只有16×16像素),所以设计上有一些特殊要求:

#mermaid-svg-Jmrt9XKeIhgR4EOE{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Jmrt9XKeIhgR4EOE .error-icon{fill:#552222;}#mermaid-svg-Jmrt9XKeIhgR4EOE .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Jmrt9XKeIhgR4EOE .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .marker.cross{stroke:#333333;}#mermaid-svg-Jmrt9XKeIhgR4EOE svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Jmrt9XKeIhgR4EOE p{margin:0;}#mermaid-svg-Jmrt9XKeIhgR4EOE .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster-label text{fill:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster-label span{color:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster-label span p{background-color:transparent;}#mermaid-svg-Jmrt9XKeIhgR4EOE .label text,#mermaid-svg-Jmrt9XKeIhgR4EOE span{fill:#333;color:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .node rect,#mermaid-svg-Jmrt9XKeIhgR4EOE .node circle,#mermaid-svg-Jmrt9XKeIhgR4EOE .node ellipse,#mermaid-svg-Jmrt9XKeIhgR4EOE .node polygon,#mermaid-svg-Jmrt9XKeIhgR4EOE .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .rough-node .label text,#mermaid-svg-Jmrt9XKeIhgR4EOE .node .label text,#mermaid-svg-Jmrt9XKeIhgR4EOE .image-shape .label,#mermaid-svg-Jmrt9XKeIhgR4EOE .icon-shape .label{text-anchor:middle;}#mermaid-svg-Jmrt9XKeIhgR4EOE .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .rough-node .label,#mermaid-svg-Jmrt9XKeIhgR4EOE .node .label,#mermaid-svg-Jmrt9XKeIhgR4EOE .image-shape .label,#mermaid-svg-Jmrt9XKeIhgR4EOE .icon-shape .label{text-align:center;}#mermaid-svg-Jmrt9XKeIhgR4EOE .node.clickable{cursor:pointer;}#mermaid-svg-Jmrt9XKeIhgR4EOE .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .arrowheadPath{fill:#333333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Jmrt9XKeIhgR4EOE .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Jmrt9XKeIhgR4EOE .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Jmrt9XKeIhgR4EOE .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster text{fill:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE .cluster span{color:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Jmrt9XKeIhgR4EOE .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Jmrt9XKeIhgR4EOE rect.text{fill:none;stroke-width:0;}#mermaid-svg-Jmrt9XKeIhgR4EOE .icon-shape,#mermaid-svg-Jmrt9XKeIhgR4EOE .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Jmrt9XKeIhgR4EOE .icon-shape p,#mermaid-svg-Jmrt9XKeIhgR4EOE .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Jmrt9XKeIhgR4EOE .icon-shape .label rect,#mermaid-svg-Jmrt9XKeIhgR4EOE .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Jmrt9XKeIhgR4EOE .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Jmrt9XKeIhgR4EOE .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Jmrt9XKeIhgR4EOE :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

favicon设计要点

简洁

识别度高

对比强烈

和品牌一致

不要放太多细节16px里看不清

用简洁的图形或字母

缩小了也能认出来

避免复杂图案

前景背景对比明显

避免相近的颜色

和品牌Logo风格统一

颜色和网站呼应

1. 简洁再简洁

16×16像素,总共才256个点,放不了什么复杂的内容。favicon必须极简——一个字母、一个图形符号、一块颜色就够了。

2. 高对比

前景色和背景色对比要强烈,这样在小尺寸下才能看清。不要用浅色配浅色、深色配深色。

3. 品牌一致

favicon是品牌系统的一部分,应该和网站的Logo、主色调保持一致。用户看到图标就能联想到你的品牌。

4. 测试小尺寸效果

设计favicon一定要缩小到16×16看看效果。很多图放大了很好看,缩小了就糊成一团,什么都看不清。一定要在真实尺寸下检验。


三、如何添加favicon

3.1 方法一:放在根目录(最简单)

最简单的方法:把favicon文件命名为 favicon.ico,放在网站的根目录下。

网站根目录/
├── index.html
├── favicon.ico ← 放在这里
└── …

浏览器加载网页时,会自动去网站根目录下找 favicon.ico 这个文件。如果找到了就显示,找不到就显示默认的空白图标。

优点:

  • 简单,不用写任何代码
  • 所有浏览器都支持

缺点:

  • 文件名和位置固定,不够灵活
  • 只能用ico格式
  • 不能指定多个不同尺寸

这种方法适合简单的静态网站,拿来就能用。

3.2 方法二:用link标签指定(推荐)

更灵活的方式是在HTML的 <head> 中用 <link> 标签指定favicon的位置和类型。

<head>
<!– PNG格式的favicon –>
<link rel="icon" type="image/png" href="/favicon-32×32.png" sizes="32×32">

<!– ICO格式的favicon –>
<link rel="icon" type="image/x-icon" href="/favicon.ico">
</head>

属性说明:

属性说明
rel="icon" 关系类型,指定这是网站图标
type 图标的MIME类型,PNG是 image/png,ICO是 image/x-icon
href 图标的路径
sizes 图标尺寸,比如 32×32,多个尺寸用空格分隔

推荐的完整写法:

<head>
<meta charset="UTF-8">
<title>页面标题</title>

<!– ICO格式,兼容所有浏览器 –>
<link rel="icon" href="/favicon.ico" type="image/x-icon">

<!– PNG格式,现代浏览器优先使用 –>
<link rel="icon" type="image/png" sizes="32×32" href="/favicon-32×32.png">
<link rel="icon" type="image/png" sizes="16×16" href="/favicon-16×16.png">

<!– iOS主屏图标 –>
<link rel="apple-touch-icon" sizes="180×180" href="/apple-touch-icon.png">
</head>

浏览器会选择最合适的那个图标来显示。

路径问题:

  • href="/favicon.ico"(开头有斜杠):表示网站根目录下的favicon.ico
  • href="favicon.ico"(开头没斜杠):表示相对于当前HTML文件的路径

推荐用绝对路径(开头加斜杠),这样不管在哪个子页面都能正确找到图标。

3.3 苹果设备的图标

iOS设备有自己的一套图标规则,叫做 apple-touch-icon。用户把网站添加到主屏幕时,用的就是这个图标。

<!– iPhone和iPad的主屏图标 –>
<link rel="apple-touch-icon" sizes="180×180" href="/apple-touch-icon.png">

尺寸建议:180×180像素

如果不指定,iOS会自动截取网页的截图作为图标,效果通常很糟糕。所以移动端网站建议一定要加上apple-touch-icon。

还可以加一些预渲染的图标(iOS的老版本会用):

<link rel="apple-touch-icon" sizes="57×57" href="/apple-touch-icon-57×57.png">
<link rel="apple-touch-icon" sizes="72×72" href="/apple-touch-icon-72×72.png">
<link rel="apple-touch-icon" sizes="114×114" href="/apple-touch-icon-114×114.png">
<link rel="apple-touch-icon" sizes="144×144" href="/apple-touch-icon-144×144.png">
<link rel="apple-touch-icon" sizes="180×180" href="/apple-touch-icon-180×180.png">

不过现在新的iOS版本只需要一个180×180的就够了,会自动缩放。

3.4 Android和PWA图标

对于Android设备和PWA(渐进式Web应用),通常通过 manifest.json 文件来配置图标:

<link rel="manifest" href="/manifest.json">

manifest.json中配置图标:

{
"name": "应用名称",
"short_name": "短名称",
"icons": [
{
"src": "/android-chrome-192×192.png",
"sizes": "192×192",
"type": "image/png"
},
{
"src": "/android-chrome-512×512.png",
"sizes": "512×512",
"type": "image/png"
}
]
}

3.5 简单方案 vs 完整方案

根据你的需求,可以选择不同复杂度的方案:

极简方案(个人小站):

一个 favicon.ico 放根目录

标准方案(一般企业站):

<link rel="icon" type="image/png" sizes="32×32" href="/favicon-32×32.png">
<link rel="icon" href="/favicon.ico" type="image/x-icon">

完整方案(追求完美):

<link rel="icon" type="image/png" sizes="16×16" href="/favicon-16×16.png">
<link rel="icon" type="image/png" sizes="32×32" href="/favicon-32×32.png">
<link rel="apple-touch-icon" sizes="180×180" href="/apple-touch-icon.png">
<link rel="manifest" href="/manifest.json">
<link rel="icon" href="/favicon.ico" type="image/x-icon">

对于大多数网站,标准方案就足够了。


四、如何制作favicon

了解了怎么加,再来看看怎么做。制作favicon有几种方法,从简单到专业都有。

4.1 方法一:在线生成工具(最简单)

最简单的方法是用在线favicon生成工具,上传一张图片,自动生成各种尺寸的favicon。

常用的在线工具:

工具地址特点
favicon.io favicon.io 可以用文字、emoji、图片生成
RealFaviconGenerator realfavicongenerator.net 最专业,生成全平台格式
Canva canva.com 有favicon模板,可以在线设计

RealFaviconGenerator的使用步骤:

  • 上传你的Logo图片
  • 调整设计(颜色、边距等)
  • 一键生成所有平台的favicon
  • 下载打包好的文件
  • 按照说明放到网站目录,加上HTML代码
  • 这个工具会生成ICO、PNG、苹果图标、安卓图标等全套文件,并且给出对应的HTML代码,非常方便。

    4.2 方法二:用设计软件自己做

    如果你有设计基础,可以用Photoshop、Figma、Sketch等软件自己设计。

    制作步骤:

  • 新建画布,尺寸 512×512 像素(方便缩放)
  • 设计你的图标
  • 导出为PNG格式
  • 需要ICO格式的话,用在线工具把PNG转成ICO
  • 设计要点提醒:

    • 设计时用大尺寸(比如512×512),最后缩小
    • 缩小到16×16检查效果
    • 确保小尺寸下依然清晰可辨
    • 背景透明或者用纯色背景

    4.3 方法三:用文字或emoji快速做一个

    如果你暂时没有Logo,也可以用文字或emoji快速做一个favicon。

    比如 favicon.io 这个网站,你输入一个字母或选一个emoji,它就能帮你生成好看的favicon。

    适合个人项目、Demo、临时站点。

    4.4 PNG转ICO

    有了PNG图片,如果还需要ICO格式,可以用在线工具转换:

    • ConvertICO:convertico.com
    • ICO Convert:icoconvert.com

    上传PNG,选择尺寸,下载ICO文件,就这么简单。


    五、favicon不显示的常见原因

    加了favicon但浏览器不显示?这是初学者经常遇到的问题。下面是常见的原因和解决方法。

    5.1 路径不对

    这是最常见的原因。路径写错了,浏览器找不到图标文件。

    排查方法:

  • 打开浏览器开发者工具 → Network面板
  • 刷新页面
  • 看看favicon的请求是不是404
  • 如果是404,说明路径错了
  • 解决方法:

    • 检查文件名是否正确(注意大小写,Linux服务器区分大小写)
    • 用绝对路径(/favicon.ico)比相对路径更保险
    • 确保文件上传到了正确的目录

    5.2 浏览器缓存

    浏览器会缓存favicon,而且缓存时间特别长。有时候你更新了favicon,但浏览器还是显示旧的,因为读取的是缓存。

    解决方法:

  • 强制刷新:按 Ctrl+F5 或 Ctrl+Shift+R 强制刷新页面
  • 清缓存:清除浏览器缓存
  • 加版本号:给favicon的URL加个查询参数,强制浏览器重新加载:<link rel="icon" href="/favicon.ico?v=2">
    修改 v=2 为 v=3、v=4,每次更新都改一下版本号
  • 换个浏览器或隐身模式:用新的浏览器窗口测试
  • 5.3 格式不对

    • 文件扩展名是 .ico 但实际上是PNG格式(改了个后缀名而已)
    • 图片损坏了
    • 图片太大(虽然一般都能显示,但不建议超过100KB)

    解决方法:

    • 用正规工具生成ICO文件
    • 确保图片文件完好
    • 加上 type 属性明确告诉浏览器文件类型

    5.4 本地文件直接打开

    如果你是直接双击HTML文件(用 file:// 协议打开),有些浏览器可能不会加载favicon。

    解决方法:

    • 用Live Server等本地服务器启动网页
    • 上传到服务器上测试

    5.5 浏览器不支持

    极少数很老的浏览器不支持PNG格式的favicon。

    解决方法:

    • 同时提供ICO格式作为兜底
    • 如果不需要兼容特别老的浏览器,只用PNG也可以

    六、favicon的趣闻和冷知识

    6.1 favicon请求的副作用

    浏览器会自动请求 /favicon.ico,即使你的HTML里没有写link标签。这会带来一些小影响:

    • 服务器会多一个请求
    • 如果没有favicon文件,服务器会记录一个404错误日志
    • 对于访问量大的网站,这也是一笔不小的流量

    所以,哪怕你觉得favicon不重要,也最好放一个,哪怕是个1像素的透明图,避免大量的404请求。

    6.2 动态favicon

    favicon也可以用JavaScript动态修改。比如:

    // 创建一个新的link元素
    const link = document.createElement('link');
    link.rel = 'icon';
    link.href = 'new-favicon.png';
    document.head.appendChild(link);

    应用场景:

    • 有新消息时,favicon显示红点或数字
    • 深色模式/浅色模式切换不同的favicon
    • 节日换个节日主题的favicon

    6.3 emoji做favicon

    现在很多浏览器支持用SVG做favicon,而SVG中可以包含文字。所以你甚至可以用emoji作为favicon:

    <link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🚀</text></svg>">

    一行代码,用一个emoji当favicon,适合快速原型和个人项目。


    七、最佳实践总结

    最后,我们来总结一下favicon的最佳实践:

    #mermaid-svg-y7OFUy3GWiDxyp4r{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-y7OFUy3GWiDxyp4r .error-icon{fill:#552222;}#mermaid-svg-y7OFUy3GWiDxyp4r .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-y7OFUy3GWiDxyp4r .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-y7OFUy3GWiDxyp4r .marker{fill:#333333;stroke:#333333;}#mermaid-svg-y7OFUy3GWiDxyp4r .marker.cross{stroke:#333333;}#mermaid-svg-y7OFUy3GWiDxyp4r svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-y7OFUy3GWiDxyp4r p{margin:0;}#mermaid-svg-y7OFUy3GWiDxyp4r .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster-label text{fill:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster-label span{color:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster-label span p{background-color:transparent;}#mermaid-svg-y7OFUy3GWiDxyp4r .label text,#mermaid-svg-y7OFUy3GWiDxyp4r span{fill:#333;color:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r .node rect,#mermaid-svg-y7OFUy3GWiDxyp4r .node circle,#mermaid-svg-y7OFUy3GWiDxyp4r .node ellipse,#mermaid-svg-y7OFUy3GWiDxyp4r .node polygon,#mermaid-svg-y7OFUy3GWiDxyp4r .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-y7OFUy3GWiDxyp4r .rough-node .label text,#mermaid-svg-y7OFUy3GWiDxyp4r .node .label text,#mermaid-svg-y7OFUy3GWiDxyp4r .image-shape .label,#mermaid-svg-y7OFUy3GWiDxyp4r .icon-shape .label{text-anchor:middle;}#mermaid-svg-y7OFUy3GWiDxyp4r .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-y7OFUy3GWiDxyp4r .rough-node .label,#mermaid-svg-y7OFUy3GWiDxyp4r .node .label,#mermaid-svg-y7OFUy3GWiDxyp4r .image-shape .label,#mermaid-svg-y7OFUy3GWiDxyp4r .icon-shape .label{text-align:center;}#mermaid-svg-y7OFUy3GWiDxyp4r .node.clickable{cursor:pointer;}#mermaid-svg-y7OFUy3GWiDxyp4r .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-y7OFUy3GWiDxyp4r .arrowheadPath{fill:#333333;}#mermaid-svg-y7OFUy3GWiDxyp4r .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-y7OFUy3GWiDxyp4r .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-y7OFUy3GWiDxyp4r .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-y7OFUy3GWiDxyp4r .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-y7OFUy3GWiDxyp4r .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-y7OFUy3GWiDxyp4r .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster text{fill:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r .cluster span{color:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-y7OFUy3GWiDxyp4r .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-y7OFUy3GWiDxyp4r rect.text{fill:none;stroke-width:0;}#mermaid-svg-y7OFUy3GWiDxyp4r .icon-shape,#mermaid-svg-y7OFUy3GWiDxyp4r .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-y7OFUy3GWiDxyp4r .icon-shape p,#mermaid-svg-y7OFUy3GWiDxyp4r .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-y7OFUy3GWiDxyp4r .icon-shape .label rect,#mermaid-svg-y7OFUy3GWiDxyp4r .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-y7OFUy3GWiDxyp4r .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-y7OFUy3GWiDxyp4r .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-y7OFUy3GWiDxyp4r :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}

    favicon最佳实践

    必须有

    多格式

    设计简洁

    品牌统一

    放置规范

    再小的网站也要有favicon这是专业度的体现

    ICO+PNG双保险覆盖所有浏览器

    移动端也要考虑

    缩小了也能看清

    不要太复杂

    和品牌Logo风格一致

    颜色呼应网站主题

    放在根目录

    用link标签指定

  • 每个网站都要有favicon:这是专业和用心的体现
  • 推荐ICO + PNG双格式:兼顾兼容性和清晰度
  • 设计简洁清晰:小尺寸下也要能看清
  • 移动端不要忘记:加上apple-touch-icon
  • 放在根目录 + link标签指定:双重保险
  • 更新后记得清缓存:加版本号是个好习惯

  • 八、结语

    favicon是一个很小的东西——小到只有16个像素见方。但它又是一个很重要的东西——重要到每个网站都应该有自己的favicon。

    就像我们常说的:细节决定品质。 一个小小的favicon,反映的是开发者对细节的追求,以及对用户体验的重视。

    学到这里,你的HTML页面已经有了标题、描述、图标——越来越像一个真正的网站了。

    下一篇文章,我们将学习如何在HTML中引入外部资源,比如CSS样式表和JavaScript脚本。这是从单文件到完整项目的重要一步。

    学习提示:建议你给自己的个人网页也做一个favicon。不需要多复杂,哪怕用一个首字母或者一个emoji都行。做的过程中你会对favicon有更深的理解。


    本文是《HTML从入门到精通》专栏的第19篇文章。如果你觉得这篇文章对你有帮助,欢迎继续阅读后续文章,和我一起系统地学习HTML,从入门走向精通。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 网页图标favicon:如何给网站加上小图标?
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!