Appearance
常用参考文档
emmet 语法
简介
- Emmet 语法的前身是 Zen coding,它使用缩写,来提高 html/css 的编写速度,Vscode 内部已经集成该语法。
- 快速生成 HTML 结构语法
- 快速生成 CSS 样式语法
快速生成HTML结构语法
html 初始结构
输入!,再按 tab 键。这样可以快速生成基础的结构
生成元素
生成标签,直接输入标签名,按 tab/enter 键即可。比如输入div然后按 tab 键,就可以生成<div></div>
带 id 属性的元素
id的指令:#。输入元素名#id名,再按tab/enther键。
html
<!-- div#test -->
<div id="test"></div>带 class 属性的元素
class的指令:.。输入元素名.class名,再按tab/enther键。
html
<!-- div.test -->
<div class="test"></div>父子节点元素
生成父子节点关系元素的指令:>。输入父元素名>子元素名,再按tab/enther键。比如ul > li即可
html
<!-- div>ul>li>p -->
<div>
<ul>
<li>
<p></p>
</li>
</ul>
</div>兄弟节点元素
生成带兄弟节点元素的指令:+。输入元素名+兄弟元素名,再按tab/enther键。比如div+p
html
<!-- div+ul+p -->
<div></div>
<ul></ul>
<p></p>上级节点元素
生成带上级节点元素的指令:^。输入元素名^上级元素名,再按tab/enther键。
html
<!-- div>ul>li^div
这里的^是接在li后面所以在li的上一级,与ul成了兄弟关系,当然两个^^就是上上级
-->
<div>
<ul>
<li></li>
</ul>
<div></div>
</div>重复元素
生成重复元素的指令:*。输入元素名*个数,再按tab/enther键。
html
<!-- div*5 -->
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>分组元素
生成多个相同标签的指令:()。输入元素名>(分组元素..)>元素名,再按tab/enther键。比如输入div*3就可以快速生成3个div
html
<!-- 分组分成元素 div>(ul>li>a)+div>p
()括号里面的内容为一个代码块,表示与括号内部嵌套和外面的的层级无关
-->
<div>
<ul>
<li><a href=""></a></li>
</ul>
<div>
<p></p>
</div>
</div>带属性元素
生成带属性元素的指令:[attr=xxx]。输入元素名[属性1=xxx ... 属性n=xxx],再按tab/enther键。
注:中括号内填写属性键值对的形式,并且空格隔开
html
<!-- a[href='###' name='xiaoA']
中括号内填写属性键值对的形式,并且空格隔开
-->
<a href="###" name="xiaoA"></a>属性名自增编号
如果生成的元素类名是有顺序的,可以用自增符号$,如输入.demo$*5再按tab键,生成5个div,类名分别叫demo1,demo2,...demo5
html
<!-- ul>li.test$*3 -->
<ul>
<li class="test1"></li>
<li class="test2"></li>
<li class="test3"></li>
</ul>值得注意:一个$代表一位数。如果需要自定义从某个数值开始递增的话可以:元素名$@数字*元素个数。例如:ul>li.test$@3*3
html
<!-- ul>li.test$@3*3 -->
<ul>
<li class="test3"></li>
<li class="test4"></li>
<li class="test5"></li>
</ul>带文本的元素
生成带文本元素指令:{},输入元素名{标签体文本内容},再按tab/enther键。
html
<!-- ul>li.test$*3{测试$} -->
<ul>
<li class="test1">测试1</li>
<li class="test2">测试2</li>
<li class="test3">测试3</li>
</ul>隐式标签
这个标签没有指令,而是部分标签可以不使用输入标签,默认生成<div>标签 例如:.test。直接输入指令,即可识别父类标签。如下
- 可在 ul 和 ol 中使用
- 可在select中使用
- tr:可在 table、tbody、thead 和 tfoot 中使用
- td:可在 tr 中使用
html
<!-- .test -->
<div class="test"></div>
<!-- li: 可在ul 和 ol 中使用 例如:ul>.test$*3 -->
<ul>
<li class="test1"></li>
<li class="test2"></li>
<li class="test3"></li>
</ul>
<!-- option:可在select中使用例如:select>.test$*5 -->
<select name="" id="">
<option class="test1"></option>
<option class="test2"></option>
<option class="test3"></option>
<option class="test4"></option>
<option class="test5"></option>
</select>快速生成CSS样式语法
CSS 基本采取简写形式即可
- 比如
w200按tab可以生成width: 200px; - 比如
lh26px按tab可以生成line-height: 26px;
快速格式化代码(vsCode)
VSCode 快速格式化代码:shift+alt+f
也可以设置保存页面的时候自动格式化代码:
- 【文件】-->【首选项】-->【设置】
- 搜索emmet.include
- 在settings.json下的【工作区设置】中添加以下语句:
json
"editor.formatOnType": true,
"editor.formatOnSave": true百度地图测试示例
html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";font-size:14px;}
#allmap {width:100%;height:500px;}
</style>
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=你的ak"></script>
<title>逆地址解析</title>
</head>
<body>
<!-- 地图渲染 -->
<div id="allmap"></div>
<p>点击地图展示详细地址</p>
<!-- 渲染结果搜索列表 -->
<div id="r-result"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,17);
// 创建地址解析器实例
var myGeo = new BMap.Geocoder();
// 将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("广东省广州市西华新村北", function(point){
if (point) {
map.centerAndZoom(point, 17);
map.addOverlay(new BMap.Marker(point));
myGeo.getLocation(point, function(rs){
var address = rs.address;
var addComp = rs.addressComponents;
var list = rs.surroundingPois;
console.log("当前搜索的地址描述address ==> ",address);
console.log("相关的地址信息 ==> ",addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
// 将当前的地址加到集合中
list.unshift({point:point, title: address});
list.forEach(e => {
// 将列表中的所有POI打上标记
map.addOverlay(new BMap.Marker(e.point));
console.log("title ==> ", e.title);
console.log("point ==> ", "point:lng=" + e.point.lng + ",lat=" + e.point.lat);
console.log("address ==> ", e.address);
});
});
// 关键字搜索
// var myKeys = ["车陂南"];
// var local = new BMap.LocalSearch(map, {
// renderOptions:{map: map, panel:"r-result"},
// pageCapacity:5
// });
// local.searchInBounds(myKeys, map.getBounds());
}else{
alert("您选择地址没有解析到结果!");
}
}, "广州市");
</script>