Emmet 使用笔记小结

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.rhkb.cn/news/119334.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云免费SSL证书申请流程_2023更新教程

2023腾讯云免费SSL证书申请流程&#xff0c;一个腾讯云账号可以申请50张免费SSL证书&#xff0c;免费SSL证书为DV证书&#xff0c;仅支持单一域名&#xff0c;申请腾讯云免费SSL证书3分钟即可申请成功&#xff0c;免费SSL证书品牌为TrustAsia亚洲诚信&#xff0c;腾讯云百科分享…

【经济研究】论文《经济ZC不确定性与创新》数据复现

数据简介&#xff1a;当前宏观经济面临较大下行压力&#xff0c;需要“稳中求进”兼顾经济高质量发展与经济增速等多种目标&#xff0c;这就不可避免地导致各种经济ZC的频繁调整&#xff0c;产生不确定性风险。在此背景下&#xff0c;经济政策不确定性上升如何影响企业决策&…

ISO/IEC标准组织介绍(三十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

华为静态路由配置实验(超详细讲解+详细命令行)

系列文章目录 华为数通学习&#xff08;7&#xff09; 前言 一&#xff0c;静态路由配置 二&#xff0c;网络地址配置 AR1的配置&#xff1a; AR2的配置&#xff1a; AR3的配置&#xff1a; 三&#xff0c;测试是否连通 AR1的配置: 讲解&#xff1a; AR2的配置&#…

2020ICPC南京站

K K Co-prime Permutation 题意&#xff1a;给定n和k&#xff0c;让你构造n的排列&#xff0c;满足gcd(pi, i)1的个数为k。 思路&#xff1a;因为x和x-1互质&#xff0c;1和任何数互质&#xff0c;任何数和它本身不互质 当k为奇数时&#xff0c;p11&#xff0c;后面k-1个数…

yum 、rpm、yumdownloader、repotrack 学习笔记

1 Linux 包管理器概述 rpm的使用&#xff1a; rpm -ivh filename.rpm#这列出该packageName&#xff08;包名&#xff09;安装的所有文件列表。 rpm -ql packageName #查询已安装的该packageName的详细信息&#xff0c;包括版本、发布日期等。 rpm -qi packageName #列出该pac…

如何在,Linux中安装Luajit2.*

1.文件下载The LuaJIT Project 2.将下载文件上传到对应的服务器&#xff1a;例如/opt 3.进入对应的文件夹 4.make PREFIX/usr/local&#xff0c;设置安装路径 5.make install&#xff0c;编译安装 6.进入安装目录&#xff0c;cd /usr/local/include/luajit-2.0 7.luajit -v…

【Stable Diffusion安装】支持python3.11 window版

前言 主要的安装步骤是参考B站播放量第一的视频&#xff0c;但是那位阿婆主应该是没有编程经验&#xff0c;只强调使用3.10&#xff0c;而python最新版本是3.11。 理论上来说&#xff0c;只是一个小版本的不同&#xff0c;应该是可以安装成功了。自己摸索了下&#xff0c;挺费…

C++智能指针之weak_ptr(保姆级教学)

目录 C智能指针之weak_ptr 概述 作用 本文涉及的所有程序 使用说明 weak_ptr的常规操作 lock(); use_count(); expired(); reset(); shared_ptr & weak_ptr 尺寸 智能指针结构框架 常见使用问题 shared_ptr多次引用同一数据&#xff0c;会导致两次释放同一内…

ChatGPT在医疗领域可应用于改善与患者的沟通

注意&#xff1a;本信息仅供参考&#xff0c;发布该内容旨在传递更多信息的目的&#xff0c;并不意味着赞同其观点或证实其说法。 自从ChatGPT在2022年末对公众开放以来&#xff0c;OpenAI的这款生成式AI聊天机器人在医疗领域展示出了巨大潜力。它已经通过了美国医学执照考试&a…

Paddle训练COCO-stuff数据集学习记录

COCO-stuff数据集 COCO-Stuff数据集对COCO数据集中全部164K图片做了像素级的标注。 80 thing classes, 91 stuff classes and 1 class ‘unlabeled’ 数据集下载 wget --directory-prefixdownloads http://images.cocodataset.org/zips/train2017.zip wget --directory-prefi…

“媒体+”时代正当时,ATEN以前瞻解决方案助推媒体融合纵深发展

自媒体融合概念提出以来,传统媒体与新媒体融合速度加快,两者的相互结合与优势互补为广电行业发展提供了新的契机,更加多元化、个性化、强互动的“媒体”传播格局已逐渐形成。 “媒体”理念的创建,对于广电行业而言无疑是一种积极的改革创新之举,然而“媒体”的发展也呈现出泛媒…

Python实现自动关键词提取

随着互联网的发展&#xff0c;越来越多的人喜欢在网络上阅读小说。本文将通过详细示例&#xff0c;向您介绍如何使用Python编写爬虫程序来获取网络小说&#xff0c;并利用自然语言处理技术实现自动文摘和关键词提取功能。 1. 网络小说数据抓取 首先&#xff0c;请确保已安装必…

Show that f(z)=1/z is analytic or not

See https://brainly.in/question/21838444

PaddleNLP使用Vicuna

LLaMA 模型 LLaMa 是一个大型语言模型&#xff0c;由 Meta 开源。它的全称是 Large Language Model Meta AI&#xff0c;参数量从 70 亿到 650 亿不等。例如&#xff0c;130 亿参数的 LLaMA 模型在大多数基准上可以胜过参数量达 1750 亿的 GPT-3&#xff0c;而且可以在单块 V1…

HTTP协议初识·中篇

加上目录&#xff0c;会出现导向不正确的情况&#xff0c;可能是bug&#xff0c;目录一长就容易出错&#xff1f; 本篇主要讲解了&#xff1a; 网页分离(网页代码和.c文件分离) html链接跳转 网页添加图片 确认并返回资源类型 填写正文长度属性 添加表单 临时重定向 补充知识&a…

Jdk8 动态编译 Java 源码为 Class 文件(三)

Jdk8 动态编译 Java 源码为 Class 文件 一.JDK版本二.工程介绍1.依赖2.启动类3.配置类&#xff08;用于测试依赖注入&#xff09;4.工具类1.Java 源码文件读取类2.SpringBoot 容器实例管理类 5.测试类1.抽象类2.接口类3.默认抽象实现4.默认接口实现 6.接口类1.测试接口2.类重载…

SpringWeb(SpringMVC)

目录 SpringWeb介绍 搭建 SpringWeb SpringWeb介绍 Spring Web是一个基于 Servlet API 构建的原始 web 框架&#xff0c;用于构建基于MVC模式的Web应用程序。在 web 层框架历经 Strust1&#xff0c;WebWork&#xff0c;Strust2 等诸多产品的历代更选 之后&#xff0c;目前业界普…

QT DAY4

一、使用鼠标时间完成组件的移动 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QDebug> #include<QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widg…

LLMs:OpenAI官方重磅更新——新增GPT-3.5Turbo调和API更新功能

LLMs&#xff1a;OpenAI官方重磅更新——新增GPT-3.5Turbo调和API更新功能 导读&#xff1a;2023年8月22日&#xff0c;OpenAI官方发布&#xff0c;开发者现在可以使用自己的数据来定制适用于其用例的GPT-3.5 Turbo模型。GPT-3.5 Turbo的微调现在已经可用&#xff0c;GPT-4的微…