Emmet 使用笔记小结

news2025/1/11 8:17:51

Emmet 使用笔记小结

最近在跟视频走 CSS 的教程,然后要写很多的 HTML 结构,就想着总结一下 Emmet 的语法。

Emmet 是一个工具可以用来加速 HTML 和 CSS 的开发过程,不过 emmet 只支持 HTML & XML 文件结构,所以我个人觉得对 CSS 的帮助不是特别大,VSCode 本身就有 CSS 的缩写支撑,用起来也挺方便的。

下面快捷键全都基于 VSCode。

基本语法

生成 HTML 框架

生成 HTML5 的基础框架用 !,就要一个 doctype 可以用超过一个,但是不多于三个 !

在这里插入图片描述

在这里插入图片描述

生成 tag

所有的 tag 都可以直接输入 tag 然后按 tab 生成,VSCode 也会对缩写进行提示,比如 section,可以打 section,也可以用 sect

在这里插入图片描述

一些比较特殊的缩写会赘一些常见的属性,比如说导入 JS 可以直接用 script:src,导入 CSS 可以用 link:cssinput 默认是 text,但也可以跟 :b 生成按钮,:tel 生成电话等,

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

生成带类名

class name 直接用 <tag name>. 即可,有个比较特殊的 tag 是 div,它可以直接通过 . 生成一个带空 class 的 div:

在这里插入图片描述

想要让同一个类生成多个 id,可以用 <tag-name>.<class name 1>.<class name 2> 的方法嵌套,比如说一些常见的 fontawesome 的 icon,会通过一个 class 控制形状,另一个控制 icon,这时候就可以用这个技巧:i.fa-solid.fa-house

生成带 id 的 tag

和类差不多,不过这里使用 #,如:i.fa-solid.fa-house#house-icon 会生成

在这里插入图片描述

id 具有唯一性,所以没什么必要 overload,就算是 overload,emmet 也只会用最后一个:

在这里插入图片描述

生成带属性的 tag

这个用 [],我个人用的比较多的是图片和 input,如 img[src="images/example"]:

在这里插入图片描述

或者 input:password[placeholder="Your Password"]:

在这里插入图片描述

attributes 这块不太好说,如果是 input 这种,直接用 input:p 生成 tab,然后到里面根据自动提示操作,减少 typo 的同时也少打一些字,从效率上来说我觉得反而会比 emmet 快。

数字占位符

$,如 img[src="images/exaple$"] 会生成 在这里插入图片描述

这个单用不好用,搭配下面的这个功能好用

生成多个同样的 tag

可以用 *<num> 来生成多个同样的 tag,这里搭配数占位符好用,比如说我有多个 list,每个 list 中的内容都一样,但是 list 的类名不一样:

li.list-$*10 生成

在这里插入图片描述

或是需要生成多个图片(slideshow)的时候:

img[src="img/slideshows/slideshow-$"]*6 生成

在这里插入图片描述

向 tag 中添加内容

这有两个,一个是 >,这会形成一个父子结构,后面说结构的时候会说,另一个是 {},这会直接向当前 tag 里面添加内容。如果是一个扁平化的结构,两者没什么太大区别,比较好用的就是前者可以直接加 lorem

p>lorem 会生成 在这里插入图片描述

p{lorem} 会生成 在这里插入图片描述

嵌套结构

这里讲点嵌套的事情

平级结构

使用 + 连接,如生成两个 input 这种:

input:t+input:email+input:submit 会生成

在这里插入图片描述

父子结构(向下)

使用 >,上面简单的提了一下,这里会形成一个父子结构,如:

ul>li>a>i.fa.fas-home 会生成:

在这里插入图片描述

父子结构(向上)

使用 ^,这里能够回到上一个节点:

` 会生成:

在这里插入图片描述

<ul>
  <li>
    <a href=""><i class="fa fas-home"></i></a>
    <img src="" alt="" />
  </li>
</ul>

这个时候可以看到,emmet 对于行内结构的排版其实看起来不太方便

刚找到一个 | 说是可以实现这个功能,不过我在 VSCode 上试了一下,不支持。如果用其他的 ide/editor 可以试试看

节点分组

使用 (),这里将括号内的部分生成一个整体,如:

(li>a>i.fa)*10 会生成 在这里插入图片描述

这也是最近才看到的,之前都会不断回到上一层然后去实现,比起使用 grouping 麻烦好多。

总结

其实 emmet 对 inline 的结构设置的不太好(不会默认换行),所以有的时候用 a*n>i 的时候,再自动排版结构会不太舒服,不过总体来说比一个个 cv 方便很多……

顺便丢一个之前跟着教程时用的结构:

h1.section-heading{Teams}+.team-wrapper>.team-member*3>img.team-member-img[src="images/team-member-$.jpg"]+h2.team-member-name{Nick Smith}>span{ Designer}^ul.team-member-skills>li{Ps}+li{Figma}+li{HTML5}+li{CSS3}+li{Ai}^a.projects-btn[href="$"]+.story-btn[title="My Story"]>.story-btn-line^.story>h4.story-heading{About Me}+p.story-paragraph>lorem

在这里插入图片描述

在这里插入图片描述

大概是这样一个三重式的结构:

在这里插入图片描述

我觉得一个个 cv 太麻烦了,所以就用 emmet 写了……不过好像还是出了点问题(挠头)

现在想来,其实还是应该使用 () 进行 grouping 实现会方便不少。

所以不太推荐 emmet 写太长,除非你知道自己想要做什么。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/969781.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaSE】面试01

文章目录 1. JDK、JRE、JVM之间的关系2. 补充3. 面试题&#xff1a;重载和重写的区别&#xff1f;4. super和this5. &#xff08;重点&#xff01;&#xff01;&#xff09;若父类和子类均有静态代码块、实例代码块以及无参构造方法&#xff0c;则继承关系上的执行顺序&#xf…

如何解决分库分表主键问题?

分析&回答 从问题角度出发&#xff1a;我们需要一个全局唯一的 id 来支持&#xff0c;排序问题等。这都是你实际生产环境中必须考虑的问题。可以先看下我们之前的文章分布式系统唯一ID如何生成&#xff1f; 雪花算法和雪花算法的变种是大家常用的 喵呜面试助手&#xff1…

Python字节码文件

迷途小书童的 Note 读完需要 5分钟 速读仅需 2 分钟 大家好&#xff0c;我是迷途小书童&#xff01; 今天给大家介绍一个神奇的文件 -- pyc 文件&#xff0c;它能加速 Python 程序的执行速度&#xff0c;同时也能起到保护源码的作用。 1 什么是 pyc 文件? pyc 文件是经过编译的…

PYTHON-“人生重开模拟器“

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是Aileen★。希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f194;本文由 Aileen_0v0★ 原创 CSDN首发&#x1f412; 如需转载还…

SAP-PP:基础概念笔记-5(物料主数据的MRP1~4视图)

文章目录 前言一、MRP1视图Base Unit of Measure&#xff08;UoM&#xff09;MRP 组采购组ABC 指示器Plant-Specific Material Status 特定的工厂物料状态MRP 类型 MRP TypeMRP 类型 MRP TypeMaster Production Scheduling(MPS) 主生产计划基于消耗的计划(CBP)再订货点Reorder-…

【业务功能篇91】微服务-springcloud-多线程-线程池执行顺序

一、线程的实现方式 1. 线程的实现方式 1.1 继承Thread class ThreadDemo01 extends Thread{Overridepublic void run() {System.out.println("当前线程:" Thread.currentThread().getName());} }1.2 实现Runnable接口 class ThreadDemo02 implements Runnable{…

介绍几个搜索引擎

Google&#xff1a;全球最大的搜索引擎&#xff0c;提供全面的搜索服务&#xff0c;包括网页、图片、视频、新闻、地图等。 Baidu&#xff1a;中国最大的搜索引擎&#xff0c;提供类似于Google的全面搜索服务&#xff0c;同时也有网盘、知道等功能。 Bing&#xff1a;微软公司…

Linux持续学习者的实用命令:sed

引言 作为一名Linux持续学习者&#xff0c;我们经常需要对文本内容进行处理或修改&#xff0c;这时候sed命令就能派上用场了。sed是一个强大的流式文本编辑器&#xff0c;它可以在读取文本时进行修改并输出&#xff0c;支持各种复杂的字符串替换、内容删除、行插入等操作。在本…

Linux的目录结构特点

Linux的目录结构特点 1、使用树形目录结构来组织和管理文件。 2、整个系统只有一个根目录&#xff08;树根&#xff09;&#xff0c;Linux的根目录用“/”表示。 3、其他所有分区以及外部设备&#xff08;如硬盘&#xff0c;光驱等&#xff09;都是以根目录为起点&#xff0…

[华为云云服务器评测] Unbutnu添加SSH Key、编译启动Springboot项目

系列文章目录 第一章 [linux实战] 华为云耀云服务器L实例 Java、node环境配置 第二章 [linux实战] Unbutnu添加SSH Key、启动Springboot项目 文章目录 系列文章目录前言一、任务拆解二、配置git,添加SSH Key2.1、登录远程主机2.2、配置git用户名和邮箱2.3、生成SSH key2.4、查…

说说redo log 与 undo log

redo log redo log叫做重做日志.用于解决数据库事物提交 还未刷入磁盘,服务器down机导致的数据丢失的问题。 InnoDB作为MySQL的存储引擎&#xff0c;数据存储在磁盘中&#xff0c;如果每次读写数据都要操作磁盘IO效率会很低&#xff0c;为此InnoDB提供了缓存(Buffer Pool)&am…

无涯教程-JavaScript - STDEVP函数

STDEVP函数替代Excel 2010中的STDEV.P函数。 描述 该函数根据作为参数给出的整个总体计算标准偏差。标准偏差是对值与平均值(平均值)的分散程度的度量。 语法 STDEVP (number1,[number2],...)争论 Argument描述Required/OptionalNumber1The first number argument corresp…

文件包含漏洞及漏洞复现

文件包含漏洞 1. 文件包含概述 程序开发人员通常会把可重复使用函数或语句写到单个文件中&#xff0c;形成“封装”。在使用某个功能的时候&#xff0c;直接调用此文件&#xff0c;无需再次编写&#xff0c;提高代码重用性&#xff0c;减少代码量。这种调用文件的过程通常称为…

机器学习与数据分析

【数据清洗】 异常检测 孤立森林&#xff08;Isolation Forest&#xff09;从原理到实践 效果评估&#xff1a;F-score 【1】 保护隐私的时间序列异常检测架构 概率后缀树 PST – &#xff08;异常检测&#xff09; 【1】 UEBA架构设计之路5&#xff1a; 概率后缀树模型 【…

单独创建一个线程并执行

C并发编程入门 目录 STL 写法 #include <thread> #include <iostream> using namespace std;void thread_fun(void) {cout << "one STL thread!" << endl; }int main(void) {std::thread thread1(thread_fun);thread1.join();return 0; }其…

数字IC验证——PSS可移植测试用例

PSS是Accellera组织定义的测试用例生成规范&#xff0c;其思想是定义一个抽象模型&#xff0c;EDA工具可以从中生成适用于每个设计层次结构和每个验证平台的测试&#xff0c;即PSS定义了统一的测试场景&#xff0c;而场景的使用可以横跨不同验证层次和配置。 这种特性决定了PSS…

docker笔记8:Docker网络

1.是什么 1.1 docker不启动&#xff0c;默认网络情况 ens33 lo virbr0 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后&#xff0c;启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡&#xff1a;它还有一个固定的默认IP地址192.168.122…

快速掌握STM32工程创建

STM32 工程创建-- 使用Keil uVision5 软件 晓理紫 1 准备库函数库 STM32F10x_StdPeriph_Lib_V3.5.0 VX 搜索“晓丽紫”关注回复STM32F10x即可下载 2、创建一个目录用来存放工程 STM32Study STM32Study/study1 存放本次工程目录 3、打开Keil uVision5 创建工程 4、选择型号(根据…

租服务器训练深度学习模型

一、选择租哪个 推荐用AutoDL(便宜、功能强大、gug少、有时时客服解决问题) AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL 二、注册、登录 学生可以认证&#xff0c;享受会员价 服务器需要登录后先充值&#xff0c;先充个10元&#xff0c;接下来试试看。每次都是开机…

Web framework-Gin(二)

一、Gin 1、Ajax AJAX 即“Asynchronous Javascript And XML”&#xff08;异步 JavaScript和 XML&#xff09;&#xff0c;是指一种创建交互式、快速动态网页应用的网页开发技术&#xff0c;无需重新加载整个网页的情况下&#xff0c;能够更新部分网页的技术。通过在后台与服…