以下
Emmet
语法 基于WebStorm 2023.2
演示
Emmet 是一种缩写语法,旨在简化 HTML 和 CSS 的编写。它基于 CSS 选择器的语法结构,通过输入特定的缩写,可以快速生成 HTML 结构。
Emmet 编写的缩写通常是结合标签名、类名、ID、属性等信息,使用缩写后按下 Tab 键即可展开成完整的 HTML 或 CSS 代码。在您的编码工作中,掌握 Emmet 语法将会是一个非常实用的技能,它能够帮助您更快地编写出规范且高效的代码。
<p>p>
<div>div>
<span>span>
输入对应
标签名 + Tab
补全标签,例如:div + Tab =
<a href="">a>
<img src="" alt="">
<video src="">video>
<audio src="">audio>
输入对应
标签名 + Tab
补全标签,此类标签会生成必要属性,例如a
标签的href
属性
<input type="button" value="">
<input type="radio" name="" id="">
<input type="checkbox" name="" id="">
<input type="file" name="" id="">
<input type="text" name="" id="">
<input type="password" name="" id="">
<input type="color" name="" id="">
<input type="image" src="" alt="">
<input type="range" name="" id="">
<input type="search" name="" id="">
<input type="date" name="" id="">
<input type="month" name="" id="">
<input type="datetime" name="" id="">
<input type="datetime-local" name="" id="">
大多表单标签生成语法均为
input: + 表单类型 + Tab
,例如input:date + Tab =
<textarea name="" id="" cols="30" rows="10">textarea>
<select name="" id="">select>
表单中的特殊标签,例如
textarea
与select
标签等,Emmet
语法与属性标签
使用方法一致
textarea
标签的必要属性会填充默认值
Emmet 语法中,可以使用 .
符号来表示类名,使用 #
符号来表示 ID。
<div class="root">div>
<span class="content">span>
<img src="" alt="" class="logo">
<header id="header">header>
<nav id="navigate">nav>
输入对应
标签名.class + Tab
或标签名#id + Tab
补全对应标签
加class
或id
属性直接写
.class 或 #id
默认生成div
标签
<div>这是一个 divdiv>
输入对应
标签名{text} + Tab
,生成对应标签加text
文本内容
<a href="https://www.xuanzishare.com" target="_blank">a>
输入对应
标签名[属性名="属性值"] + Tab
生成对应标签加对应属性,多对属性使用[ ]
连续拼接
在日常开发中一个ul 或 ol
标签通常会附带多个li
子标签,或多div
子级嵌套都会出现多个重复的标签
<li>li>
<li>li>
<li>li>
<li>li>
<li>li>
输入对应
标签名*count + Tab
,生成count
个对应标签
<li>1li>
<li>2li>
<li>3li>
<li>2li>
<li>3li>
<li>4li>
<li>5li>
<li>6li>
输入对应
标签名{$}*count + Tab
,生成count
个对应标签,且文本自动填充编号,编号数量与count
一致使用
@
可修改起始编号
Emmet 支持快速嵌套结构,可以使用>
或+
与^
来实现。
<div>
<ul>
<li>li>
<li>li>
<li>li>
ul>
div>
输入对应
标签名 > 子标签名 + Tab
,生成指定标签的嵌套结构
<div>div>
<img src="" alt="">
<p>p>
输入对应
标签名 + 兄弟标签名 + Tab
,生成指定标签的同级结构
<div>
<p>p>
<img src="" alt="">
div>
<div>div>
输入对应
父级标签名 > 子级标签名 ^ 父级同级标签名 + Tab
,生成指定父级标签的子级标签再返回父级标签生成父级的同级标签
doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Documenttitle>
head>
<body>
body>
html>
输入对应
! + Tab
,生成 HTML 基础页面结构
Emmet 语法在 CSS 中同样可以带来高效的编码体验。
使用 Emmet 可以快速生成选择器,避免手动键入重复的类名或标签名。
.class
,会生成一个类选择器:.class {}
#id
,会生成一个 ID 选择器:#id {}
div.container
,会生成一个带标签和类名的选择器:div.container {}
Emmet 也支持生成 CSS 属性,使您能够更快速地添加样式。
bgc:red
,会生成 background-color: red;
fs:14px
,会生成 font-size: 14px;
p:10px 20px
,会生成 padding: 10px 20px;
Emmet 可以生成一些常见的属性,如边框、圆角、阴影等。
b:1px solid #ccc
,会生成 border: 1px solid #ccc;
br:5px
,会生成 border-radius: 5px;
Emmet 支持生成伪类和伪元素。
h:hov
,会生成 :hover {}
b:bef
,会生成 ::before {}
Emmet 还可以在属性值中生成数值序列,适用于一些需要重复的属性值,如动画关键帧。
tr:0 100%
,会生成 transform: translate(0, 100%);
Emmet 支持生成属性值和自动补全,减少手动输入。
m:a
,会生成 margin: auto;
d:f
,会生成 display: flex;
这些示例展示了在 CSS 中使用 Emmet 的一些常见情况。Emmet 可以大大加速您编写 CSS 的速度,提高开发效率。它的语法简洁易懂,适用于各种样式的生成和快速编辑。
table>tr*3>td{$}*4
<table>
<tr>
<td>1td>
<td>2td>
<td>3td>
<td>4td>
tr>
<tr>
<td>1td>
<td>2td>
<td>3td>
<td>4td>
tr>
<tr>
<td>1td>
<td>2td>
<td>3td>
<td>4td>
tr>
table>
ol>li{$}*4
<ol>
<li>1li>
<li>2li>
<li>3li>
<li>4li>
ol>
div.container>div.item${测试$}*8
<div class="container">
<div class="item1">测试1div>
<div class="item2">测试2div>
<div class="item3">测试3div>
<div class="item4">测试4div>
<div class="item5">测试5div>
<div class="item6">测试6div>
<div class="item7">测试7div>
<div class="item8">测试8div>
div>
玄子Share - HTML Emmet 语法详细介绍 8.19