专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

postcss是什么东西?为什么要用?

来源:小嗨整编  作者:小嗨  发布时间:2024-03-19 08:27
摘要:为什么要用postcss随着技术的发展,目前css已经发展到了第三阶段css3.css3能够支持更多的动效,以前需要用js来实现的动画、过渡,计算等功能,如今大多都能够用css来实现,而且性能更佳。当然,随着业务的需要,在编写css过程当中...

为什么要用postcss

postcss是什么东西?为什么要用?

随着技术的发展,目前css已经发展到了第三阶段css3.css3能够支持更多的动效,以前需要用js来实现的动画、过渡,计算等功能,如今大多都能够用css来实现,而且性能更佳。当然,随着业务的需要,在编写css过程当中,为了能够让css具备js的可复用性,灵活性、模块化开发以及更好的管理样式文件,像sass这样的css框架就应运而生。

sass能够解决css一些缺憾,包括但不限于:

1.变量:声明一个变量,多处使用

$content: "Non-null content";.main { content: $content;}编译为.main { content: "Non-null content”;}
登录后复制

2.嵌套:能够更好的明确父子层级关系,方便修改查找以及减少样式命名

.main {

  .redbox {    background-color: #ff0000;    color: #000000;  }
登录后复制

}编译为 .main .redbox {

    background-color: #ff0000;    color: #000000;
登录后复制

}

3.引用混合样式:一处定义,多处使用

编译前:

@mixin clearfix { display: inline-block; &:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;}}.box{@include clearfix}
登录后复制

编译为:

.box{display: inline-block;}.box:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
登录后复制

4.函数指令:像js一样开始编程

$grid-width: 40px;$gutter-width: 10px;@function grid-width($n) { @return $n * $grid-width + ($n - 1) * $gutter-width;}.sidebar { width: grid-width(5); }编译为.sidebar { width: 240px; }
登录后复制

以上4种是最为常见的,更多用法,请自行到Sass官网了解。

Css预处理器让前端开发人员大大提升了css开发速度,跟sass类拟的还有less,Stylus。

1.基于Ruby,使用sass必须安装Ruby,内部是使用Ruby来编译的。

2.需要安装node-sass.目前前端都使用了gulp,webpack这些构建工具,那么如果用sass的话,webpack构建必须安装sass-loader,而sass-loader又依赖于node-sass,要知道node-sass安装速度极其慢,特别是使用window系统开发时,npm<5.4时,经常会出现node-sass安装不成功的情况。

3.全局变量的污染,在多人开发过程当中,定义选择器时,需要顾及到其他地方是否使用了同样的命名。

4.静态编译:预先编译,展示来页面当中的是已经编译好的css.

4.不支持未来的css。目前处于css3阶段,未来css发展方向值得期待,未来的CSS中将会支持更多的属性以及函数,其中不乏有变量,嵌套,值计算等。

postcss定义:

PostCSS is a tool for transforming CSS with JS plugins. These plugins can support variables and mixins, transpile future CSS syntax, inline images, and more.

postcss的优点

1.支持未来的css: 使用cssnext书写未来的css(postcss-cssnext plugin)

:root { --heading-color: #ff0000;}/ custom selectors /@custom-selector :--headings h1, b, b, h4, h5, h6;/ usage /:--headings { color: var(--heading-color);}
登录后复制

通过 cssnext,上述代码会被处理成以下内容

h1,b,b,h4,h5,h6 { color: #ff0000;}
登录后复制

2.编译速度大大提升。PostCSS 声称比预处理器快 3-30 倍。3.丰富的插件系统,解放你的双手。4.css模块化,将作用域限制于组件内,避免了全局作用域的问题,再也不用担心样式名重复了

Postcss属于css后处理器,动态编译css,也就是说,在运行的时候进行编译。Postcss本身不会对你的css做任何事物,你可以把postcss当做一个壳,伴随着postcss的生态,衍生出更多postcss插件,能够帮你解决95%以上的css疑问,如果你需要自定义一个属于自己业务需求的css编写规范,那么你也可以为此开发一个特定的postcss plugin.

npm安装postcss-loader,postcss-cssnext: npm install postcss-loader postcss-cssnext -D

webpack.config.js

postcss-modules and react-css-modules automatically isolate selectors within components.postcss-autoreset is an alternative to using a global reset that is better for isolatable components.postcss-initial adds all: initial support, which resets all inherited styles.autoprefixer adds vendor prefixes, using data from Can I Use.postcss-preset-env allows you to use future CSS features today.precss contains plugins for Sass-like features, like variables, nesting, and mixins.postcss-assets inserts image dimensions and inlines files.postcss-sprites generates image sprites.postcss-inline-svg allows you to inline SVG and customize its styles.postcss-write-svg allows you to write simple SVG directly in your CSS.postcss-syntax switch syntax automatically by file extensions.postcss-html parsing styles in postcss-markdown parsing styles in code blocks of Markdown files.postcss-jsx parsing CSS in template / object literals of source files.postcss-styled parsing CSS in template literals of source files.postcss-scss allows you to work with SCSS (but does not compile SCSS to CSS).postcss-sass allows you to work with Sass (but does not compile Sass to CSS).postcss-less allows you to work with Less (but does not compile LESS to CSS).postcss-less-engine allows you to work with Less (and DOES compile LESS to CSS using true Less.js evaluation).postcss-js allows you to write styles in JS or transform React Inline Styles, Radium or JSS.postcss-safe-parser finds and fixes CSS syntax errors.postcss-will-change this plugin uses backface-visibility to force the browser to create a new layer, without overriding existing backface-visibility properties.

推荐学习:《css视频教程》

以上就是postcss是什么东西?为什么要用?的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1150929.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • 魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?

    魔兽世界泰兰德是什么职业(魔兽世界泰兰德幻化怎么获得)?在魔兽世界中,泰兰德是魔兽世界中暗夜精灵种族的代表性角色,她以牧师职业为主。牧师在游戏中拥有强大的治疗和辅助能力,是团队中不可或缺的重要角色。泰兰德作为一名牧师,擅长使用圣光和暗影之力...

  • 睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?

    睡眠app哪个好用(睡眠app是什么原理)?随着科技的发展,越来越多的睡眠APP走进了我们的生活。它们通过科学的原理和实用的功能,帮助人们改善睡眠质量,缓解压力。本文将为您盘点几款热门的睡眠APP。睡眠app哪个好用1.小睡眠小睡眠是一款备...

  • 阴阳师电脑版怎么下(阴阳师电脑版为什么没有了)?

    阴阳师电脑版怎么下(阴阳师电脑版为什么没有了)?

    阴阳师电脑版怎么下(阴阳师电脑版为什么没有了)?阴阳师作为一款现象级的策略回合制手游,许多玩家都曾期待能够在电脑上享受到更为舒适的操控与视觉体验。然而,许多玩家发现阴阳师电脑版已经无法下载,这究竟是为何呢?本文将为您揭秘阴阳师电脑版下载难题...

  • 梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?

    梦幻西游嘉年华是什么时候(梦幻手游嘉年华2024)?据悉,梦幻西游嘉年华2024的首场活动已经在2024年1月12日19:30正式开启,为广大玩家带来了一场名为“惊喜宝藏夜”的狂欢盛宴。在这次活动中,不仅有重量级嘉宾的精彩表演,梦幻开发组的...

  • 绝地求生挂为什么屡禁不绝(绝地求生挂多吗)?

    绝地求生挂为什么屡禁不绝(绝地求生挂多吗)?

    绝地求生挂为什么屡禁不绝(绝地求生挂多吗)?绝地求生作为一款现象级的战术竞技游戏,自推出以来便吸引了无数玩家的热情参与。然而,与之相伴的作弊现象——即使用外挂,也一直成为困扰游戏环境和玩家体验的一大难题。尽管官方和各类监管机构不断加大对使用...

  • dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?

    dnf卢克西是什么职业(dnf卢克西三件套属性)?在dnf中,卢克西并不是一个职业,而是一套装备的名称。卢克西三件套是专为鬼剑士职业设计的装备套装,尤其适合那些依赖觉醒技能输出的角色。卢克西三件套的具体装备包括以下三件:1.卢克西的灵魂狂气...

  • win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?

    win7激活工具免费版(win7激活工具是什么意思)?当我们购买一台安装了Windows系统的电脑时,通常会发现系统处于未激活状态。这不仅会影响电脑的正常使用,还可能引发安全风险。因此,理解Windows系统激活的重要性,并学会如何进行系统...

  • 推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?

    推广app赚佣金平台有哪些(推广app是什么工作)?简单来说,推广引流app就是利用各种渠道,将一款应用程序(App)推广给潜在用户,吸引他们下载并使用。推广app赚佣金平台有哪些1:U客直谈想要从事地推app拉新行业,U客直谈建议深入了解...

  • 周排行
  • 月排行
  • 年排行

精彩推荐