Ⅰ css preprocessors 怎么用
css preprocessors就是css预处理器, 主要是塌毁为了叫你更快写css的。 建议你先熟练掌握css的写法,之后可以看看现在使用比较广泛的三款预处理陆搜器,Sass、LESS 和 Stylus
给你个参考资料可以看看,空间里还有一些其他早衫历的前端知识。
参考资料:http://user.qzone.qq.com/47935982/blog/1397135243
Ⅱ 什么是预处理器,简单点说,可否举个例子。
,,如果是指编程方面野纳早而言,茄帆预处理器是在程序真正的编译开始之前,由编译器调用的独立程序。预处理器可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描颂雀写)替代。
Ⅲ vc++中的预处理器定义是干什么用的
预处理(pre-treatment),是指在进行最后加工完善以前进行的准备过程,具体应用在不同的行业或领域,会有不同的解释。
在一些程序设计语言中,预处理是preprocessing的翻译。
含义
程序设计领域中,预处理一般是指在程序源代码被翻译为目标代码的过程中,生成二进制代码之前的过程。典型地,由预处理器(preprocessor) 对程序源代码文本进行处理,得到的结果再由编译器核心进一步编译。这个过程并不对程序的源代码进行解析,但它把源代码分割或处理成为特定的单位——(用C/C++的术语来说是)预处理记号(preprocessing token)用来支持语言特性(如C/C++的宏调用)。
C/C++预处理
最常见的预处理是C语言和C++语言。ISO C和ISO C++都规定程序由源代码被翻译分为若干有序的阶段(phase) [1] [2] ,通常前几个阶段由预处理器实现。预处理中会展开以#起始的行,试图解释为预处理指令(preprocessing directive) ,其中ISO C/C++要求支持的包括#if/#ifdef/#ifndef/#else/#elif/#endif(条件编译)、#define(宏定义)、#include(源文件包含)、#line(行控制)、#error(错误指令)、#pragma(和实现相关的杂注)以及单独的#(空指令)[1] [2] 。预处理指令一般被用来使源代码在不同的执行环境中被方便的修改或者编译。[3]
预处理器在UNIX传统中通常缩写为PP,在自动构建脚本中C预处理器被缩写为CPP的宏指代。为了不造成歧义,C++(cee-plus-plus) 经常并不是缩写为CPP,而改成CXX。
注意预处理常被错误地当作预编译(precompiling) ,事实上这是两个不同的概念。预处理尽管并不是ISO C/C++要求的单独阶段,但“预处理”这个术语正式地出现并参与构成其它术语,如C的预处理翻译单元(preprocessing translation unit)[1] 以及C/C++词法规则中预处理记号(prerprocessing-token) 这个语法分类[1] [2] 。预编译是一些编译器支持的特性,不是C/C++语言的特性或实现必须要求遵循的规则涉及到的内容,没有在ISO C/C++全文中出现[1] [2] 。
纺织物的预处理编辑
含义或目的
纺织物的预处理,是纺织物烧毛、退浆、精练、漂白、丝光和热定形等工艺过程的总称。预处理的目的是去除纱线或织物上的天然杂质,以及纺织过程中所附加的浆料、助剂和沾污物。经过预处理的纺织品具有较好的润湿性、白度、光泽和尺寸稳定性。天然纤维含杂较多,其纺织物的预处理要求也较高,天然纤维与化学纤维混纺织物的预处理工艺,应以适合天然纤维为主,同时照顾化学纤维的要求。
预处理过程
烧毛是烧去纱线或织物表面的茸毛,使织物表面光洁,增进染色或印花后的色泽鲜艳度,在服用过程中不易沾尘。化学纤维织物烧毛后,还可减轻因茸毛摩擦而引起的起球现象。
退浆、精练、漂白过程都是去除织物上的各种杂质,三者相辅相成,各有侧重。退浆以去除浆料为主,同时也可洗除部分水溶性天然杂质;精练是以去除纤维伴生的天然杂质为主,并可去除织物上残留的浆料等物质;漂白是以去除色素为主,并进一步去除精练后的残留杂质。棉、麻纤维织物大多要经过退浆,常用的有热水、碱液、淀粉酶、氧化剂等退浆法。精练对于棉纺织物非常重要,主要是通过烧碱液的作用去除果胶质、棉脂、棉蜡等天然杂质,并使棉籽壳残屑体解。棉纤维的漂白常用次氯酸钠或过氧化氢。苎麻纺织物的精练、漂白工艺和棉相似。亚麻纤维的吸水性较好,精练要求较棉为低,可用纯碱处理。亚麻纺织物的漂白常用较廉价的次氯酸钠酸性溶液处理,再用碱液洗除反应产物。漂白和碱处理可交替重复进行。羊毛精练通常是在原毛状态进行的,又称洗毛,主要是去除羊汗和羊脂。可用含碳酸钠和肥皂或洗涤剂的练液在50℃左右使羊脂乳化而洗除。羊毛纤维一般不经漂白过程,需要时用还原剂如二氧化硫、亚硫酸氢钠或连二亚硫酸钠进行漂白,但漂白效果不持久,在空气中会逐渐氧化而泛黄;用过氧化氢漂白剂效果较好。蚕丝织物的预处理主要是精练,目的是去除丝胶。脱胶用剂主要是肥皂液,可酌加碳酸钠。也可先用蛋白酶处理,再经肥皂液洗涤。丝纤维的色素等杂质主要集中在丝胶中,脱胶后一般不再漂白。需要漂白时通常采用过氧化氢为漂白剂。合成纤维含杂极少,织造时大多选用水溶性浆料,且用量较少,退浆常结合精练进行,处理的条件可较温和。锦纶织物用非离子型洗涤剂处理;漂白用剂以亚氯酸钠最宜,过氧化氢或次氯酸钠均易使纤维受损。涤纶虽然遇碱会水解,仍可用淡碱液作精练处理,但应严格控制温度和时间,漂白用剂以亚氯酸钠为最好,有时退浆、精练、漂白可同时完成。
丝光主要用于加工棉、麻纺织物。丝光过程的特点是纱线或织物浸渍浓烧碱液,使纤维发生溶胀,再在张力状态下洗去碱液,从而获得耐久性的光泽,有效地提高染料的上染率并有定形作用。
热定形主要用于受热后易收缩变形的锦纶或涤纶等合成纤维及其混纺物的加工。这些纺织物在染色或印花之前,一般都先在有张力的状态下用比后续工序为高的温度进行处理,以防止织物收缩变形。
工业水处理中预处理编辑
定义和组成
沼气在沼气池中发酵产生后
气体预处理
气体预处理
,里面会有大量的腐蚀性气体和对环境造成严重污染的气体(烷类气体、一氧化碳、二氧化碳、硫化气体等),对于发电机组和环境都是不能接受的,宾士预处理系统主要是为了保证燃气发电机组能够正常稳定的运行而设计生产的,沼气经过预处理系统后可以大大降低硫化物、水分及颗粒度。
在工业用水处理中,预处理工序的任务是将工业用水的水源——地表水、地下水或城市自来水处理到符合后续水处理装置所允许的进水水质指标,从而保证水处理系统长期安全、稳定地运行,为工业生产提供优质用水。
预处理的对象主要是水中的悬浮物、胶体、微生物、有机物、游离性余氯和重金属等。这些杂质对于电渗析、离子交换、反渗透、钠滤等水处理装置会产生不利的影响。 [4]
(一)悬浮物
在离子交换水处理中,进水的悬浮物会附着于交换剂颗粒表面,降低交换容量。
在电渗析水处理中,进水的悬浮物会黏附在膜表面上,成为离子迁移的障碍,增加膜电阻。
在钠滤、反渗透中,进水的悬浮物会堵塞膜的微孔,使透水率下降。
(二)有机物
在离子交换水处理中,有机物会污染阴离子交换树脂,使其交换容量下降,再生剂耗量增大,树脂使用寿命缩短。
在电渗析水处理中,水中带极性有机物被膜吸附后,会改变膜的极性,并使膜的选择透过性降低,膜电阻增加。
在反渗透、钠滤水处理中,有机物、胶体、悬浮物容易堵塞反渗透、钠滤膜的微孔,使透水率很快下降。
(三)微生物
水中的细菌转移到电渗析膜,在膜面上繁殖,会使膜电阻增加。
细菌、微生物对醋酸纤维素反渗透、纳滤膜有侵蚀作用。细菌繁殖会污染膜。
(四)游离性余氯
游离性余氯会使阳离子交换树脂或离子交换膜活性基团氧化分解,引起树脂或膜结构破坏。还会使反渗透聚酰胺膜性能恶化。
(五)铁、锰离子
铁、锰离子易被离子交换树脂吸附,且不易被再生剂取代,降低交换容量。也会使电渗析膜污染、中毒。铁、锰金属氧化物,其含量高时,在反渗透、纳滤膜表面易形成氢氧化物胶体,产生沉淀作用。
由于上述种种不利的影响,导致工业用水处理系统产水量减少,出水的水质下降,工作周期缩短,消耗指标上升,制水成本提高,树脂和膜的使用寿命缩短,并在操作管理上增加麻烦。
随着工农业的不断发展,城市人口的日益密集,有些污水未经处理排入江河,使水中有害物质日益增多。这就对工业用水的预处理提出了更高的要求。
Ⅳ 什么是 CSS 预处理器 与 后处理器
预处理嫌梁器就芹姿运是编译css,以前css都是静态的,要写两个class就得写两个class,现在可以加入变量。预处理器会对变量做处理。
后处理器就册轮是对css加入一些扩展,增强css的兼容性。
Ⅳ css预处理器是什么
css预处理器用来定义一种新的语举渗言,完全兼容css语法,它为css增加了一些编程的特性,比如变量、函数、逻辑控制。css预处理器编写的css不能直接正纤脊竖空被浏览器识别,需要编译生成css文件。
Ⅵ 什么是php预处理器,说明解释执行与编译执行
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快没衫速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行枯陆腔效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达悉缓到加密和优化代码运行,使代码运行更快。
Ⅶ css预处理器有哪些
CSS(Cascading Style Sheet)被译为级联样式表,做为一名前端从业人员来说,这个专业名词并不陌生,在行业中通常称之为“风格样式表(Style Sheet)”,它主要是用来进行网页风格设计的。通过设立样式表,可以统一地控制HTML(XHTML)中各标签的显示属性。可以使人更能有效的控制Web页面(或Web应用程序)外观,可以精确指定Web元素位置,外观以及创建特殊效果的能力。CSS拥有对网页对象和模型样式编辑能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据 不同使用者的理解能力,简化或者优化写法,针对各类人群有较强的易读性。
就CSS本身而言,对于大多数Web前端从业人员来说就不是问题。学过CSS的人都知道,它不是一种编程语言。你可以用它开发网页样式,但是没法用它编程。换句话说,CSS基本上是设计师的工具,不是程序员的工具。在程序员的眼里,CSS是很头痛的事情,它并不像其它程序语言,比如说PHP、Javascript等等,有自己的变量、常量、条件语句以及一些编程语法,只是一行行单纯的属性描述,写起来相当的费事,而且代码难易组织和维护。
很自然的,有人就开始在想,能不能给CSS像其他程序语言一样,加入一些编程元素,让CSS能像其他程序语言一样可以做一些预定的处理。这样一来,就有了“CSS预处器(CSS Preprocessor)”。
一、什么是CSS预处器
CSS预处理器定义了一种新的语言,其基本思想是,用一种专门的编程察缓语言,为CSS增加了一些编程的特性,将CSS作为目标生成文件,然后开发者就只要使用这种语言进行编码工作。通俗的说,CSS预处理器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用。CSS预处理器为CSS增加一些编程的特性,无需考虑浏览器的兼容性问题,例如你可以在CSS中使用变量、简单的逻辑程序、函数等等在编程语言中的一些基本特性,可以让你的CSS更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。
CSS预处理器技术已经非常的成熟,而且也涌现出了很多种不同的CSS预处理器语言,比如说:Sass(SCSS)、LESS、Stylus、Turbine、Swithch CSS、CSS Cacheer、DT CSS等。如此之多的CSS预处理器,那么“我应该选择哪种CSS预处理器?”也相应成了最近网上的一大热门话题,在Linkedin、Twitter、CSS-Trick、知呼以悉蠢及各大技术论坛上,很多人为此争论不休。相比过计我们对是否应该使用CSS预处理器的话题而言,这已经是很大的进步了。
到目前为止,在众多优秀的CSS预处理器语言中就属Sass、LESS和Stylus最优秀,讨论的也多,对比的也多。本文将分别从他们产生的背景、安装、使用语法、异同等几个对比之处向你介绍这三款CSS预处理器语言。相信前端开发工程师会做出自己的选择——我要选择哪款CSS预处理器。
二、Sass、LESS和Stylus背景介绍
为了能更好的了解这三款流行的CSS预处理器,我们先从其背景入手,简单的了解一下各自的背景信息。
1.Sass背景介绍
Sass是对CSS(层叠样式表)的语法的一种扩充,诞生于2007年,最早也是最成熟的一款CSS预处理器语言,它可以使用变量、常量、嵌套、混入、函数等功能,可以更有效有弹性的写出CSS。Sass最后还是会编译出合法的CSS让浏览器使用,也就是说它本身的语法并不太容易让浏览器识别,因为它不是标准的CSS格式,在它的语法内部可以使睁没陪用动态变量等,所以它更像一种极简单的动态语言。
其实现在的Sass已经有了两套语法规则:一个依旧是用缩进作为分隔符来区分代码块的;另一套规则和CSS一样采用了大括号({})作为分隔符。后一种语法规则又名SCSS,在Sass3之后的版本都支持这种语法规则。
2.LESS的背景介绍
2009年开源的一个项目,受Sass的影响较大,但又使用CSS的语法,让大部分开发者和设计师更容易上手。LESS提供了多种方式能平滑的将写好的代码转化成标准的CSS代码,在很多流行的框架和工具中已经能经常看到LESS的身影了(例如Twitter的Bootstrap框架就使用了LESS)。
根据维基网络上的介绍,其实LESS是Alexis Sellier受Sass的影响创建的一个开源项目。当时SASS采用了缩进作为分隔符来区分代码块,而不是CSS中广为使用的大括号({})。为了让CSS现有的用户使用起来更佳方便,Alexis开发了LESS并提供了类似CSS的书写功能。
3.Stylus背景介绍
Stylus,2010年产生,来自于Node.js社区,主要用来给Node项目进行CSS预处理支持,在此社区之内有一定支持者,在广泛的意义上人气还完全不如Sass和LESS。
Stylus被称为是一种革命性的新语言,提供一个高效、动态、和使用表达方式来生成CSS,以供浏览器使用。Stylus同时支持缩进和CSS常规样式书写规则。
注:Stylus上下载Ruby安装文件(随意选择一个版本),此处选择的是最新版本Ruby1.9.3-p385:
除了使用Ruby的Command控制面板转译Sass之外还可以考虑第三方工具,比如说有名的Compass.app和fire.app。
2.LESS文件的转译成CSS文件
LESS文件的转译和Sass文件转译可以说是大同小异,不同之处是LESS在安装的Node JS环境下通过其自己的命令来进行转译。
$ lessc style.less
上面的命令会将编译的CSS传递给stdout,你可以将它保存到一个文件中:
$ lessc style.less > style.css
除了上面的命令转译LESS源文件之外,现在还有很多第三方开发的工具,比较常见的有:SimpleLess、Less.app、LESS编译辅助脚本-LESS2CSS、WinLess和CodeKit.app等,我个人现在常用的是WinLess工具,简单易用,不过在IOS系统下LESS.app和CodeKit.app很好用。
3.Stylus源文件转译成CSS文件
Stylus具有可执行性,因此Stylus能将自身转换成CSS。Stylus可以读取自“stdin”输出到“stdout”,因此Stylus可以像下面转译源文件:
$ stylus –compress <some.styl> some.css
Stylus也像Sass一样,同时接受单个文件和整个目录的转译。例如,一个目录名为“css”将在同一个目录编译并输出“.css”文件。
$ stylus css
下面的命令将输出到“./public/stylesheets”:
$ stylus css –out public/stylesheets
还可以同时转译多个文件:
$ stylus one.styl two.styl
如果你的浏览器安装了Firebug,那么可以使用FireStylus扩展。
$ stylus –firebug <path>
五、Sass、LESS和Stylus的语法
每一种语言都有自己一定的语法规则,CSS预处理器语言也不例外,在真正使用CSS预处器语言之前还有一个不可缺少的知识点,就是对语法的理解。值得庆幸的是,这三款CSS预处理器语言的语法和CSS语法都差不多。
1.Sass语法
Sass3.0版本开始使用的是标准的CSS语法,和SCSS可以说是一样的。这样Sass代码转换成CSS代码变得更容易。默认Sass使用“.scss”扩展名。Sass语法规则可以像CSS那样书写:
/*style.sass新版语法规则*/h1{ color:#936;
background-color:#333;}
正如你所看到的,在Sass样式中,这样的代码是在简单不过的了。
重要的一点是,Sass也同时支持老的语法,老的语法和常规的CSS语法略有不同,他需要严格的语法,任何的缩进和字符的错误都会造成样式的编译错误。Sass可以省略大括号({})和分号(;),完全依靠严格的缩进和格式化代码,而且文件使用“.sass”扩展名,他的语法类似于:
/*style.sass*/h1
color:#936
background-color: #333
2.LESS语法
LESS是CSS的一种扩展形式,它并没有阉割CSS的功能,而是在现有的CSS语法上,添加了很多额外的功能。就语法规则而言,LESS和Sass一样,都是使用CSS的标准语法,只是LESS的源文件的扩展名是“.less”,其基本语法类似于:
/*style.less*/h1 { color: #963;
background-color: #333;}
3.Stylus语法
Stylus的语法花样多一些,它的文件扩展名是“.styl”,Stylus也接受标准的CSS语法,但是他也像Sass老的语法规则,使用缩进控制,同时Stylus也接受不带大括号({})和分号的语法,如下所示:
/*style.styl*//*类似于CSS标准语法*/h1 { color: #963;
background-color:#333;}/*省略大括号({})*/h1
color: #963; background-color: #333;/*省略大括号({})和分号(;)*/h1
color:#963
background-color:#333
在Stylus样式中,你也可以在同一个样式文件中使用不同的语法规则,下面这样的写法也不会报错:
/*style.styl*/h1 {
color #963}
h2
font-size:1.2em
六、Sass、LESS和Stylus特性
这三款CSS预处理器语言具有一些相同的特性,例如:变量、混入、嵌套、函数等。在这一节中,我们依次来对比一下这三款CSS预处理器语言各种特性的异同之处,以及使用方法。
1.变量(Variables)
如果你是一个开发人员,变量应该是你最好朋友之一。在CSS预处理器语言中你也可以声明变量,并在整个样式表中使用。CSS预处理器语言支持任何变量(例如:颜色、数值、文本)。然后你可以在任意地方引用变量。
a)Sass的变量
Sass声明变量必须是“$”开头,后面紧跟变量名和变量值,而且变量名和变量值需要使用冒号(:)分隔开。就像CSS属性设置一样:
/*声明变量*/$mainColor: #963;$siteWidth: 1024px;$borderStyle: dotted;/*调用变量*/ | /*转译出来的CSS*/------------------------------------------+------------------------------
body { | body {
color: $mainColor; | color: #963;
border:1px $borderStyle $mainColor; | border:1px dotted #963;
max-width: $siteWidth; | max-width: 1024px;
} | }
b)LESS的变量
LESS样式中声明变量和调用变量和Sass一样,唯一的区别就是变量名前面使用的是“@”字符:
/*声明变量*/@mainColor: #963;@siteWidth: 1024px;@borderStyle: dotted;/*调用变量*/ | /*转译出来的CSS*/----------------------------------------+-------------------------------
body { | body {
color: @mainColor; | color:#963;
border:1px @borderStyle @mainColor; | border:1px dotted #963;
max-width: @siteWidth; | max-width:1024px;
} | }
c)Stylus的变量
Stylus样式中声明变量没有任何限定,你可以使用“$”符号开始。结尾的分号(;)可有可无,但变量名和变量值之间的等号(=)是需要的。有一点需要注意的是,如果我们使用“@”符号开头来声明(0.22.4)变量,Stylus会进行编译,但其对应的值并不会赋值给变量。换句话说,在Stylus中不要使用“@”符号开头声明变量。Stylus中调用变量的方法和LESS、Sass是完全相同的。
/*声明变量*/mainColor = #963;siteWidth = 1024px;$borderStyle = dotted;/*调用变量*/ | /*转译出来的CSS*/----------------------------------------+--------------------------------
body | body {
color mainColor | color: #963;
border 1px $borderStyle mainColor | border:1px dotted #963
max-width siteWidth | max-width:1024px;
| }
Stylus还有一个独特功能,不需要分配值给变量就可以定义引用属性:
/*水平垂直居中*/ | /*转译出来的CSS*/------------------------------------+------------------------------------#logo | #logo {
position absolute | position:absolute;
top 50% | top:50%;
left 50% | left:50%;
width w = 150px | width:150px;
height h = 80px | height:80px;
margin-left -(w / 2)