整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

6个很棒的PostCSS插件,让您成为一个CSS向导

ostCSS是一个非常通用的工具,它可以通过javascript插件转换CSS样式。它的灵活性在于它的建造方式。

PostCSS的核心部分是一个node.js模块,您可以使用NPM进行安装,它有一个由200多个插件组成的生态系统,您可以在项目中选择使用这些插件。

PostCSS既不是预处理器,也不是后处理器,因为不同的PostCSS插件可能属于这两类中的任何一类,或者同时属于这两类;它完全取决于您对它的理解。使用PostCSS,您不需要学习不同的语法,比如sass或Less;您可以立即开始使用它。

PostCSS获取现有的css文件并将其转换为javascript可读数据,然后javascript插件执行修改,postss返回原始文件的修改版本。听起来很酷,不是吗?

在这篇文章中,我们将查看6个Postcss插件,让您了解使用这个出色的工具可以实现的一些伟大的事情。

Autoprefixer

autoprefixer可能是最知名的postcss插件,因为它被谷歌、Twitter和Shopify等知名科技公司使用。它在必要的地方向CSS规则添加供应商前缀。

autoprefixer使用我可以使用的数据。这样它就不会过时,而且可以应用最新的规则。您可以在它的交互式演示站点上查看它的工作原理。

CSSnext

cssnext是一个CSS发起者,它允许您在当前站点上使用未来的CSS语法。W3C有许多新的CSS规则,这些规则目前没有被浏览器实现,但可以使开发人员更快、更容易地编写更复杂的CSS。cssnext是用来弥补这个缺口的。

值得一看它的特性,看看你能用它完成什么,例如你可以在你的设计中使用自定义媒体查询、自定义选择器、颜色修改器、SVG过滤器和新的伪类。

PreCSS

PreCSS是一个postcss插件,工作方式类似于css预处理器。它可以利用样式文件中的标记之类的SASS。

通过在工作流中引入PreCSS,您可以在CSS代码中使用变量if else语句、for循环、mixin、@extend和@import规则、嵌套和许多其他方便的功能。PreCSS的Github文档为您提供了如何充分利用它的详细说明。

StyleLint

StyleLint是一个现代的CSS Linter,它可以校对和验证您的CSS代码。它使避免错误变得容易,并促使您遵循一致的编码约定。

Stylelint了解最新的CSS语法,因此它可以与前面提到的precss插件一起使用。它还允许您进行自己的配置,甚至检查设置是否有效。

PostCSS Assets

PostssAssets插件是一个方便的CSS文件资源管理器。如果您在URL路径方面遇到问题,这是一个很好的选择,因为PostSS资产将样式表文件与环境变化隔离开来。

您需要定义加载路径、相对路径和基本路径,插件将自动查找您需要的资源。例如,如果需要foobar.jpg图像的正确URL,可以编写以下代码:

body {
 background: resolve('foobar.jpg');
}

Postcss Assets还负责节省缓存,因为如果希望在修改资产时自动更改URL路径,可以将cachebuster变量设置为true。这个智能插件还可以计算图像文件的尺寸(宽度和高度),甚至可以使用预设比例调整它们的大小

CSSNano

如果您需要一个生产站点的优化和缩小的CSS文件,那么有必要查看cssnano。它是一个模块化的插件,由许多较小的单一责任PostSS插件组成。它不仅执行基本的缩小技术,如删除空白,还具有高级选项,使集中优化成为可能。

除了许多其他功能外,cssnano还能够重新调整z-index值、减少自定义标识符、转换长度、时间和颜色值以及删除过时的供应商前缀。

SIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个Open Source的Windows系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。NSIS通过它的脚本语言来描述安装程序的行为和逻辑的,因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言——但它是为安装程序这类应用所设计的。

以Qt打包后的程序,利用NSIS3.0.5为例,在Windows上定制安装向导。
双击“脚本编辑器VNISEdit”


选择“新建脚本:向导”


点击下一步:


这里的参数自己都可以设置试一下,点击下一步:
以打包一个hello.exe程序为例:




这个是做闪屏的,默认不勾选。


这个界面的设置就比较重要了,授权文件就是我们的licence.txt文件,这个文件的编码ASCII编码,就是记事本新建的默认文本格式,这个文件的的路径必须是存在的,否则后面的时候不能生成安装程序。

上面的程序默认路径,是指安装的时候出现的路径。
点击下一步:


这个界面中,我这里只演示简单的,常用方式,就是添加一个文件夹(包括子文件夹)中的全部文件
先把默认的模板文件删掉


点击这是添加文件夹的,2.04和2.05版本这里不能添加子文件夹(后面需要自己改脚本文件), 3.05版本的NSIS可以添加文件夹(包括子文件夹里的文件)
这个是用windeployqt打包出来的:


点击刚才那个按钮,选择你把包的hello程序的目录,勾选包含子目录(如果没有包含子目录选择就直接点击确定,后面再在脚本中加/r参数就行了)


点击下一步:
添加桌面快捷方式:


手动补全:


hello.lnk是自己的快捷方式名
$INSTDIR\hello.exe 这个是你打包的文件中的可执行文件


这里可以不勾,自己看需求设置


自己输入可执行文件名,如果有入口参数,则在这里加。自述还没用过,自己可以试试。


点击下一步:


这个界面也可以自己试试,我会保存脚本,下次就可以不用重新设置一遍了(要注意的是,脚本里使用的是相对路径)。

1
2
3
4
5
6

Section "MainSection" SEC01
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
File /r "..\helloPackage\*.*"
CreateShortCut "$DESKTOP\hello.lnk" "$INSTDIR\hello.exe"
SectionEnd

如果发现不能添加子目录,则添加/r,我这个版本有勾选“添加子目录”,则不用做什么额外的操作。

1

File /r "..\helloPackage\*.*"

如果注意这里的/r参数,这里可以手动加参数的。

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

/******************************
* 以下是安装程序的卸载部分 *
******************************/

Section Uninstall
Delete "$INSTDIR${PRODUCT_NAME}.url"
Delete "$INSTDIR\uninst.exe"

Delete "$SMPROGRAMS\hello\Uninstall.lnk"
Delete "$SMPROGRAMS\hello\Website.lnk"
Delete "$DESKTOP\hello.lnk"

RMDir "$SMPROGRAMS\hello"

RMDir /r "$INSTDIR\translations"
RMDir /r "$INSTDIR\styles"
RMDir /r "$INSTDIR\platforms"
RMDir /r "$INSTDIR\imageformats"
RMDir /r "$INSTDIR\iconengines"

RMDir "$INSTDIR"

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
SetAutoClose true
SectionEnd

这里的

1

RMDir "$INSTDIR"

改成

1

RMDir /r "$INSTDIR"

这样就可以把整个hello安装目录的所有文件,包括这个目录都删掉。

RMDir
[/r] [/REBOOTOK] 目录名
删除指定的目录(没有通配符的完整路径)。没有 /r 参数时只有在目录为空时才会被删除。如果指定了 /r ,则目录会被递归删除,所以在指定目录下的所有文件和目录均被删除。如果指定了 /REBOOTOK ,任何当前不能删除的文件或目录将会在重启后被删除 – 如果文件或目录需要在重启时被删除,会放置一个重启的标记。当文件或目录不能被删除时放置一个错误的标记。


看到这个界面,用菜单中的“编译并运行”


如果报错,下面有提示信息,看看什么没有设置。设置好后,下面就会出现这个安装向导程序:


安装完成后,桌面有快捷图标。双击,看是否出现界面。
安装目录中,有个uninst.exe卸载程序


我下载的NSIS3.05,下载地址:
https://www.kddf.com/xiazai/Application/program/12563.html


别点到其他地方去了,这个压缩文件大概有14.50 MB

Query表单向导是一个jQuery插件,与某种表格流协助表单创建(不用刷新页面)。举个例子,如果你有一个巨大的表格来输入用户数据,你可以使用表单向导来将其分成一系列相关步骤。这一优点使用户不会被超长表单吓到,并且当用户输入信息时为其提供一些进度指示。

在这篇文章中,我们列出了开发者最喜欢的六大jQuery表单向导,考量了它们的不同功能以及如何创立你自己的向导。这不会是一个冗长的列表,如果你正在寻找一个jQuery表单向导,这一定会为你指明正确的方向。

此列表在2017年8月30日更新,从列表中删除了损坏和弃用的插件,并加入了新的插件来提供开发者要求的功能。

1. jQuery Steps

jQuery Steps是一个智能UI元素,使开发者可以很方便地创建向导界面。这个插件将内容分成区块来形成更有结构和顺序 的页面外观。它有多种功能,例如、状态保持(这会保存你每一步的输入)以及每个区块的过渡效果。它可以通过NuGet或者bower安装,拥有内容和功能丰富的API。

2. jQuery Smart Wizard

Smart Wizard是一个灵活且高度客户化的jQuery步骤向导插件,有Bootstrap支持。它很容易执行,并且可以为你的表单、检出屏幕、注册步骤创建一个整洁而时髦的界面。它的功能包括主题支持(包括了多个主题)、URL导航、步骤选择和动态隐藏或关闭步骤。它可以通过npm、bower和composer安装,拥有内容和功能丰富的API。

3. formToWizard

这个小型插件可以用jQuery将任何网络表格转换成多步骤的向导,每个表格<fieldset>可以转换成具有前进和后退按键的单独步骤。虽然它没有像前两个插件那么多的功能,但它和jQuer确认插件整合,来提供确认功能。它是一个单独的文件(所以你可以从GitHub上将其提取下来),如果JavaScript不可用,它会慢慢的退化。

4. jQuery Stepy

jQuery Stepy是一个生成可客户化表格的向导。它假定表格有特定的结构,其中有特定的类。然后你只需要初始化插件,然后就拥有了表单向导。

此插件没有任何预先设定的风格。但是,它提供了丰富的选择,例如可以在步骤之间导航,提供前进、后退和完成按钮与过渡效果,与任何你选用的确认插件整合。它提供了合理的API,例如允许你触发步骤间的召回,或者当前步骤的确认后的召回。

5. Twitter Bootstrap Wizard

这个Twitter Bootstrap插件利用形式可转换结构建造向导。它允许用户利用按钮来建造一个向导功能,来遍访不同的向导步骤和实践,并分别接入每一步。此插件关键的优势在于它和Bootstrap紧密整合。它有一些基本功能,例如确认、进度条和创建或移除步骤的能力。另外,为了简单地从GitHub中复制插件,它还可以通过Bower(虽然并不推荐)来安装。它有不错的内容且提供了基础的API。

6. jQuery.wizard

最后要介绍的是jQuery.wizard。这是一个不同的表单向导,支持分支——在评论中被要求的功能之一。

基本结构包括步骤和分支,后者是选择性的。一个简单的线性表格可能只要求一个包含所有步骤的分支,但复杂的表格可能要求用到多个分支,甚至是极为复杂的分支。开发者需要处理表单中步骤和分支的数量。向导采用了不同的有限步骤决定怎样自身导航。

这一插件的内容前所未有的丰富,提供了扩展API。它可以通过npm或者Bower来安装,与Internet Explorer 6之后的所有版本兼容。它可以和多种其他插件整合,包括最受欢迎的jQuery Validation。你可以通过复制回复并在浏览器中查看examples/index.html来查看不同的例子。

彩蛋

开源软件的世界很精彩,在为新项目选用插件时可以坐享极丰富的选择。但是,这并不意味着我们应该躲避为有真正作用的软件付费。以下是两种需要付费的表单向导插件。我推荐你们去看一看它们,说不定会对你有用:

  • Form Wizard – Multi Step Form Validation(下载链接:https://codecanyon.net/item/form-wizard-multi-step-form-validation/19613591)

  • Timon – Step Form Wizard + jQuery Step Form Builder(下载链接:https://codecanyon.net/item/timon-step-form-wizard/15830006)

最后,如果你是那种喜欢弄懂所有事情的原理,不喜欢使用插件,那么你可能会想要看一看以下这些教程,告诉你如何通过探索来创建一个表单向导。

  • Turn any webform into a powerful wizard with jQuery(地址:http://www.jankoatwarpspeed.com/turn-any-webform-into-a-powerful-wizard-with-jquery-formtowizard-plugin/)

  • Multistep Form With Progress Bar Using jQuery And CSS(地址:http://talkerscode.com/webtricks/multistep-form-with-progress-bar-using-jquery-and-css.php)

结论

你已经拥有6个jQuery表单向导插件的详尽概览,每一个插件都有不同的功能和特点。根据项目要求来选用它们,希望你可以从这篇文章中找到对你有所帮助的内容。如果有什么遗漏请告知我们,或者通过下方评论告诉我们你最喜欢的插件是哪一个。