>

七喜s技能及其优化,测量试验你的前端代码【云

- 编辑:云顶娱乐yd2221 -

七喜s技能及其优化,测量试验你的前端代码【云

探究CSS Pepsi-Colas技能及其优化

2012/05/17 · CSS · CSS

来源:微博UDC

CSS Coca Colas 技能对于广大的前端程序猿来说应该是有些也不目生。那一个被本国开辟者外号为“CSSSmart”。 CSS百事可乐的钱物到底清除了怎么着难点,大家又何以合理利用这一个技巧吗?上边让我们详细的闲谈。

在大家还在拨号上网的“三皇五帝”,由于网速的约束,页面开辟者都喜悦把网页里面包车型客车图片字节数调控的相当小,往往在多个图形文件夹里散落着n多的小 碎图。随着互连网本事的进步,网速的升官,大家尤为珍视页面包车型大巴加载速度,页面效用难题,过去的那二个小图便成为了前面一个开拓者的眼中钉,因为每加载一张图纸都 会产生一回浏览器央浼数,发起的伸手数越来越多那么页面加载的快慢也越慢。还应该有当页面加载时,图片七个个的繁琐突显,鼠标经过时候背景闪白等也都是我们无法忍 受的。于是乎将页面中的背景图整合到三头,利用“background- image”,“background- repeat”,“background-position”的整合张开背景定位的本事被大面积运用与了页面创设中,这正是CSS 七喜s。当然CSS Pepsi-Colas技能也设有着保养困难,内部存储器占用大等等的劣势。

七喜s技能及其优化,测量试验你的前端代码【云顶娱乐正版官方下载】。好了,假使作者只说这些,那么那篇文章就有一点点太水了。前边那些只是对CSS Sprites技术的一个推广。作为贰个开垦者大家应该对它有几个更周详的认知,发现深度内容,那样技巧平价大家效能开荒,团队同盟。

高烧的多少人拼图游戏

运用CSS Coca Colas,就就好像玩拼图游戏相通。一张白画布,那么多图怎么放到里面去才会康健?那是个令人郁结的事。何况在实质上在做事情景中, 大家直面着品种支出时间恐慌,UI设计图要分期提供,三人联合签名开辟七个品类等等难点。这个标题特别轻易让大家在大体系中迷路,形成CSS拼图混乱,维护及 其不方便的情状。

定好法规,其实拼图也挺有趣的

事情发生早先的备选干活

解除郁结二个品类早先时期维护花费大的难题,我们最佳的解决方案正是在上马前制订豆蔻梢头层层的规范来界定难点的付加物。好的开始是大功告成的八分之四。对于 CSS 7-Ups,在等级次序始于前,大家要充足认知一个出品,同UI设计员做好美好的联系,对我们前程组合我们Coca Colas图的顺序要素有个差非常的少的 概念,举例我们的背景拼图或者包罗什么样。

五个好的百事可乐画布是必需的

网页设计之中,Grid系统是必要的,好的Grid能解决我们许多制版难点。Grid系统相像适用于CSS Pepsi-Colas。我们供给创设非常多少个好好的画板,剩下的办事正是将成分合理的放手画板中了。

那张是本身准备的一张CSS Coca Colas画布,大家将要此个PSD里面组合品种中的图片。

那张画布是由20px*20px像素的格子组成。那几个格子基本上由项目决定的,当大家同UI设计员调换精通那些系列最多的为16px*16px Logo时。我们就能够运用这种Grid尺寸为画布了。

云顶娱乐正版官方下载 1

Pepsi-Colas画布有了,接下去正是对Logo实行分组了

对于音讯的总结总计、分类是二个有趣的业务。就拿Logo来讲,大家就能够依据Logo成效,尺寸等等作为新闻维度实行综合。其实不管怎么回顾,都是足以的,只是纪念大家以三个趋向作为规范就可以了。

下图是依赖天涯论坛站外某组件达成的CSS Pepsi-Colas

云顶娱乐正版官方下载 2

依据设计,大家理解在这里个页面,须要将图片成分依据作用分为4个维度,即腾讯网牌子展示成分、提交开关、操作类小按键、提醒类ICON。于是笔者将画布 X轴坐标方向每5个格(其实完全能够12个格只怕越来越多)划分为三个区域,种种那样一个区域的Y轴方向不再划分区域,那样做的目标是为了现在扩大Logo的恢宏 性。于是大家能够充裕便捷拿到三个Logo的坐标了。比如不可用的银白的享用开关 X坐标=5*20px=100px Y坐 标=7*20px=140px; 那么大家就得到了这一个Logo的地点即background-position: -100px -140px。若是抽象成 为公式的话,大家设置二个单元格的肥瘦为变量n。X坐标值Gx,Y坐标值Gy。那么画布中的成分css背景即为:background- position:-Gx*npx –Gy*npx 了。

当今图有了,怎么取图也是首要

因为图片尽大概的被重新整合到一张拼图,所以大家须求在页面使用图片的岗位运用空标签订位的主意将拼图所需表现的部分显获得页面中。

 

XHTML

<span class=”iconA”></span> .iconA { display:inline-block; height:16px; width:16px; background:url(icons.png) -20px -20px no-repeat }

1
2
<span class=”iconA”></span>
.iconA { display:inline-block; height:16px; width:16px; background:url(icons.png) -20px -20px no-repeat }

 

品类现身二期必要了,须求追加Logo?

急需三回九转不能够决定,我们要尽量的为将来增添图片做好筹划。在刚刚的例证的品类里中期付加物须求扩张Logo,于是:

云顶娱乐正版官方下载 3

大家得以世襲在相应的图区内扩大对应的Logo。可是那几个例子相符揭示了一个毛病,若是新扩张七个开关区域大于5n(100px卡塔尔国,大家的图区不足以承 载。此时大家能够同成品,设计员交流和睦,商量是不是足以撤废过大的开关设计。假使供给必然,那大家必须要沿着X轴方向持续强盛画布。可是,大家也要求小心无限的推广一张画布,同样会产生对页面成效的震慑。

眼看的创设好规范,记录好校勘日志

想必在类型的早期,大家还来比不上制订合图的现实性规范,在项目中咱们会遇上各式各样的标题。及时的下结论,维护整张CSS拼图,在拼图的PSD也许PNG(使用Fireworks)做好注释,方便外人付出。拼合好的图样提交到svn时也写明log内容,那样便从今以后查询。

云顶娱乐正版官方下载 4

笔者们最后的指标

实际上CSS Pepsi-Colas经过了那么多年的蜕变,前端开采者不断的优化,皆感到了升高页面效率,进步组织开采成效,降低开销保护资金而努力。合营近日丰富流行的将CSS动态语言化(如SASS LESS等),增参加变量, 世襲, 运算, 函数等。CSS Coca Colas会变的越来越有意思,会减少更加多的花销保养费用。以至大家在“面向对象”的模块开垦情势中,还是能够行使叁个类的的同叁个backgroud-position:(x y)值,在差异的页 面通过引用差别的图纸(background属性)完成将叁个页面内图片央求量进一层减少的目标。随着高等浏览器的推广大家还足以多接纳CSS3属性,减弱渐变背景图的利用,将纯色ICON制作成字体取代拼图等大家能越来越大程度上压缩图片的使用量。这篇随笔只是投砾引珠。实际上还大概有超级多有关 CSS Pepsi-Colas的秘诀,还应该有许多的拼图生成工具。

说了那么多,大家只要在平日的开荒中,只要大家多留心计算,敢于立异,敢于制订规范,那么再小的事也能干的极漂亮,对于CSS 七喜s的优化正是那样多少个事例,你说不是么?

赞 1 收藏 评论

云顶娱乐正版官方下载 5

测验你的前端代码 – part3(端到端测量试验)

2017/06/05 · 根底技能 · 测试

初藳出处: Gil Tayar   译文出处:胡子大哈云顶娱乐正版官方下载,   

上大器晚成篇小说《测验你的前端代码 – part2(单元测量检验)》中,小编介绍了有关单元测验的基本知识,从本文介绍端到端测量检验(E2E 测量试验)。

CSS 写作提构和性能优化小结

2017/10/09 · CSS · 性格优化

最早的小说出处: 守候   

云顶娱乐正版官方下载 6

测验你的前端代码 – part4(集成测量试验)

2017/06/05 · 根底本领 · 测试

初藳出处: Gil Tayar   译文出处:胡子大哈   

上豆蔻梢头篇作品《测验你的前端代码 – part3(端到端测量检验)》中,笔者介绍了关于端到端测验的基本知识,从本文介绍集成测量检验(Integration Testing)。

谈谈 PostCSS

2017/10/18 · CSS · POSTCSS

原稿出处: laizimo   

端到端测量试验

在其次局地中,我们运用 Mocha 测验了使用中最基本的逻辑,calculator模块。本文中我们将运用端到端测量试验整个应用,实际上是模拟了客商具备相当大可能的操作进行测量试验。

在我们的例子中,计算器展现出来的前端即为整个应用,因为从没后端。所以端到端测验便是说直接在浏览器中运营应用,通过键盘做意气风发雨后春笋总括操作,且保障所出示的输出结果都以确实无疑的。

是不是必要像单元测量试验那样,测量检验各样组合呢?并不是,大家早就在单元测量检验中测量试验过了,端到端测量检验不是检查某些单元是或不是ok,而是把它们放到一同,检查仍然否能够科学运维。

1.前言

还恐怕有几天就到国庆秋节了,快要放假了,先祝我们节日开心!早前写过 JS 的小说建议和本领,那么前几天就来聊聊 CSS 吧!

提起 CSS,每二个网页都离不开 CSS,可是对于 CSS,非常多开采者的主见便是,CSS 只要能用来布局,把效果与利益图排出来就能够了,其它的细节也许优化,不须求怎么思虑。可是本身觉得CSS 可不只是把页面包车型客车布局形成就是成功的,还须求构思非常多细节有优化,更不会像大家想得那么轻易。在上学个中,要是开采怎么手艺依旧优化的点,小编也会学以实用!

那就是说明日,就享受下自个儿总括的 CSS 写作提议和总体性优化的大器晚成部分标题!希望能帮让大家对美妙的 CSS 有贰个新认识。当然,假使大家感到还大概有啥别的的建议,迎接指引!

集成测验

咱俩早已看过了“测量试验光谱”中的二种测量检验:单元测验和端到端测验。实际工作中的测量检验平日是在意那二种测量检验时期的,包蕴自身在内的绝大好些个人平日把这种测量试验叫做集成测量检验。

前言

这两天的前端,javascript的前行料定,框架林立。同期,html也是齐驱并骤,推出了HTML5行业内部,而且得到了广泛。那样的升华却唯独少了一个剧中人物?

CSS,就是其生机勃勃相像不起眼的家伙,却在支付中表述着和js同样首要的成效。css,是豆蔻梢头种样式脚本,好像和编程语言有着一定的间隔,大家能够将之掌握为生机勃勃种描述方法。那好似导致css被漠视了。但是,css近几来来正在经验着二回巨变——CSS Module。小编回忆js的井喷期应该能够说是node带来的,它带来了Module的概念,使得JS能够被工程化开荒品种。那么,明天的css,也将更为美好。假如您垂怜笔者的篇章,接待商议,迎接Star~。招待关心自身的github博客

亟需多少端到端测试

率先付诸结论:端到端测验不须求太多。

首先个原因,如若已经通过了单元测量检验和集成测量检验,那么大概早就把具有的模块都测量检验过了。那么端到端测验的职能就是把全部的单元测量试验绑到一齐开展测量试验,所以没有供给多多端到端测量检验。

其次个原因,那类测验平常都异常慢。若是像单元测量试验那样有几百个端到端测量检验,那运转测量试验将会那叁个慢,那就违背了三个很要紧的测量试验原则——测量检验连忙反馈结果。

其八个原因,端到端测量检验的结果有的时候候会产出 flaky的情事。Flaky 测验是指常常意况下能够测量试验通过,不过有的时候晤面世测验退步的状态,也等于不安定测验。单元测量试验大概不会现身不安静的处境,因为单元测量检验平日是大致输入,轻松输出。黄金时代旦测验涉嫌到了 I/O,那么不平稳测量检验恐怕就现身了。那可以减弱不稳固测量检验呢?答案是自然的,能够把动荡测量试验出现的频率降至可以担任的等级次序。这能够彻底消亡不安宁测量检验呢?可能可以,不过作者现今尚未见到过[笑着哭]。

因此为了减少我们测验中的不牢固因素,尽量减少端到端测量试验。二十一个以内的端到端测验,每一个都测量试验应用的关键专门的学业流。

2.CSS 渲染准则

首推,关于CSS 渲染的平整,大家恐怕都精晓,是从右到左的渲染!如下栗子:

.nav h3 a{font-size: 14px;}

1
.nav h3 a{font-size: 14px;}

渲染进程大约是:首先找到全体的a,沿着a的父元素查找h3,然后再顺着h3,查找.nav。中途找到了相符相配准则的节点就加盟结果集。假使找到根成分html都不曾相称,则不再遍历那条门路,从下三个a最早重复那几个查找相配(只要页面上有四个最右节点为a)。

参考:CSS选拔器从右向左的相配法规

有关术语

和重重 TDD 爱好者聊过以往,笔者打听了她们对“集成测量试验”那一个词有风华正茂部分例外的精通。他们感到集成测验是测量检验代码边界,即代码对外的接口部分。

比如他们代码中有 Ajax,localStorage 可能 IndexedDB 操作,那其代码就不能够做单元测量试验,当时他们会把那么些代码打包成接口,然后在做单元测验的时候 mock 那些接口。当真正测量检验这一个接口的时候才称为“集成测验”。从那么些角度来讲,“集成测验”正是在纯的单元测量试验以外,测验与外表“真实世界”相关的代码。

而作者和别的一些人则赞同于认为“集成测量试验”是将七个或三个单元测量检验综合起来进行测量检验的风流浪漫种方式。通过接口把与表面有关的代码打包到一块,再 mock,只是此中的黄金年代种完毕形式。

本身的观念里,决定是还是不是接收真实场景的 Ajax 只怕其余 I/O 操作进行归总测量试验(即不应用 mock),决计于是不是能够保险测量检验速度丰盛快,並且能够天下太平测量试验(不发生 flaky 的处境)。假若能够规定这样的话,那就算用忠实际情状景进行集成测量检验就好了。可是要是非常慢大概产生动荡测验的场地,那依旧用 mock 会好有的。

在大家的例证中,总计器应用唯生机勃勃的切实地工作 I/O 正是操作 DOM 了,未有 Ajax 调用,所以海市蜃楼上边的标题。

正文

既然作为大器晚成篇推广PostCSS的篇章,大家就相应先来询问一下那是什么,和咱们前边讲的CSS Module有何关系?此处让自个儿为你们不停道来。

写端到端测验代码

好了,废话少之又少说,开端介绍写端到端代码。首先要求盘算好两件工作:1. 三个浏览器;2. 运作前端代码的服务器。

因为要采取 Mocha 进行端到端测验,就和前边单元测验同样,必要先对浏览器和 web 服务器实行一些配备。使用 Mocha 的 before 钩子设置早先化状态,使用 after钩子清理测量检验后状态。before 和 after 钩子分别在测验的开头和结束时运营。

上边一同来看下 web 服务器的安装。

3.嵌套层级不要逾越 3 级

诚如景色下,成分的嵌套层级不能抢先 3 级,过度的嵌套会导致代码变得痴肥、沉余、复杂,招致 CSS 文件体积变大,形成质量浪费,影响渲染的速度,况且过于正视 HTML 文书档案构造。那样的 CSS 样式,维护起来,非常麻烦,假使今后要改过样式,恐怕要利用!important覆盖。

mock DOM

这就引出了多少个难题:在合龙测量检验中是否要求 mock DOM?重新思谋一下方面笔者说的正式,使用真实 DOM 是不是会使测量试验变慢呢,答案是会的。使用真实 DOM 意味着要用浏览器,用浏览器意味着测量检验速度变慢,测量试验变的不稳固。

那正是说是还是不是要么只可以硬着头皮把操作 DOM 的代码分离出来,要么只可以选用端到端测验了啊?其实那二种方法都不佳。还会有另生龙活虎种缓和方案:jsdom。二个卓殊棒的包,用它和睦的话说:那是在 NodeJS 中落实的 DOM。

它实在比较好用,能够运作在 Node 景况下。使用 JSDom,你能够不把 DOM 当作I/O 操作。那点十二分关键,因为要把 DOM 操作此前端代码中分离出来特别辛勤(实际专业中差不离不可能完全分开)。笔者猜 JSDom 的出生就是因为那些缘故:使得在 Node 中也足以运作前端测量试验。

我们来看一下它的做事原理,和现在大同小异,须求有开始化代码和测验代码。此次大家先看测量试验代码。可是行业内部看代码早前请先接收自个儿的歉意。

自己想和你们说后会有期

云顶娱乐正版官方下载 7

眼下,在工程化开采中,使用最多的应该就是Less、Sass和Stylus。首先,依旧介绍一下它们啊。它们有个统生龙活虎的名字——css预微机。何为CSS预微型机?应该就是风华正茂种能够将你依据它的平整写出来的格式转成css的事物(依然讲的初步一点卡塔尔(قطر‎。它们的现身能够说是恰巧境遇其时,解决了css的片段缺憾:

  • 语法非常不足强盛,不能嵌套书写,不方便人民群众模块化开荒
  • 从未有过变量和逻辑上的复用机制,以致在css的属性值中只好动用字面量情势,以致持续重复书写重复的体制,导致难以保证。

面临上述难点,css预微电脑给出了这么些实惠的缓慢解决方案:

  1. 变量:就疑似此外编制程序语言同样,免于多处修正。
    • Sass:使用「$」对变量进行宣示,变量名和变量值使用冒号实行剪切
    • Less:使用「@」对变量举办宣示
    • Stylus:中宣称变量没有其它节制,结尾的分集团无关大局,但变量名和变量值之间必定要有『等号』。但须要专一的是,要是用“@”符号来声称变量,Stylus会进行编写翻译,但不会赋值给变量。就是说,Stylus 不要采取『@』阐明变量。Stylus 调用变量的法门和Less、Sass完全相近。
  2. 作用域:有了变量,就必需得有效率域实行拘押。就想js相符,它会从局部功用域以前往上找出变量。
    • Sass:它的措施是三者中最差的,子虚乌有全局变量的概念
    • Less:它的格局和js比较相符,逐级往上搜索变量
    • Stylus:它的点子和Less相比相通,然而它和Sass肖似更趋势于指令式查找
  3. 嵌套:对于css来说,有嵌套的写法无疑是体贴入微的,更疑似父子层级之间分明关系
    • 三者在这里处的管理都以大器晚成致的,使用「&」表示父成分

有了这几个方案,会使得大家可以在承保DPY、可维护性、灵活性的前提下,编写css样式。

归来话题中,之所以会现身向预微处理器这样子的解决方案,归根结底依然css标准发展的滞后性招致的。同临时间,大家也应有构思一下,真的只要预微机就够了呢?往往在品种过大时,由于缺乏模块的概念,全局变量的问题会随处烦扰着你。每回定义接收器时,总是要两全到此外文件中是还是不是也应用了相仿的命名。毕竟项目是组织的,而不是私有的。哪是不是有办法能够消除这几个标题吗?

设置 Web 服务器

配备叁个 Node Web 服务器,首先想到的正是 express了,话相当的少说,直接上代码:

JavaScript

let server before((done) = > { const app = express() app.use('/', express.static(path.resolve(__dirname, '../../dist'))) server = app.listen(8080, done) }) after(() = > { server.close() })

1
2
3
4
5
6
7
8
9
10
let server
before((done) = > {
    const app = express()
    app.use('/', express.static(path.resolve(__dirname, '../../dist')))
    server = app.listen(8080, done)
})
after(() = > {
    server.close()
})

代码中,before 钩子中创立叁个 express 应用,指向 dist 文件夹,何况监听 8080 端口,甘休的时候在 after 钩子中关闭服务器。

dist 文件夹是怎么?是我们打包 JS 文件的地点(使用 Webpack打包),HTML 文件,CSS 文件也都在此。能够看一下 package.json 的代码:

JavaScript

{ "name": "frontend-testing", "scripts": { "build": "webpack && cp public/* dist", "test": "mocha 'test/**/test-*.js' && eslint test lib", ... },

1
2
3
4
5
6
7
{
      "name": "frontend-testing",
      "scripts": {
        "build": "webpack && cp public/* dist",
        "test": "mocha 'test/**/test-*.js' && eslint test lib",
    ...
      },

对于端到端测量试验,要记得在实践 npm test 之前,先执行 npm run build。其实这么非常不便于,想转手事情未发生前的单元测量检验,无需做那样复杂的操作,就是因为它能够平素在 node 景况下运维,既不用转译,也不用包装。

是因为完整性思量,看一下 webpack.config.js 文件,它是用来报告 webpack 怎么样管理打包:

JavaScript

module.exports = { entry: './lib/app.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }, ... }

1
2
3
4
5
6
7
8
module.exports = {
    entry: './lib/app.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    ...
}

下面的代码指的是,Webpack 会读取 app.js 文件,然后将 dist 文件夹中具有应用的文本都打包到 bundle.js 中。dist 文件夹会同临时候接纳在分娩条件和端到端测量试验意况。这里要小心一个很注重的事务,端到端测量检验的运营条件要尽恐怕和临蓐条件保持风姿洒脱致。

4.样式重新载入参数

那个自个儿当下维持中立意见,因为望着英特网的篇章,某人援救使用样式重新初始化,某人不扶助采用,何人也说性格很顽强在艰难险阻或巨大压力面前不屈不了什么人。小编要好的情景,小编有应用样式重新恢复生机设置,可是是比较容易的一个计算,代码如下!

body,dl,dd,h1,h2,h3,h4,h5,h6,p,form,ol,ul { margin: 0; padding: 0; } h1, h2, h3, h4, h5, h6 { font-weight: normal; } ol, ul { list-style: none; } h1{ font-size: 24px; } h2{ font-size: 20px; } h3{ font-size: 18px; } h4 { font-size: 16px; } h5{ font-size: 14px; } h6{ font-size: 12px; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
body,dl,dd,h1,h2,h3,h4,h5,h6,p,form,ol,ul {
  margin: 0;
  padding: 0;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}
 
ol, ul {
  list-style: none;
}
h1{
  font-size: 24px;
}
 
h2{
  font-size: 20px;
}
 
h3{
  font-size: 18px;
}
 
h4 {
  font-size: 16px;
}
 
h5{
  font-size: 14px;
}
 
h6{
  font-size: 12px;
}

歉意

这一片段是其风姿罗曼蒂克测量试验体系小说中唯生机勃勃采取内定框架的局地,那后生可畏都部队分运用的框架是 React。采纳 React 实际不是因为它是最佳的框架,笔者坚决地感到并未所谓最棒的框架,笔者依旧认为对于内定的现象也尚未最佳的框架。小编相信的是对此个体来说,唯有最合适,用着最顺手的框架。

而自身使用着最顺手的框架正是 React,所以接下去的代码都以 React 代码。然则此间照旧说澳优下,前端集成测量检验的 jsdom 技术方案得以适用于全体的主流框架。

ok,今后归来正题。

前人的秘诀

对此css命名冲突的标题,由来已经非常久,能够说我们前端开拓人士,每一天在费尽脑筋,如何去文雅的消除这几个主题素材。css并未有像js形似现身了英特尔、CMD和ES6 Module的模块化方案。

那正是说,回到难题,如何去化解呢?大家的先辈也是有建议过分裂的方案:

  1. Object-Oriented CSS
  2. BEM
  3. SMACSS

方案能够说是不可胜计,不乏有团体内部的消除方案。不过超级多都以贰个合营点——为选取器增添前缀。

这不过三个体力活,你或然须求手动的去编写长长的选择器,或然你能够运用预编写翻译的css语言。可是,它们好似并为消除本质的标题——为什么会以致这种缺憾。我们无妨来探视,使用BEM规范写出来的事例:

JavaScript

<!-- 正确的。成分都放在 'search-form' 模块内 --><!-- 'search-form' 模块 --> <form class="search-form"> <!-- 在 'search-form' 模块内的 'input' 成分 --> <input class="search-form__input" /> <!-- 在 'search-form' 模块内的 'button' 成分 --> <button class="search-form__button"></button> </form> <!-- 不正确的。成分坐落于 'search-form' 模块的上下文之外 --><!-- 'search-form' 模块 --> <form class=""search-block> </form> <!-- 在 'search-form' 模块内的 'input' 成分 --> <input class="search-form__input"/> <!-- 在 'search-form' 模块内的 'button' 成分 --> <button class="search-form__button"></button>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- 正确的。元素都位于 'search-form' 模块内 --><!-- 'search-form' 模块 -->
<form class="search-form">
    <!-- 在 'search-form' 模块内的 'input' 元素 -->
    <input class="search-form__input" />
    <!-- 在 'search-form' 模块内的 'button' 元素 -->
    <button class="search-form__button"></button>
</form>
<!-- 不正确的。元素位于 'search-form' 模块的上下文之外 --><!-- 'search-form' 模块 -->
<form class=""search-block>
</form>
<!-- 在 'search-form' 模块内的 'input' 元素 -->
<input class="search-form__input"/>
<!-- 在 'search-form' 模块内的 'button' 元素 -->
<button class="search-form__button"></button>

老是那样子写,估计是个工程师,都得加班吧,哈哈!

本文由云顶娱乐发布,转载请注明来源:七喜s技能及其优化,测量试验你的前端代码【云