[{"data":1,"prerenderedAt":1430},["ShallowReactive",2],{"doc-\u002Fdocs\u002Fhtml-basics":3,"docs-all":1331},{"id":4,"title":5,"body":6,"category":1317,"date":1318,"description":1319,"draft":1320,"extension":1321,"meta":1322,"navigation":910,"path":1323,"seo":1324,"source":1325,"stem":1326,"tags":1327,"__hash__":1330},"docs\u002Fdocs\u002Fhtml-basics.md","HTML 基础笔记",{"type":7,"value":8,"toc":1299},"minimark",[9,14,42,46,58,62,123,253,281,284,398,401,407,482,487,502,505,540,554,557,585,631,634,637,681,684,687,758,762,831,837,842,867,870,873,995,998,1001,1004,1010,1052,1055,1065,1152,1155,1197,1200,1224,1235,1239,1253,1260,1279,1295],[10,11,13],"h1",{"id":12},"html-基础","HTML 基础",[15,16,17,29,35],"ul",{},[18,19,20,24,25,28],"li",{},[21,22,23],"strong",{},"网站","是网页的集合，",[21,26,27],{},"网页","是 HTML 格式文件，通过浏览器阅读，是构成网站的基本元素。",[18,30,31,34],{},[21,32,33],{},"HTML","（超文本标记语言）是一套标记标签。",[18,36,37,38,41],{},"核心思想：",[21,39,40],{},"结构、样式、行为相分离","。",[43,44,45],"h2",{"id":45},"语法规范",[47,48,49,50,53,54,57],"p",{},"标签之间只有两种关系：",[21,51,52],{},"包含关系","（父子）与",[21,55,56],{},"并列关系","（兄弟）。",[59,60,61],"h3",{"id":61},"文档结构",[63,64,65,78],"table",{},[66,67,68],"thead",{},[69,70,71,75],"tr",{},[72,73,74],"th",{},"标签",[72,76,77],{},"说明",[79,80,81,93,103,113],"tbody",{},[69,82,83,90],{},[84,85,86],"td",{},[87,88,89],"code",{},"\u003Chtml>",[84,91,92],{},"根标签",[69,94,95,100],{},[84,96,97],{},[87,98,99],{},"\u003Chead>",[84,101,102],{},"文档头部",[69,104,105,110],{},[84,106,107],{},[87,108,109],{},"\u003Ctitle>",[84,111,112],{},"文档标题",[69,114,115,120],{},[84,116,117],{},[87,118,119],{},"\u003Cbody>",[84,121,122],{},"主体标签",[124,125,130],"pre",{"className":126,"code":127,"language":128,"meta":129,"style":129},"language-html shiki shiki-themes github-light github-dark","\u003C!DOCTYPE html>\n\u003Chtml lang=\"zh-CN\">\n  \u003Chead>\n    \u003Cmeta charset=\"UTF-8\" \u002F>\n    \u003Ctitle>文档标题\u003C\u002Ftitle>\n  \u003C\u002Fhead>\n  \u003Cbody>\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","html","",[87,131,132,152,172,183,203,218,228,243],{"__ignoreMap":129},[133,134,137,141,145,149],"span",{"class":135,"line":136},"line",1,[133,138,140],{"class":139},"sVt8B","\u003C!",[133,142,144],{"class":143},"s9eBZ","DOCTYPE",[133,146,148],{"class":147},"sScJk"," html",[133,150,151],{"class":139},">\n",[133,153,155,158,160,163,166,170],{"class":135,"line":154},2,[133,156,157],{"class":139},"\u003C",[133,159,128],{"class":143},[133,161,162],{"class":147}," lang",[133,164,165],{"class":139},"=",[133,167,169],{"class":168},"sZZnC","\"zh-CN\"",[133,171,151],{"class":139},[133,173,175,178,181],{"class":135,"line":174},3,[133,176,177],{"class":139},"  \u003C",[133,179,180],{"class":143},"head",[133,182,151],{"class":139},[133,184,186,189,192,195,197,200],{"class":135,"line":185},4,[133,187,188],{"class":139},"    \u003C",[133,190,191],{"class":143},"meta",[133,193,194],{"class":147}," charset",[133,196,165],{"class":139},[133,198,199],{"class":168},"\"UTF-8\"",[133,201,202],{"class":139}," \u002F>\n",[133,204,206,208,211,214,216],{"class":135,"line":205},5,[133,207,188],{"class":139},[133,209,210],{"class":143},"title",[133,212,213],{"class":139},">文档标题\u003C\u002F",[133,215,210],{"class":143},[133,217,151],{"class":139},[133,219,221,224,226],{"class":135,"line":220},6,[133,222,223],{"class":139},"  \u003C\u002F",[133,225,180],{"class":143},[133,227,151],{"class":139},[133,229,231,233,236,239,241],{"class":135,"line":230},7,[133,232,177],{"class":139},[133,234,235],{"class":143},"body",[133,237,238],{"class":139},">\u003C\u002F",[133,240,235],{"class":143},[133,242,151],{"class":139},[133,244,246,249,251],{"class":135,"line":245},8,[133,247,248],{"class":139},"\u003C\u002F",[133,250,128],{"class":143},[133,252,151],{"class":139},[15,254,255,261,275],{},[18,256,257,260],{},[87,258,259],{},"\u003C!DOCTYPE>","：文档类型声明标签。",[18,262,263,266,267,270,271,274],{},[87,264,265],{},"lang","：语言种类，",[87,268,269],{},"en"," 为英文、",[87,272,273],{},"zh-CN"," 为中文。",[18,276,277,280],{},[87,278,279],{},"charset","：字符集。",[43,282,283],{"id":283},"常用标签",[63,285,286,295],{},[66,287,288],{},[69,289,290,292],{},[72,291,74],{},[72,293,294],{},"含义",[79,296,297,311,321,331,345,358,368,378,388],{},[69,298,299,308],{},[84,300,301,304,305],{},[87,302,303],{},"\u003Ch1>"," ~ ",[87,306,307],{},"\u003Ch6>",[84,309,310],{},"标题标签，head 缩写",[69,312,313,318],{},[84,314,315],{},[87,316,317],{},"\u003Cp>",[84,319,320],{},"段落标签",[69,322,323,328],{},[84,324,325],{},[87,326,327],{},"\u003Cbr\u002F>",[84,329,330],{},"换行",[69,332,333,342],{},[84,334,335,338,339],{},[87,336,337],{},"\u003Cstrong>"," \u002F ",[87,340,341],{},"\u003Cb>",[84,343,344],{},"加粗",[69,346,347,355],{},[84,348,349,338,352],{},[87,350,351],{},"\u003Cem>",[87,353,354],{},"\u003Ci>",[84,356,357],{},"倾斜",[69,359,360,365],{},[84,361,362],{},[87,363,364],{},"\u003Cdel>",[84,366,367],{},"删除线",[69,369,370,375],{},[84,371,372],{},[87,373,374],{},"\u003Cins>",[84,376,377],{},"插入内容，默认渲染为下划线",[69,379,380,385],{},[84,381,382],{},[87,383,384],{},"\u003Cdiv>",[84,386,387],{},"块级盒子（分区）",[69,389,390,395],{},[84,391,392],{},[87,393,394],{},"\u003Cspan>",[84,396,397],{},"行内盒子",[59,399,400],{"id":400},"图像标签",[47,402,403,406],{},[87,404,405],{},"\u003Cimg>"," 是 image 的缩写。属性写在标签名后面，可以同时拥有多个。",[63,408,409,418],{},[66,410,411],{},[69,412,413,416],{},[72,414,415],{},"属性",[72,417,77],{},[79,419,420,433,443,452,462,472],{},[69,421,422,427],{},[84,423,424],{},[87,425,426],{},"src",[84,428,429,430],{},"图片路径，",[21,431,432],{},"必须属性",[69,434,435,440],{},[84,436,437],{},[87,438,439],{},"alt",[84,441,442],{},"图像无法显示时替换的文字",[69,444,445,449],{},[84,446,447],{},[87,448,210],{},[84,450,451],{},"鼠标悬停时显示的文字",[69,453,454,459],{},[84,455,456],{},[87,457,458],{},"width",[84,460,461],{},"图像宽度",[69,463,464,469],{},[84,465,466],{},[87,467,468],{},"height",[84,470,471],{},"图像高度",[69,473,474,479],{},[84,475,476],{},[87,477,478],{},"border",[84,480,481],{},"图像边框粗细",[47,483,484],{},[21,485,486],{},"路径规则",[15,488,489,499],{},[18,490,491,492,495,496],{},"相对路径：同级或下一级用 ",[87,493,494],{},".\u002F","，上一级用 ",[87,497,498],{},"..\u002F",[18,500,501],{},"绝对路径：具体盘符，或完整的网络地址",[59,503,504],{"id":504},"超链接",[124,506,508],{"className":126,"code":507,"language":128,"meta":129,"style":129},"\u003Ca href=\"https:\u002F\u002Fexample.com\" target=\"_blank\">新窗口打开\u003C\u002Fa>\n",[87,509,510],{"__ignoreMap":129},[133,511,512,514,517,520,522,525,528,530,533,536,538],{"class":135,"line":136},[133,513,157],{"class":139},[133,515,516],{"class":143},"a",[133,518,519],{"class":147}," href",[133,521,165],{"class":139},[133,523,524],{"class":168},"\"https:\u002F\u002Fexample.com\"",[133,526,527],{"class":147}," target",[133,529,165],{"class":139},[133,531,532],{"class":168},"\"_blank\"",[133,534,535],{"class":139},">新窗口打开\u003C\u002F",[133,537,516],{"class":143},[133,539,151],{"class":139},[15,541,542,548],{},[18,543,544,547],{},[87,545,546],{},"href","：URL 地址",[18,549,550,553],{},[87,551,552],{},"target=\"_blank\"","：在新窗口跳转",[47,555,556],{},"常见用法：",[15,558,559,565,579],{},[18,560,561,564],{},[21,562,563],{},"内部链接","：站内页面之间跳转",[18,566,567,570,571,574,575,578],{},[21,568,569],{},"下载链接","：地址指向 ",[87,572,573],{},".exe","、",[87,576,577],{},".zip"," 等文件",[18,580,581,584],{},[21,582,583],{},"锚点链接","：快速定位到页面中的某个位置",[124,586,588],{"className":126,"code":587,"language":128,"meta":129,"style":129},"\u003Ca href=\"#id\">跳转\u003C\u002Fa>\n\u003Ch3 id=\"id\">目标位置\u003C\u002Fh3>\n",[87,589,590,610],{"__ignoreMap":129},[133,591,592,594,596,598,600,603,606,608],{"class":135,"line":136},[133,593,157],{"class":139},[133,595,516],{"class":143},[133,597,519],{"class":147},[133,599,165],{"class":139},[133,601,602],{"class":168},"\"#id\"",[133,604,605],{"class":139},">跳转\u003C\u002F",[133,607,516],{"class":143},[133,609,151],{"class":139},[133,611,612,614,616,619,621,624,627,629],{"class":135,"line":154},[133,613,157],{"class":139},[133,615,59],{"class":143},[133,617,618],{"class":147}," id",[133,620,165],{"class":139},[133,622,623],{"class":168},"\"id\"",[133,625,626],{"class":139},">目标位置\u003C\u002F",[133,628,59],{"class":143},[133,630,151],{"class":139},[47,632,633],{},"网页中各种元素都可以添加超链接。",[59,635,636],{"id":636},"特殊字符",[63,638,639,649],{},[66,640,641],{},[69,642,643,646],{},[72,644,645],{},"字符",[72,647,648],{},"实体",[79,650,651,661,671],{},[69,652,653,656],{},[84,654,655],{},"空格",[84,657,658],{},[87,659,660],{},"&nbsp;",[69,662,663,666],{},[84,664,665],{},"小于号",[84,667,668],{},[87,669,670],{},"&lt;",[69,672,673,676],{},[84,674,675],{},"大于号",[84,677,678],{},[87,679,680],{},"&gt;",[43,682,683],{"id":683},"表格",[47,685,686],{},"用于显示、展示数据。",[63,688,689,697],{},[66,690,691],{},[69,692,693,695],{},[72,694,74],{},[72,696,77],{},[79,698,699,708,718,728,738,748],{},[69,700,701,706],{},[84,702,703],{},[87,704,705],{},"\u003Ctable>",[84,707,683],{},[69,709,710,715],{},[84,711,712],{},[87,713,714],{},"\u003Ctr>",[84,716,717],{},"定义行",[69,719,720,725],{},[84,721,722],{},[87,723,724],{},"\u003Ctd>",[84,726,727],{},"定义单元格",[69,729,730,735],{},[84,731,732],{},[87,733,734],{},"\u003Cth>",[84,736,737],{},"表头单元格",[69,739,740,745],{},[84,741,742],{},[87,743,744],{},"\u003Cthead>",[84,746,747],{},"表头区域",[69,749,750,755],{},[84,751,752],{},[87,753,754],{},"\u003Ctbody>",[84,756,757],{},"主体区域",[47,759,760],{},[21,761,415],{},[63,763,764,772],{},[66,765,766],{},[69,767,768,770],{},[72,769,415],{},[72,771,77],{},[79,773,774,793,802,812,822],{},[69,775,776,781],{},[84,777,778],{},[87,779,780],{},"align",[84,782,783,784,338,787,338,790],{},"表格元素的对齐方式：",[87,785,786],{},"left",[87,788,789],{},"center",[87,791,792],{},"right",[69,794,795,799],{},[84,796,797],{},[87,798,478],{},[84,800,801],{},"单元格边框，默认没有",[69,803,804,809],{},[84,805,806],{},[87,807,808],{},"cellpadding",[84,810,811],{},"单元格内容与边框的空白",[69,813,814,819],{},[84,815,816],{},[87,817,818],{},"cellspacing",[84,820,821],{},"单元格之间的空白，默认 2 像素",[69,823,824,828],{},[84,825,826],{},[87,827,458],{},[84,829,830],{},"表格宽度",[832,833,834],"blockquote",{},[47,835,836],{},"这几个是 HTML4 的表现型属性，在 HTML5 中已废弃，现代开发一律改用 CSS 控制。",[47,838,839],{},[21,840,841],{},"合并单元格",[15,843,844,855,864],{},[18,845,846,847,850,851,854],{},"跨行 ",[87,848,849],{},"rowspan=\"合并单元格的个数\"","，在",[21,852,853],{},"最上侧","写合并代码",[18,856,857,858,850,861,854],{},"跨列 ",[87,859,860],{},"colspan=\"合并单元格的个数\"",[21,862,863],{},"最左侧",[18,865,866],{},"合并之后要删除多余的单元格",[43,868,869],{"id":869},"列表标签",[47,871,872],{},"也可以用来布局。",[124,874,876],{"className":126,"code":875,"language":128,"meta":129,"style":129},"\u003C!-- 无序列表 -->\n\u003Cul>\u003Cli>列表项\u003C\u002Fli>\u003C\u002Ful>\n\n\u003C!-- 有序列表 -->\n\u003Col>\u003Cli>列表项\u003C\u002Fli>\u003C\u002Fol>\n\n\u003C!-- 自定义列表：一个 dt 可对应多个 dd -->\n\u003Cdl>\n  \u003Cdt>名词\u003C\u002Fdt>\n  \u003Cdd>名词解释\u003C\u002Fdd>\n\u003C\u002Fdl>\n",[87,877,878,884,906,912,917,938,942,947,956,971,986],{"__ignoreMap":129},[133,879,880],{"class":135,"line":136},[133,881,883],{"class":882},"sJ8bj","\u003C!-- 无序列表 -->\n",[133,885,886,888,890,893,895,898,900,902,904],{"class":135,"line":154},[133,887,157],{"class":139},[133,889,15],{"class":143},[133,891,892],{"class":139},">\u003C",[133,894,18],{"class":143},[133,896,897],{"class":139},">列表项\u003C\u002F",[133,899,18],{"class":143},[133,901,238],{"class":139},[133,903,15],{"class":143},[133,905,151],{"class":139},[133,907,908],{"class":135,"line":174},[133,909,911],{"emptyLinePlaceholder":910},true,"\n",[133,913,914],{"class":135,"line":185},[133,915,916],{"class":882},"\u003C!-- 有序列表 -->\n",[133,918,919,921,924,926,928,930,932,934,936],{"class":135,"line":205},[133,920,157],{"class":139},[133,922,923],{"class":143},"ol",[133,925,892],{"class":139},[133,927,18],{"class":143},[133,929,897],{"class":139},[133,931,18],{"class":143},[133,933,238],{"class":139},[133,935,923],{"class":143},[133,937,151],{"class":139},[133,939,940],{"class":135,"line":220},[133,941,911],{"emptyLinePlaceholder":910},[133,943,944],{"class":135,"line":230},[133,945,946],{"class":882},"\u003C!-- 自定义列表：一个 dt 可对应多个 dd -->\n",[133,948,949,951,954],{"class":135,"line":245},[133,950,157],{"class":139},[133,952,953],{"class":143},"dl",[133,955,151],{"class":139},[133,957,959,961,964,967,969],{"class":135,"line":958},9,[133,960,177],{"class":139},[133,962,963],{"class":143},"dt",[133,965,966],{"class":139},">名词\u003C\u002F",[133,968,963],{"class":143},[133,970,151],{"class":139},[133,972,974,976,979,982,984],{"class":135,"line":973},10,[133,975,177],{"class":139},[133,977,978],{"class":143},"dd",[133,980,981],{"class":139},">名词解释\u003C\u002F",[133,983,978],{"class":143},[133,985,151],{"class":139},[133,987,989,991,993],{"class":135,"line":988},11,[133,990,248],{"class":139},[133,992,953],{"class":143},[133,994,151],{"class":139},[43,996,997],{"id":997},"表单",[47,999,1000],{},"作用是收集信息。",[59,1002,1003],{"id":1003},"表单域",[47,1005,1006,1009],{},[87,1007,1008],{},"\u003Cform>"," 把它范围内的表单信息提交给服务器。",[124,1011,1013],{"className":126,"code":1012,"language":128,"meta":129,"style":129},"\u003Cform action=\"url地址\" method=\"get\u002Fpost\" name=\"表单域名称\">\u003C\u002Fform>\n",[87,1014,1015],{"__ignoreMap":129},[133,1016,1017,1019,1022,1025,1027,1030,1033,1035,1038,1041,1043,1046,1048,1050],{"class":135,"line":136},[133,1018,157],{"class":139},[133,1020,1021],{"class":143},"form",[133,1023,1024],{"class":147}," action",[133,1026,165],{"class":139},[133,1028,1029],{"class":168},"\"url地址\"",[133,1031,1032],{"class":147}," method",[133,1034,165],{"class":139},[133,1036,1037],{"class":168},"\"get\u002Fpost\"",[133,1039,1040],{"class":147}," name",[133,1042,165],{"class":139},[133,1044,1045],{"class":168},"\"表单域名称\"",[133,1047,238],{"class":139},[133,1049,1021],{"class":143},[133,1051,151],{"class":139},[59,1053,1054],{"id":1054},"表单元素",[47,1056,1057,1060,1061,1064],{},[87,1058,1059],{},"\u003Cinput>"," 是输入表单元素，",[87,1062,1063],{},"type"," 决定它的形态：",[63,1066,1067,1076],{},[66,1068,1069],{},[69,1070,1071,1074],{},[72,1072,1073],{},"值",[72,1075,77],{},[79,1077,1078,1088,1102,1112,1122,1132,1142],{},[69,1079,1080,1085],{},[84,1081,1082],{},[87,1083,1084],{},"text",[84,1086,1087],{},"文本框，用户可以输入任何文字",[69,1089,1090,1095],{},[84,1091,1092],{},[87,1093,1094],{},"radio",[84,1096,1097,1098,1101],{},"单选按钮，",[87,1099,1100],{},"name"," 值相同即可实现多选一",[69,1103,1104,1109],{},[84,1105,1106],{},[87,1107,1108],{},"checkbox",[84,1110,1111],{},"复选框，可以实现多选",[69,1113,1114,1119],{},[84,1115,1116],{},[87,1117,1118],{},"submit",[84,1120,1121],{},"提交按钮，把表单域内所有表单元素的值提交给后台服务器",[69,1123,1124,1129],{},[84,1125,1126],{},[87,1127,1128],{},"reset",[84,1130,1131],{},"重置按钮，还原表单元素的初始默认值",[69,1133,1134,1139],{},[84,1135,1136],{},[87,1137,1138],{},"button",[84,1140,1141],{},"普通按钮",[69,1143,1144,1149],{},[84,1145,1146],{},[87,1147,1148],{},"file",[84,1150,1151],{},"文件域，上传文件",[47,1153,1154],{},"其他常用属性：",[63,1156,1157,1165],{},[66,1158,1159],{},[69,1160,1161,1163],{},[72,1162,415],{},[72,1164,77],{},[79,1166,1167,1177,1187],{},[69,1168,1169,1174],{},[84,1170,1171],{},[87,1172,1173],{},"value",[84,1175,1176],{},"规定 input 元素的值",[69,1178,1179,1184],{},[84,1180,1181],{},[87,1182,1183],{},"checked",[84,1185,1186],{},"页面打开时默认选中",[69,1188,1189,1194],{},[84,1190,1191],{},[87,1192,1193],{},"maxlength",[84,1195,1196],{},"输入字符的最大长度",[59,1198,1199],{"id":1199},"其他表单元素",[15,1201,1202,1208,1218],{},[18,1203,1204,1207],{},[87,1205,1206],{},"\u003Clabel>","：绑定一个表单元素，点击后自动聚焦",[18,1209,1210,1213,1214,1217],{},[87,1211,1212],{},"\u003Cselect>","：下拉表单元素，选项用 ",[87,1215,1216],{},"selected"," 设为默认选中",[18,1219,1220,1223],{},[87,1221,1222],{},"\u003Ctextarea>","：文本域表单元素",[832,1225,1226],{},[47,1227,1228,1229,1231,1232,1234],{},"所有表单元素都要包含在 ",[87,1230,1008],{}," 表单域里面，并且需要有 ",[87,1233,1100],{}," 属性。",[43,1236,1238],{"id":1237},"html5-新增元素","HTML5 新增元素",[47,1240,1241,574,1244,574,1247,574,1250,41],{},[87,1242,1243],{},"video",[87,1245,1246],{},"audio",[87,1248,1249],{},"canvas",[87,1251,1252],{},"svg",[47,1254,1255,1256,1259],{},"其中 ",[87,1257,1258],{},"\u003Ccanvas>"," 有两个容易踩坑的地方：",[15,1261,1262,1269],{},[18,1263,1264,1265,1268],{},"默认宽 300px、高 150px，画布默认是",[21,1266,1267],{},"透明","的。",[18,1270,1271,338,1273,1275,1276,1278],{},[87,1272,458],{},[87,1274,468],{}," ",[21,1277,415],{},"和 CSS 设置的宽高不是一回事。JS 读到的是 DOM 节点上的属性值，而用 CSS 改尺寸只是把已绘制的内容拉伸，会导致图像变形。",[47,1280,1281,1282,1286,1287,1290,1291,41],{},"绘制方案的选型与具体 API 见 ",[516,1283,1285],{"href":1284},"\u002Fdocs\u002Fcanvas-vs-svg","Canvas 与 SVG 绘图方案选型","，",[87,1288,1289],{},"WebSocket"," 见 ",[516,1292,1294],{"href":1293},"\u002Fdocs\u002Fwebsocket-basics","WebSocket 基础",[1296,1297,1298],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":129,"searchDepth":174,"depth":174,"links":1300},[1301,1304,1309,1310,1311,1316],{"id":45,"depth":154,"text":45,"children":1302},[1303],{"id":61,"depth":174,"text":61},{"id":283,"depth":154,"text":283,"children":1305},[1306,1307,1308],{"id":400,"depth":174,"text":400},{"id":504,"depth":174,"text":504},{"id":636,"depth":174,"text":636},{"id":683,"depth":154,"text":683},{"id":869,"depth":154,"text":869},{"id":997,"depth":154,"text":997,"children":1312},[1313,1314,1315],{"id":1003,"depth":174,"text":1003},{"id":1054,"depth":174,"text":1054},{"id":1199,"depth":174,"text":1199},{"id":1237,"depth":154,"text":1238},"fundamentals","2022-06-10","HTML 语法规范、常用标签、表格与表单元素速查。",false,"md",{},"\u002Fdocs\u002Fhtml-basics",{"title":5,"description":1319},"尚学堂前端课程学习笔记（2021—2022）","docs\u002Fhtml-basics",[128,1328,1329],"notes","cheatsheet","CODSfDOeNh15Qb3Ug9jiQu5UURht0XIku23y_kJUmWE",[1332,1344,1352,1358,1364,1371,1380,1385,1393,1398,1404,1408,1415,1422,1428],{"path":1333,"title":1334,"description":1335,"date":1336,"category":1337,"tags":1338},"\u002Fdocs\u002Ffrontend-coding-standards","前端团队编码规范","HTML \u002F CSS \u002F JavaScript 三端统一的团队编码约定，含缩进、命名、语法与禁用项，可直接作为 Code Review 依据。","2025-12-17","standards",[128,1339,1340,1341,1342,1343],"css","javascript","es6","best-practice","guide",{"path":1345,"title":1346,"description":1347,"date":1348,"category":1349,"tags":1350},"\u002Fdocs\u002Fwindows-mklink","Windows mklink 符号链接用法","mklink 各参数区别与实用场景：目录联接、符号链接与硬链接的选择。","2024-12-18","toolchain",[1351,1329],"windows",{"path":1353,"title":1354,"description":1355,"date":1356,"category":1349,"tags":1357},"\u002Fdocs\u002Frandom-color-utils","JS 随机颜色生成方法","几种生成随机 RGB \u002F HEX 颜色的实现方式与各自适用场景。","2024-12-11",[1340,1329],{"path":1284,"title":1285,"description":1359,"date":1360,"category":1361,"tags":1362},"对比 Canvas 与 SVG 两种绘图方案的优缺点与适用场景，给出选型判断依据。","2024-12-09","visualization",[1249,1252,1363,1342],"performance",{"path":1365,"title":1366,"description":1367,"date":1368,"category":1349,"tags":1369},"\u002Fdocs\u002Ffree-commercial-fonts","免费可商用字体整理","整理思源黑体、思源宋体等可商用中文字体，规避字体版权风险。","2024-11-03",[1370,1339,1328],"font",{"path":1372,"title":1373,"description":1374,"date":1368,"category":1375,"tags":1376},"\u002Fdocs\u002Finterview-browser-network","浏览器与网络考点","从输入 URL 到页面呈现的完整链路，涵盖渲染流程、回流重绘、HTTP 报文与状态码、跨域同源策略与常见攻击方式。","interview",[1377,1378,1379,1363,1328],"browser","http","network",{"path":1381,"title":1382,"description":1383,"date":1368,"category":1375,"tags":1384},"\u002Fdocs\u002Finterview-css-layout","CSS 与布局考点","em 与 rem 的区别、移动端三种适配方案对比、viewport 标准设置与 REM 布局的媒体查询实现。",[1339,128,1342,1328],{"path":1386,"title":1387,"description":1388,"date":1368,"category":1375,"tags":1389},"\u002Fdocs\u002Finterview-framework-tooling","框架与工程化考点","React diff 与 setState 机制、Redux 核心组成、Vue 常考清单，以及 Webpack、Vite、Git 的面试要点。",[1390,1340,1391,1392,1328],"vue","webpack","vite",{"path":1394,"title":1395,"description":1396,"date":1368,"category":1375,"tags":1397},"\u002Fdocs\u002Finterview-javascript-core","JavaScript 核心考点","数据类型、this 绑定、闭包、原型链、异步与数组方法，前端面试中 JS 部分的高频考点与代码示例。",[1340,1341,1328],{"path":1399,"title":1400,"description":1401,"date":1368,"category":1317,"tags":1402},"\u002Fdocs\u002Fjs-module-systems","JavaScript 模块化方案","梳理 CommonJS、AMD、ES Module 等模块化方案的差异与使用方式。",[1340,1403,1341,1328],"module-system",{"path":1293,"title":1294,"description":1405,"date":1368,"category":1317,"tags":1406},"WebSocket 全双工通信协议的事件、方法与基本用法整理。",[1407,1379,1340,1328],"websocket",{"path":1409,"title":1410,"description":1411,"date":1412,"category":1361,"tags":1413},"\u002Fdocs\u002Fgojs-getting-started","GoJS 入门实战","从引入方式、画布初始化到节点模板与数据绑定，一份可直接上手的 GoJS 流程图开发笔记。","2024-08-22",[1414,1340,1328],"gojs",{"path":1416,"title":1417,"description":1418,"date":1419,"category":1361,"tags":1420},"\u002Fdocs\u002Fecharts-options-notes","ECharts 配置项速查","整理 ECharts 常用 option 配置：数据格式、坐标轴、图例与交互项的实际用法。","2024-08-09",[1421,1340,1329],"echarts",{"path":1423,"title":1424,"description":1425,"date":1426,"category":1317,"tags":1427},"\u002Fdocs\u002Fhttp-status-codes","HTTP 响应状态码详解","按 1xx 到 5xx 分类梳理 HTTP 状态码的含义与典型使用场景。","2024-06-27",[1378,1379,1329],{"path":1323,"title":5,"description":1319,"date":1318,"category":1317,"tags":1429},[128,1328,1329],1788337378750]