使用inuit.css揉鼻子
inuit.css是一个强大的,可扩展的,基于Sass的BEM,OOCSS框架。 本文是对inuit.css的简要介绍。 如何构建,谁应该使用它以及为什么。
嘿,我是Harry ,最近重写CSS框架inuit.css的创建者。 希望本文可以作为inuit.css是什么的简要介绍,为何与众不同以及如何立即开始使用它……
另一个CSS框架诞生了
首先,我知道您在想什么。 另一个CSS框架? 好吧,简短的答案是肯定的。长答案是“是的,但是有一个理由……”
CSS框架目前是10便士,许多人定期发布关于CSS框架的内容。 大多数这些框架的问题在于它们的观点很自以为是。 CSS是一种样式语言,因此任何CSS框架都固有地处理外观和外观。 但是,inuit.css没有。
如果您是需要其他人来为您处理设计的开发人员,那么做出很多设计决策CSS框架会很棒,但是如果您是需要CSS的设计师,那该怎么办? 使用框架意味着您要么不得不忍受别人的设计决策和意见,要么就开始删除很多代码。 或两者! 别人的设计可能完全不适合您的项目,这使其几乎毫无意义。 这远非理想,我们需要一个样式为零CSS框架。 一个繁重的工作。
inuit.css是一个由功能强大的少量免费设计对象和抽象组成的集合,它们构成了任何网站的框架,然后您可以将设计放在其顶部。 inuit.css以OOCSS方式工作,这意味着您可以将所有内容分解为结构和外观。 inuit.css负责结构,您可以在自己的顶部涂抹化妆品!
inuit.css还有一个充满变量的文件,该文件将设置整个项目的印刷比例。 它们完全取决于您,并且将用于围绕您选择的值构建大量组件。
inuit.css消除了很多样式上的麻烦 ,但是却使您完全可以控制样式本身。
那Bootstrap呢?
当然,CSS框架市场中任何人的主要竞争对手是Twitter的Bootstrap 。 如果您需要处理设计方面的东西,Bootstrap非常有用。 它的设置非常Swift,您可以将各种预先设计的组件随意放入项目中。 非常适合需要快速将前端放在一起的设计挑战型开发人员,但对有自己的化妆品想法但需要一些CSS技巧的帮助者的设计师毫无用处。
如果您需要设计或速成的现成解决方案,请使用Boostrap! 如果您需要创作自由,但需要可扩展,无设计,可扩展且功能强大的帮助程序,则可以考虑使用inuit.css…
inuit.css的原理
inuit.css是为各种规模的网站构建的微型框架; 从简单的一页传机,到需要不断发展的庞大的内容管理巨兽。
inuit.css实际上非常适合大型网站和大型团队,并且它基于某些原则来辅助这种开发方式。
OOCSS
首先,inuit.css是一个OOCSS框架。 我是OO思维方式的坚定支持者。 我写的和说关于OOCSS了很多。 OOCSS是一种处理较大版本的绝佳方法。 基于功能的代码重用,抽象出常见/重复的设计模式,DRY出代码,保持代码高效和可移植性。 所有这些想法都烤成其核心inuit.css,框架基本上是一个有用的对象和抽象,如库的导航抽象 , 媒体对象 ,在岛上对象和多很多 。
分离结构和外观的想法正是使inuit.css非常适合涉及一个或多个设计师的项目。 inuit.css提供了免设计的结构设计模式,设计团队对其进行了全面的设计。
干性,效率和抽象性的思想正是inuit.css非常适合大型网站的原因。 CSS保持苗条,抽象证明更有用,构建更有效; 这些确实对大型项目有帮助。
SMACSS
inuit.css以SMACSS风格构建。 它不那么精细或完整(因为inuit.css缺少模块,SMACSS 不一定处理抽象和OOCSS),但是它具有一些共同的原则……
inuit.css非常重视按特定顺序编写CSS的想法。 在项目上重新定义或撤消自身的代码通常是个坏消息,因此以避免这种情况的方式构造CSS至关重要,尤其是在较大的版本中。 inuit.css的文件结构意味着每个规则集只会添加到以前的规则集中,而不会撤销它们。
首先,我们从基本的重置/重启开始; inuit.css重置边距和填充,但还定义了一些有用的跨浏览器默认值。 这是零地面,您的出发点,绝对是最基本的。
接下来,inuit.css导入未分类的元素,例如标题( h1
– h6
)之类的东西,它们被设置为您在变量文件中定义的垂直节奏…这些使您可以使用所有样式都简单的原始HTML元素根据您选择的变量。
之后,我们添加对象和抽象……这些是扩展HTML元素(使用类)并进行繁重工作的东西。 这些对象和抽象都与元素无关,因此几乎可以应用于任何对象。 这使它们具有难以置信的便携性,可重用性,并且最重要的是非常有用!
一旦开始将inuit.css扩展为可以在自己的项目上使用,接下来要导入的内容就是组件或模块。 这些都是由对象和抽象及其相关扩展构建而成的(例如,将媒体对象转换为用户个人资料图像和生物)。
最后,inuit.css引入所有帮助程序类和“样式王牌”。 这些是您的网格系统的宽度和推/拉类,您的品牌颜色和外观等有用的类,甚至是开发的调试模式。
边界元
BEM是Yandex的开发人员梦dream以求的功能强大的前端方法。 简而言之,BEM是命名CSS类的一种方法,以使它们更加严格,清晰和强大。 inuit.css使用BEM方法和基于Nicolas Gallagher的工作的命名约定。
BEM代表块 , 元素 , 修饰符 。
块就像一个组件,元素是朝着整体构建块的方向,修饰符是块的变体,例如:
.comment{} /* Block */
.comment__body{} /* Element */
.comment--guest{} /* Modifier */
在这里,我们有一个.comment
块,其中可以包含一个名为.comment__body
的元素。 我们还可以看到,有一个.comment
的变体,称为.comment--guest
。 仅从类中,我们就可以清除每件事的作用以及它们之间的关系。 .comment__body
必须居住在.comment
内部,而.comment--guest
必须是.comment
的变体。
__
, --
表示法告诉我们有关某个对象的很多信息。 这在较大的团队中特别有用,因为它有助于传达应如何,在何处以及何时使用课程。
BEM如何工作的一个很好的类比可能是:
.person{}
.person--woman{}
.person__hand{}
.person__hand--left{}
.person__hand--right{}
在这里,我们可以看到我们描述的基本对象是一个人,而另一个类型的人可能是一个女人。 我们还可以看到人们有双手。 这些是人的子部分,而这些人又有不同的变化,例如左右。
萨斯
使用Sass的原因有很多,主要是为了:
- 我们可以拆分文件,这意味着您可以在需要时调用对象和抽象。 这意味着您的代码将保持苗条,仅在需要时使用。
- 我们可以使用允许inuit.css围绕您自己确定的值设置整个印刷比例和垂直节奏的变量 。
- 由于在预编译的源代码中物理上较少,因此代码更易于维护 。
- 我们可以尽量减少CSS ,考虑到inuit.css包含多少注释,这非常重要!
将inuit.css移到预处理器上并非易事,但我很高兴自己做出了这一决定。 事实证明,将OOCSS与Sass结合使用非常有用,并且使用变量来设置您的自定义项目意味着没有两个inuit.css构建看起来是相同的。
入门
在inuit.css上设置项目再简单不过了。 假设您的项目具有非常基本的结构,如下所示:
+ css/
+ img/
+ index.html
然后,第一步是将inuit.css进入该CSS目录。 有两种方法可以执行此操作:
- 删除CSS目录,将
cd
放入项目目录,并使用Git克隆:git clone https://github.com/csswizardry/inuit.css.git css && cd css/ && rm -rf .git/ && cd ../
。 这基本上是说“将inuit.css项目克隆到一个名为css
的目录中,然后进入css/
并从inuit.css文件中删除Git版本,然后返回该项目目录”。 - 下载最新的inuit.css zip并将其解压缩到CSS目录中。
完成此操作后,您的项目应如下所示:
+ index.html
+ css/
+ inuit.css/
+ _vars.scss
+ README.md
+ watch.sh
+ your-project.scss
+ img/
首先,您可以完全删除README.md
。 接下来,将your-project.scss
重命名为style.scss
,例如style.scss
。
注意:如果您使用CodeKit或其他接口来编译Sass,请跳到本教程的结尾 ,我们将以这种方式快速了解如何设置inuit.css项目。
现在,您需要打开watch.sh
,在其中应找到以下内容:
#!/bin/sh
# Change all instances of ‘your-project’ to whatever you have named your
# project’s stylesheet, `cd` to the directory in which this file lives and
# simply run `sh watch.sh`.
# No minification
#sass --watch your-project.scss:your-project.css --style expanded
sass --watch your-project.scss:your-project.min.css --style compressed
exit 0
在这里,您需要将your-project.scss
每个实例更改为您选择的名称。 这个小文件减轻了从命令行查看Sass文件的麻烦。
现在开始观看项目文件,您只需要打开一个Terminal窗口,将其cd
转到项目CSS目录,然后只需运行sh watch.sh
。 瞧,您的项目现已在inuit.css上设置。
变数
如前所述,inuit.css附带了一堆变量,可以完成很多工作,如果打开_vars.scss
,则应该看到它们全部……
$debug-mode
对于开发中的项目很方便; 这将调用inuit.css附带的调试插件,并在浏览器中直观地标记任何可能无法访问或麻烦的代码。
$base-font-size
和$base-line-height
可以自我解释,但是非常重要。 仅给出这两项信息,inuit.css就可以开始设置整个垂直节奏(有关更多信息,请参见_mixins.scss
的font-size()
mixin)。
其余变量几乎只是标题的字体大小。 这些以及您的$base-font-size
和$base-line-height
变量一起构成了您的垂直节奏。 尝试更改这些变量,看看会发生什么!
最后一件事…
下一步是我发现非常有用的步骤; 打开inuit.scss
,您将找到一个巨大的目录和一长串的导入部分。 优良作法是立即注释掉所有对象和抽象,并根据需要取消注释。 这意味着您必须在需要它们时有意调用它们,并且不必捆绑大量未使用CSS。
在观察文件,设置变量和注释掉未使用的对象之后,您都可以在inuit.css上进行设置…
在没有命令行的情况下工作
您很有可能不直接使用命令行,在这种情况下,您可以使用许多可用于编译Sass的应用程序之一。 CodeKit就是这样一个示例,并且(就我们在此需要的而言)在任何运行平台上的行为都与任何其他编译器相似。
因此,然后,要设置一个inuit.css项目,您首先需要从GitHub存储库中获取源文件:
解压缩文件后,将它们组织到熟悉的项目布局中,例如:
如您所见,我已经将inuit源文件夹的内容扔到了css
文件夹中。 我还摆脱了README.md和watch.sh文件。
接下来,打开您的编译器(在这种情况下为CodeKit),并指示其监视您的项目文件夹。 在大多数OS X编译器中,这只是将项目文件夹拖到应用程序窗口中的一种情况。 如下所示,CodeKit现在正在监视我的inuit.css-master
文件夹,并突出显示了将直接编译的.scss文件。 任何带有下划线的文件都不会生成自己的.css文件,尽管可以将其导入其他文件。
在这种情况下,我没有重命名任何内容,但是您会看到your-project.scss
被设置为编译成其.css同名文件。 我现在需要做的只是将css文件挂接到我的index.html:
<!DOCTYPE html>
<html>
<head>
<title>My very own inuit project</title>
<link href="css/your-project.css" rel="stylesheet">
</head>
<body>
<p>Tunngahugit (welcome, in Inuit)</p>
</body>
</html>
每当我将项目文件保存在代码编辑器中时,CodeKit都会为我重新编译项目并即时重新加载浏览器窗口。
扩展inuit.css
扩展inuit.css是我们可以在本教程的第二部分中介绍的内容,但是到目前为止,您所需要知道的就是它就像your-project.scss
告诉您的那样简单:
/**
* She’s all yours, cap’n... Begin importing your stuff here.
*/
有用的东西
- 从GitHub下载inuitcss.com
- Twitter上的Inuit.css @inuitcss
- 通过inuit.css jsFiddle帐户的文档
- 有关SMACSS的更多信息
- 有关OOCSS的更多信息
- 有关BEM的更多信息
- 我认为现在已经足够首字母缩写词了。
翻译自: https://webdesign.tutsplus.com/articles/rubbing-noses-with-inuitcss--webdesign-9523
使用inuit.css揉鼻子相关推荐
- 20个优秀的 CSS 网格系统(CSS Grid Systems)推荐
在制作网站的时候,你必须要确保有一个系统化.结构合理的布局使得能够更快更轻松的组织网站的内容.网格系统为网页设计师们提供了一种快速构造网页内容布局的方法.借助这个工具,设计师可以根据预制结构进行布局, ...
- CSS 开源资源大全收集
CSS 资源大全,包括:预处理器.框架.[url=http://www.kubiji.cn/forum-id263.html]CSS[/url]结构.代码风格指南.命名习惯.播客.演讲视频.大网站的 ...
- CSS 资源大全中文版
预处理器 更快地编译 CSS GCSS:一个用GO语言编写的CSS预处理器.官网 LESS:向下兼容CSS并为当前的CSS增加额外的功能.官网 Myth:只用写纯CSS而不用担心浏览器加载缓慢.官网 ...
- javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库
预筹备之 JavaScript 今朝支流的 JavaScript 框架排名中,jQuery 和 Ext 可算是佼佼者,得到了用户的普遍好评.海内的一些框架许多也是模仿 jQuery 对 JavaScr ...
- 小孩鼻子出血七种原因(小孩流鼻血是什么原因儿童鼻出血怎么回事
大家好,小源来回答以上问题.儿童鼻出血有七个原因,儿童鼻出血的原因是什么,儿童鼻出血怎么了很多人不知道,现在让我们一起看看! 1.儿童流鼻血的主要原因之一是鼻粘膜脆弱,也是习惯性流鼻血的主要原因,出血 ...
- 网页重构应该避免的10大 CSS 糟糕用法
原文地址罗磊的独立博客:「网页重构应该避免的10大 CSS 糟糕用法」 对于网页重构来说,CSS禅意花园 是网页布局从 table 表格转到了 html +css 的标志 .这些年来,随着我们的网站越 ...
- 今天在海淀黄庄地铁站真实经历 写下来希望我的好友可以看一下!
前一阵人人上一直在转一个女生的日志说什么2号线宣武门拐卖什么的.还有微信上说地铁里被拐走挖肾XX什么的.我一直不信.但是我确实遇到了.我把过程写下来希望看了的人能多注意点. 先说两件事会和今天的事情有 ...
- 适用响应式 Web UI 框架
1. Bootstrap Bootstrap是快速开发Web应用程序的前端工具包.它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格 ...
- XElement.Load 需要释放吗_蚕茧能清洁毛孔吗 蚕茧护肤的正确方法速Get√|蚕茧|清洁-爱美·BEAUTY...
川北在线核心提示:原标题:蚕茧能清洁毛孔吗 蚕茧护肤的正确方法速Get 蚕茧能清洁毛孔吗 蚕茧能清洁毛孔. 蚕茧真的有美容效果吗 1.可以用来美容.先将自己的面部肌肤用清水清洗干净,然后蚕茧泡在40度 ...
最新文章
- android evaluater_android – 带有test.R.java的Robolectric
- 普通用户 fork报错 fork: retry: No child processes 解决方法
- 未来科技 HoloLens演示3D地理信息系统
- Node.js 连接数据库
- 学习笔记之数据可视化(二)—— 页面布局(下)
- mysql 视图 教程_MySQL视图简介及基本操作教程
- Hadoop的Python框架指南
- 也谈创业企业CEO该拿多少工资
- Drool的global变量
- 正点原子T100智能焊台体验,顺便咱们来说说它的软件菜单、界面切换如何来实现?
- 三菱plc指令dediv_三菱PLC指令[]学习指导书.ppt
- 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
- 互联网定律及效应汇编
- CTF PWN之heap入门 unlink
- Apache运维中常用功能配置笔记梳理
- mysql relay log.info_slave_relay_log_info
- Flutter面试总结(2022)
- 使用GeoServer发布WMS动态地图服务,使用openlayers访问wms服务浏览地图数据
- 浅析群控系统的发展之路,云控和群控的巨大差别
- 浅谈表值函数和标量值函数