From b1c58e55b80e4f62f01d51ba88cfae31e2b0a564 Mon Sep 17 00:00:00 2001 From: picacure Date: Mon, 17 Dec 2012 20:39:08 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8A=E9=80=82=E5=90=88=E7=A7=BB=E5=8A=A8=E7=AB=AF=E7=9A=84?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/category.md | 1 + pages/css/tutorial/smacss.md | 347 +++++++++++++++++++++++++++++++++++ 2 files changed, 348 insertions(+) create mode 100644 pages/css/tutorial/smacss.md diff --git a/pages/css/category.md b/pages/css/category.md index c6f8ff0..27e3946 100644 --- a/pages/css/category.md +++ b/pages/css/category.md @@ -4,6 +4,7 @@ * [Less生成CSS冗余测试](tutorial/redundancy_of_css_generated_by_less.md) * [bootStrap分析文档](tutorial/analysis_of_bootStrap.md) * [适合移动端的组件?(与PC的差别)](tutorial/whats_mobile_component.md) + * [Guide Line——Scalable and Modular Architecture for class](tutorial/smacss.md) * [组件基础依赖/规范](#) * [__variables](base/__variables.md) * [__func](base/__func.md) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md new file mode 100644 index 0000000..29b7c9d --- /dev/null +++ b/pages/css/tutorial/smacss.md @@ -0,0 +1,347 @@ +#Guide Line——Scalable and Modular Architecture for class **SMACSS** + +SMACSS by Jonathan Snook 官网http://smacss.com/book/ + +随着项目的越来越大,CSS也越来越难以组织。为了使CSS更加结构化以方便维护和扩展,Jonathan Snook在SMACSS中提出了一些Guide Line。 + +SMACSS将规则分为以下几类: + +1.Base Rules +2.Layout Rules +3.Module Rules +4.State Rules +5.Theme Rules +6.Changing State + +##Base Rules + +以下是Base Rules的官方释义: + + A Base rule is applied to an element using an element selector, a descendent selector, or a child selector, along with any pseudo-classes. It doesn’t include any class or ID selectors. It is defining the default styling for how that element should look in all occurrences on the page. + +总结起来,Base Rules包括以下几点: + ++ 定义页面级别最基本的元素选择 ++ 标签选择器,后代选择器,一些伪类 ++ 不包含任何class 或者ID选择器 + +如下例 + + body, form { + margin: 0; + padding: 0; + } + + a { + color: #039; + } + + a:hover { + color: #03F; + } + +base rules中强调的一点是: + + There should be no need to use !important in a Base style + +同时,为了避免在css中对一些属性重写,如页面背景色,这部分CSS属性都可以在base rule中来提前约定一下。 + + + + +此外,Jonathan Snook提议在base rules中加入Resets,以解决不同浏览器之间的差异性。 + + +**Q:base rules中加入Resets是不是和normalize.css一样了?** + +**A:实际上,normalize.css解决的是跨浏览器许多bug的统一解决方案,但是在某一些项目中,有些方案我是不需要的,不需要“大而全”** + +**Q:我倾向于向base中添加除了元素选择之外更多的东西,比如说向utility class中添加隐藏的规则、图片或者图标的规则。** + +**A:这一类可以归到State Rules中去,你需要将css rule做得更加specify。** + +对于图片或者图标 + + Things like .ir, we have an .icn (icon) class, which is a specific module. We have icn-12, icn-24, and icn-48 for the different sprites. + +##Layout Rules + +关于Layout Rules的官方释义: + + CSS, by its very nature, is used to lay elements out on the page. However, there is a distinction between layouts dictating the major and minor components of a page. The minor components—such as a callout, or login form, or a navigation item—sit within the scope of major components such as a header or footer. I refer to the minor components as Modules and will dive into those in the next section. The major components are referred to as Layout styles. + +Layout Rules->大的页面组件(区域);Module Rules->小的页面组件(区域) + ++ 页面的大的区域部分 ++ 如footer,header都可以作为Layout ++ 可以细分成很多小的区域,这些小的区域就成为了一个个Module + +如下代码: + + #header, #article, #footer { + width: 960px; + margin: auto; + } + + #article { + border: solid #CCC; + border-width: 1px 0 0; + } + +附: + These minor Layout styles will use class names instead of IDs so that the styles can be used multiple times on the page. + 小的组件使用class命名,在一个页面中可以重复使用。 + +通常,一个Layout style只有一个选择器:ID或者class;但是为了应对不同的情况,Layout style可能会有多个选择器。例如,根据用户的使用习惯,这种Layout style会是几种Layout style的集合。如下代码: + + #article { + float: left; + } + + #sidebar { + float: right; + } + + .l-flipped #article { + float: right; + } + + .l-flipped #sidebar { + float: left; + } + +根据用户的使用习惯,导航条和文章的位置可以互换。 + +再比如:使用两种Layout style以达到从流动布局到固定布局的转换: + + #article { + width: 80%; + float: left; + } + + #sidebar { + width: 20%; + float: right; + } + + .l-fixed #article { + width: 600px; + } + + .l-fixed #sidebar { + width: 200px; + } + +说明: + Layout styles are the only primary category type to use ID selectors,if you choose to use them at all + +再例,HTML的结构如下: + +
+

Featured

+ +
+ +如果没有用SMACSS方式来定义,可能会给div一个id,css定义如下: + + div#featured ul { + margin: 0; + padding: 0; + list-style-type: none; + } + + div#featured li { + float: left; + height: 100px; + margin-left: 10px; + } + +使用上述方式我们包含了以下的假设: + +1.页面上只有一个featured的ID(区域) +2.List items左浮动 +3.List items的高度为100px + +这种方式的特点就是 **DOM结构基本保持不变** ,小网站使用此种方式无可厚非。但是对于结构复杂的网站而言,该方式并不理想,看下面的改造: + + .l-grid { + margin: 0; + padding: 0; + list-style-type: none; + } + + .l-grid > li { + display: inline-block; + margin: 0 0 10px 10px; + + /* IE7 hack to mimic inline-block on block elements */ + *display: inline; + *zoom: 1; + } + + 上面的代码无法100%解决问题,但是相比较而言,它有如下优点: + +1.grid 的布局可以应用于多种标签容器 +2.代码层级深度减少了1 +3.减少了标签的显示调用 +4.高度去掉。整个行的高度取决于行内元素的最高的那个 + +同时,代码减少,复杂度降低(但是对标签元素有良好的认识) + +**(旁白:这个问题很经典)Q:我看到最后一个例子是抽象出来的一种很棒的写法,但是这也像一种具体的模块(module)的class的写法。正如bootStrap上button上的写法一样,或者这种写法作用的对象我们可以叫它“对像(object)”,对此我感到迷惑** + +**A:buttons,dialogs,widgets都属于Modules,他们都是“对象(object)”,不属于结构层面的东西** + +**Q:头部的logo是属于layout还是属于module?** + +**A:一次性的组件(不会在页面中出现多次的),例如,页头,页脚;我会把它归到module中去** + +**Q:** + #article { + border: solid #CCC; + border-width: 1px 0 0; + } + + better than + + #article { + border: 1px solid #CCC; + border-width: 1px 0 0; + } + +**A:** + + “border-width” overwrite border-width which was set by “border” shorthand. And we can change border visibility by setting “border-width” in different selectors. + + 可以拆分成两个属性,同时设置在不同的选择器当中: + + #article { + float: left; + border: solid #CCC; + border-width: 0 1px 0 0; + } + + .l-flipped #article { + float: right; + border-width: 0 0 0 1px; + } + +##Module Rules + +关于Module Rules的释义: + + It is your navigation bars and your carousels and your dialogs and your widgets and so on. This is the meat of the page. Modules sit inside Layout components. Modules can sometimes sit within other Modules, too. Each Module should be designed to exist as a standalone component. In doing so, the page will be more flexible. If done right, Modules can easily be moved to different parts of the layout without breaking. + +在使用Module的时候, **避免使用ID和元素选择器** .如果一个元素的内部有一系列的DOM节点,那么最好使用后代和子选择器,如下代码: + + .module > h2 { + padding: 5px; + } + + .module span { + padding: 5px; + } + +使用子选择器或者后代选择器也有一些约定,那就是元素的结构你是可以预知的。例如: + + +
+ Folder Name +
+ + /* The Folder Module */ + .fld > span { + padding-left: 20px; + background: url(icon.png); + } + +在当工程逐渐变复杂了以后,DOM结构可能变成这样: + +
+ Folder Name + (32 items) +
+ +解决方式: + Only include a selector that includes semantics. A span or div holds none. A heading has some. A class defined on an element has plenty. + +
+ Folder Name + (32 items) +
+ +最后通过给元素添加class,我们增加了元素的语义,同时也去除了这些元素的含糊语义。 +通过这个例子,使用子选择器时, Alternatively, you should be extremely confident that the element in question will not be confused with another element. + +**New Contexts** +新的上下文: +Using the module approach also allows us to better understand where context changes are likely to occur. The need for a new positioning context, for example, is likely to happen at either the layout level or at the root of a module. + +**Subclassing Modules** +当我们在不同的区域中(sections)使用这相同的Module的时候,我们的第一直觉就是根据其父元素来对其进行样式的设置。 + +例如: + .pod { + width: 100%; + } + .pod input[type=text] { + width: 50%; + } + #sidebar .pod input[type=text] { + width: 100%; + } + +这种解决方式遭遇的问题就是: +The problem with this approach is that you can run into specificity issues that require adding even more selectors to battle against it or to quickly fall back to using !important. + +将上个例子展开来说,我们要为input 定义两个不同的宽度,第一种情况是,input之前有个label标签,因此长度上要短一些。而另一个则是在input之上有个标签,因此宽度上要长一些。现在是一切工作正常,但是我们要添加一个新的元素,它需要的样式和.pod的样式基本一致,所以我们重用了这个class。但是新的.pod类有些特别,其宽度是固定的值180px。于是,我们把代码修改如下: + + .pod { + width: 100%; + } + .pod input[type=text] { + width: 50%; + } + #sidebar .pod input[type=text] { + width: 100%; + } + + .pod-callout { + width: 200px; + } + #sidebar .pod-callout input[type=text], + .pod-callout input[type=text] { + width: 180px; + } + +这时,我么借助#sidebar重写了两次input的值。 +其实,受限的input的宽度可以看成是.pod的两个不同的子类,可以分别对其进行编写样式。 + .pod { + width: 100%; + } + .pod input[type=text] { + width: 50%; + } + .pod-constrained input[type=text] { + width: 100%; + } + + .pod-callout { + width: 200px; + } + .pod-callout input[type=text] { + width: 180px; + } + +Sub-module class name in HTML + +
...
+
...
+ +这个时候你可能又会想,当我们在页面A点击了按钮a,a有着基础的btn样式,点击以后又加载了页面B,但同时加载页面B(属于不同的产品)也有自己的基础btn样式,此时页面A的btn子类会被重写。当遇到这种情况的时候要格外当心。 + + From f3c12c7f39b21bdd32c4a324ada7c42e5b753f69 Mon Sep 17 00:00:00 2001 From: picacure Date: Mon, 17 Dec 2012 20:40:52 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/CSS_Modules.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 pages/css/tutorial/CSS_Modules.md diff --git a/pages/css/tutorial/CSS_Modules.md b/pages/css/tutorial/CSS_Modules.md new file mode 100644 index 0000000..bc269ab --- /dev/null +++ b/pages/css/tutorial/CSS_Modules.md @@ -0,0 +1,2 @@ +#Less(Css)模块化编程 **CSS 模块化** + From 65191ac0fd85f5956b56ccce3e619c560595f51e Mon Sep 17 00:00:00 2001 From: picacure Date: Mon, 17 Dec 2012 20:41:54 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index 29b7c9d..edcccbd 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -7,10 +7,15 @@ SMACSS by Jonathan Snook 官网http://smacss.com/book/ SMACSS将规则分为以下几类: 1.Base Rules + 2.Layout Rules + 3.Module Rules + 4.State Rules + 5.Theme Rules + 6.Changing State ##Base Rules From f62e6b7a72028b38022afff79ecba405e74c3ef0 Mon Sep 17 00:00:00 2001 From: picacure Date: Mon, 17 Dec 2012 20:47:35 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index edcccbd..0ce3836 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -290,6 +290,7 @@ Using the module approach also allows us to better understand where context chan 当我们在不同的区域中(sections)使用这相同的Module的时候,我们的第一直觉就是根据其父元素来对其进行样式的设置。 例如: + .pod { width: 100%; } From a4383b4129d579c7d611373b94bc0a5b8ac21049 Mon Sep 17 00:00:00 2001 From: picacure Date: Mon, 17 Dec 2012 20:48:32 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index 0ce3836..e253cae 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -28,7 +28,7 @@ SMACSS将规则分为以下几类: + 定义页面级别最基本的元素选择 + 标签选择器,后代选择器,一些伪类 -+ 不包含任何class 或者ID选择器 ++ 不包含任何class 或者ID选择器 如下例 From 7de1a93be39900698c1f68fe92d09e82b4eb339f Mon Sep 17 00:00:00 2001 From: picacure Date: Wed, 19 Dec 2012 14:46:07 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 147 +++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index e253cae..60a19af 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -350,4 +350,151 @@ Sub-module class name in HTML 这个时候你可能又会想,当我们在页面A点击了按钮a,a有着基础的btn样式,点击以后又加载了页面B,但同时加载页面B(属于不同的产品)也有自己的基础btn样式,此时页面A的btn子类会被重写。当遇到这种情况的时候要格外当心。 +##State Rules +官方释义: + + A state is something that augments and overrides all other styles. For example, an accordion section may be in a collapsed or expanded state. A message may be in a success or error state. + ++ 表示消息 ++ 表示状态 + +例如: + + + + +1.header用于layout,而is-collapsed则表示一种收缩的状态 +2.msg是一个module,同时伴随一个is-error的状态 +3.label的is-hidden的显示/隐藏状态 + +State Rules和layout rule、module rule只是一个叠加,并没有重写。 + + +sub-module style 和state style会有一些相像,两者不同的地方在于: +1.State styles can apply to layout and/or module styles; and +2.State styles indicate a JavaScript dependency. + +第二点是主要区别。Sub-module styles在页面渲染时作用域于元素,然后就不发生变化。State styles会在一个元素发生变化的时候起作用。 + +**Using !important** + +States should be made to stand alone and are usually built of a single class selector. + +一般而言,在复杂的应用中,State styles要重写样式,一般而言是建议使用 !important的。 + +**Combining State Rules with Modules** + + .tab { + background-color: purple; + color: white; + } + + .is-tab-active { + background-color: white; + color: black; + } + + +##Theme Rules + +官方释义: + + Theme Rules aren't as often used within a project and because of that, they aren't included as part of the core types. Some projects may have a need for them, though, as we did when working on Yahoo! Mail. + +主题: + + It is probably self-evident but a theme defines colours and images that give your application or site its look and feel. Separating the theme out into its own set of styles allows for those styles to be easily redefined for alternate themes. + + Themes can affect any of the primary types. It could override base styles like default link colours. It could change module elements such as chrome colours and borders. It could affect layout with different arrangements. It could also alter how states look. + +即: +1.Theme Style定义的是外观和感觉。 +2.容易重定义样式和外观 +3.会影响主要的布局、控件外观。例如,链接的颜色;使module呈现多种色彩;影响layout的布局;改变states style的样式。 + +例如: + // in module-name.css + .mod { + border: 1px solid; + } + + // in theme.css + .mod { + border-color: blue; + } + +使用相同的class名称,将其独立到不同的文件中去。 + +At Yahoo! Mail, to help with maintaining consistency across all of our theme files—we have over 50—we use a Mustache template for our CSS that allows us to specify a number of colour values, a background image, and create a final CSS file for production. + +几个点: +1.颜色 +2.背景图 +3.不同的css输出文件 + +附: + Mustache is a templating language that uses {{}} around variables that are then merged with a data set to create a final product. So, we had a mustache template for the CSS file that would look something like "color: {{PRIMARY_COLOR}}; + +**Typography** + +Similar to themes, there are times when you need to redefine the fonts that are being used on a wholesale basis, such as with internationalization. Locales such as China and Korea have complex ideograms that are difficult to read at smaller font sizes.As a result, we create separate font files for each locale that redefine the font size for those components. + +汉字比较复杂,不能使用太小的文字,为每个地域创建不同的字体文件库以适应本地化。 + +但是,Font style会影响到base、module和State style。 + +Font rules will normally affect base, module and state styles. + +此外, +Font styles won’t normally be specified at the layout level as layouts are intended for positioning and placement, not for stylistic changes like fonts and colours. + +Font style不应放在layout中,因为layout负责的是position和placement。 + +同时, + +Like theme files, there may not be need to define actual font classes (like f-large). Your site should only have 3 to 6 different font-sizes. If you have more than 6 font sizes declared in your project, your users will not likely notice and you are making the site harder to maintain. + +整个站点的字体大小应该控制在3-6种之间,一旦超过了6种不仅你的用户无法分辨出来,而且维护起来会很麻烦。 + +**Q:** + + The site I'm working on has several different "zones", each themed with a different color. Up to now, the colors were defined in separate .css files (named with the zone's name) and the pages called the relevant theme stylesheet by a link in the head. It contains things like background colors, border colors, but also some images with the specific colors (arrows and circles and things like that). Does this seem adequate or would you do it differently? + + Theme文件独立分开;引用的时候一个@import;包含背景色,border颜色,特殊的图片等等。 +**A:** + 这样很棒 + + +##Changing State + +**What is a state change?** +State changes are represented in one of three ways: + ++ class name ++ pseudo-class ++ media query + +1.借助js改变class,达到状态改变 +2.借助于伪类标签达到状态改变 +3.定义不同的breakpoint,media query可以实现状态改变 + +###Change via class name + + // with jQuery + $('.btn-close').click(function(){ + $(this).parents('.dialog').addClass('is-hidden'); + }) + +###Change via Pseudo-class + + +###Change via Pseudo-class From 6826a0c5a77235a46a8858883623500d9633a272 Mon Sep 17 00:00:00 2001 From: picacure Date: Wed, 19 Dec 2012 14:52:30 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index 60a19af..f0bba7a 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -4,19 +4,19 @@ SMACSS by Jonathan Snook 官网http://smacss.com/book/ 随着项目的越来越大,CSS也越来越难以组织。为了使CSS更加结构化以方便维护和扩展,Jonathan Snook在SMACSS中提出了一些Guide Line。 -SMACSS将规则分为以下几类: +SMACSS将整个Framwork下的CSS规则分为以下几类 -1.Base Rules +1.Base Rules :定义页面级别最基本的元素选择;标签选择器,后代选择器,一些伪类;不包含任何class 或者ID选择器 -2.Layout Rules +2.Layout Rules :一个页面的大的区域部分;如footer,header都可以作为Layout;可以细分成很多小的区域,这些小的区域就成为了一个个Module -3.Module Rules +3.Module Rules: -4.State Rules +4.State Rules :定义了两种样式分类:表示消息;表示状态 -5.Theme Rules +5.Theme Rules : Theme Style定义的是外观和感觉;容易重定义样式和外观 ;会影响主要的布局、控件外观。例如,链接的颜色;使module呈现多种色彩;影响layout的布局;会改变states style的样式。 -6.Changing State +6.Changing State :state change的三种手段:class name;pseudo-class;media query。Changing State主要集中在这三点。 ##Base Rules @@ -417,10 +417,14 @@ States should be made to stand alone and are usually built of a single class sel Themes can affect any of the primary types. It could override base styles like default link colours. It could change module elements such as chrome colours and borders. It could affect layout with different arrangements. It could also alter how states look. 即: + 1.Theme Style定义的是外观和感觉。 + 2.容易重定义样式和外观 + 3.会影响主要的布局、控件外观。例如,链接的颜色;使module呈现多种色彩;影响layout的布局;改变states style的样式。 + 例如: // in module-name.css .mod { From dc1480d72594155227a90ec7dd921991d3102e1f Mon Sep 17 00:00:00 2001 From: picacure Date: Wed, 19 Dec 2012 14:54:00 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index f0bba7a..ab71c1f 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -6,17 +6,17 @@ SMACSS by Jonathan Snook 官网http://smacss.com/book/ SMACSS将整个Framwork下的CSS规则分为以下几类 -1.Base Rules :定义页面级别最基本的元素选择;标签选择器,后代选择器,一些伪类;不包含任何class 或者ID选择器 +**1.Base Rules** :定义页面级别最基本的元素选择;标签选择器,后代选择器,一些伪类;不包含任何class 或者ID选择器 -2.Layout Rules :一个页面的大的区域部分;如footer,header都可以作为Layout;可以细分成很多小的区域,这些小的区域就成为了一个个Module +**2.Layout Rules** :一个页面的大的区域部分;如footer,header都可以作为Layout;可以细分成很多小的区域,这些小的区域就成为了一个个Module -3.Module Rules: +**3.Module Rules**: -4.State Rules :定义了两种样式分类:表示消息;表示状态 +**4.State Rules** :定义了两种样式分类:表示消息;表示状态 -5.Theme Rules : Theme Style定义的是外观和感觉;容易重定义样式和外观 ;会影响主要的布局、控件外观。例如,链接的颜色;使module呈现多种色彩;影响layout的布局;会改变states style的样式。 +**5.Theme Rules** : Theme Style定义的是外观和感觉;容易重定义样式和外观 ;会影响主要的布局、控件外观。例如,链接的颜色;使module呈现多种色彩;影响layout的布局;会改变states style的样式。 -6.Changing State :state change的三种手段:class name;pseudo-class;media query。Changing State主要集中在这三点。 +**6.Changing State** :state change的三种手段:class name;pseudo-class;media query。Changing State主要集中在这三点。 ##Base Rules From d4ea6db6216ef8d36dee091fe69ca5b41dd221d3 Mon Sep 17 00:00:00 2001 From: picacure Date: Wed, 19 Dec 2012 14:55:43 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/smacss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index ab71c1f..9f794de 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -10,7 +10,7 @@ SMACSS将整个Framwork下的CSS规则分为以下几类 **2.Layout Rules** :一个页面的大的区域部分;如footer,header都可以作为Layout;可以细分成很多小的区域,这些小的区域就成为了一个个Module -**3.Module Rules**: +**3.Module Rules**: layout可以细分成很多小的区域,这些小的区域就成为了一个个Module,Module的特点->重复使用;控件级别。 **4.State Rules** :定义了两种样式分类:表示消息;表示状态 From 84b71d85f09ed264aca19b7020abab963671149c Mon Sep 17 00:00:00 2001 From: picacure Date: Fri, 21 Dec 2012 15:52:26 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/assets/images/2012-12-21-1.JPG | Bin 0 -> 121281 bytes pages/css/category.md | 1 + pages/css/tutorial/taobaopad_detail_smacss.md | 15 +++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 pages/css/assets/images/2012-12-21-1.JPG create mode 100644 pages/css/tutorial/taobaopad_detail_smacss.md diff --git a/pages/css/assets/images/2012-12-21-1.JPG b/pages/css/assets/images/2012-12-21-1.JPG new file mode 100644 index 0000000000000000000000000000000000000000..aab115e3610de40ef39a04ad7ca8d57de9fabfe0 GIT binary patch literal 121281 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 Date: Fri, 21 Dec 2012 15:54:04 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/taobaopad_detail_smacss.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/css/tutorial/taobaopad_detail_smacss.md b/pages/css/tutorial/taobaopad_detail_smacss.md index db8a4ae..a12ca0c 100644 --- a/pages/css/tutorial/taobaopad_detail_smacss.md +++ b/pages/css/tutorial/taobaopad_detail_smacss.md @@ -6,7 +6,7 @@ ##Layout style -![Form混合的呈现样式](../assets/images/2012-12-21-1.JPG) +![详情页layout划分](../assets/images/2012-12-21-1.JPG) ##Module style From 6e671f4ed2524e44ef774c0c73de01bc5192a9b7 Mon Sep 17 00:00:00 2001 From: picacure Date: Fri, 21 Dec 2012 15:55:28 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E3=80=8ASMACSS=E5=AE=9E=E8=B7=B5=E4=B9=8BtaobaoPad=20=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E9=A1=B5=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/css/tutorial/CSS_Modules.md | 1 + pages/css/tutorial/analysis_of_bootStrap.md | 2 ++ pages/css/tutorial/quick-guide.md | 1 + pages/css/tutorial/redundancy_of_css_generated_by_less.md | 2 ++ pages/css/tutorial/smacss.md | 2 ++ pages/css/tutorial/taobaopad_detail_smacss.md | 2 ++ pages/css/tutorial/whats_mobile_component.md | 2 ++ 7 files changed, 12 insertions(+) diff --git a/pages/css/tutorial/CSS_Modules.md b/pages/css/tutorial/CSS_Modules.md index bc269ab..63ec65e 100644 --- a/pages/css/tutorial/CSS_Modules.md +++ b/pages/css/tutorial/CSS_Modules.md @@ -1,2 +1,3 @@ #Less(Css)模块化编程 **CSS 模块化** +by jiangC \ No newline at end of file diff --git a/pages/css/tutorial/analysis_of_bootStrap.md b/pages/css/tutorial/analysis_of_bootStrap.md index f8cd109..5f52b6e 100644 --- a/pages/css/tutorial/analysis_of_bootStrap.md +++ b/pages/css/tutorial/analysis_of_bootStrap.md @@ -1,5 +1,7 @@ #bootStrap分析文档 **bootStrap** +by jiangC + ##序(持续更新) ##和现有框架的比较 diff --git a/pages/css/tutorial/quick-guide.md b/pages/css/tutorial/quick-guide.md index 6166c77..91c9a89 100644 --- a/pages/css/tutorial/quick-guide.md +++ b/pages/css/tutorial/quick-guide.md @@ -1,5 +1,6 @@ #基础文档&开发规范 **基础文档** +by jiangC ##文件组织 diff --git a/pages/css/tutorial/redundancy_of_css_generated_by_less.md b/pages/css/tutorial/redundancy_of_css_generated_by_less.md index 9715820..3e37570 100644 --- a/pages/css/tutorial/redundancy_of_css_generated_by_less.md +++ b/pages/css/tutorial/redundancy_of_css_generated_by_less.md @@ -1,5 +1,7 @@ #Less生成CSS冗余测试 **less** +by jiangC + ##基本结构(测试版本1.3.0) ![基本结构图](../assets/images/2012-12-11-01.JPG) diff --git a/pages/css/tutorial/smacss.md b/pages/css/tutorial/smacss.md index 9f794de..4505de9 100644 --- a/pages/css/tutorial/smacss.md +++ b/pages/css/tutorial/smacss.md @@ -1,5 +1,7 @@ #Guide Line——Scalable and Modular Architecture for class **SMACSS** +by jiangC + SMACSS by Jonathan Snook 官网http://smacss.com/book/ 随着项目的越来越大,CSS也越来越难以组织。为了使CSS更加结构化以方便维护和扩展,Jonathan Snook在SMACSS中提出了一些Guide Line。 diff --git a/pages/css/tutorial/taobaopad_detail_smacss.md b/pages/css/tutorial/taobaopad_detail_smacss.md index a12ca0c..6f26ab4 100644 --- a/pages/css/tutorial/taobaopad_detail_smacss.md +++ b/pages/css/tutorial/taobaopad_detail_smacss.md @@ -1,5 +1,7 @@ #SMACSS实践——之taobaoPad detail **SMACSS实践** +by jiangC + ##Theme style ##Base style diff --git a/pages/css/tutorial/whats_mobile_component.md b/pages/css/tutorial/whats_mobile_component.md index 2c58ff1..c113048 100644 --- a/pages/css/tutorial/whats_mobile_component.md +++ b/pages/css/tutorial/whats_mobile_component.md @@ -1,5 +1,7 @@ #适合移动端的组件(基于H5实践) **移动端组件** +by jiangC + 写此篇的目的,完全是因为在读bootStrap后将其部分搬到Mixcss发现诸多“水土不服”的地方,移动端的组件还是与PC上的组件有诸多不同点的。 + PC代表:bootStrap From 04b82fd987ac271a0ed33dc7dcaa840fd0e261e5 Mon Sep 17 00:00:00 2001 From: terrykingcha Date: Mon, 14 Jan 2013 14:39:15 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/js/api/core_base_reset.md | 112 ++++++++++++++++++++++++++++++++ pages/js/category.md | 2 +- 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 pages/js/api/core_base_reset.md diff --git a/pages/js/api/core_base_reset.md b/pages/js/api/core_base_reset.md new file mode 100644 index 0000000..f00868d --- /dev/null +++ b/pages/js/api/core_base_reset.md @@ -0,0 +1,112 @@ +# core.base.reset **api** + +提供常用函数以及ECMA5里面补充的内置对象方法(诸如forEach等) + +## Object + +### Object.keys(obj) + +* @param {object} obj +* @return {string[]} key's list + +获取对象的所有键 + +### Object.each(obj, callback[, context]) + +* @param {array|object} obj +* @param {function} callback +* @param {object} [context] + +遍历一个数组或对象 + +### Object.clone(value[, deeply]) + +* @param {*} value +* @param {boolean} [deeply=false] +* @return {*} a cloned value + +复制一个值,deeply为true是为深度复制 + +### Object.extend(src, target[, deeply]) + +* @param {object} src +* @param {object} target* +* @param {boolean} [deeply=false] +* @return {object} a extended object + +扩展一个对象,deeply为true是为深度扩展 + +### Object.isTypeof(value[, istype]) + +* @param {*} value +* @param {string} [istype] +* @return {boolean|string} true/false or the type + +判断或返回一个值的类型 + +## Array + +### Array.make(obj) +### Array.from(obj) + +* @param {object} obj +* @return {array} a new array object + +把一个类数组对象转换成数组 + +### Array.equal(left, right) + +* @param {array} left +* @param {array} right +* @return {boolean} true/false + +比较两个数组是否相等 + +### arr.forEach(callback[, context]) + +* @param {function} callback +* @param {object} [context] + +对数组进行遍历 + +### arr.map(callback[, context]) + +* @param {function} callback +* @param {object} [context] +* @return {array} a new array object + +返回一个数组映射后的结果 + +### arr.filter(callback[, context]) + +* @param {function} callback +* @param {object} [context] +* @return {array} a new array object + +返回一个数组过滤后的结果 + +### arr.indexOf(value[, from]) + +* @param {*} value +* @param {number} from +* @return {boolean} true/false + +获得元素在数组中的位置 + +## String + +### str.trim() + +* @return {string} a new string + +去除字符串所有空字符 + +## Function + +### Function.binded(func, context) + +* @param {function} func +* @param {object} context +* @return {function} a binded function + +给函数绑定一个上下文 \ No newline at end of file diff --git a/pages/js/category.md b/pages/js/category.md index e7c6e9f..bb8ad0d 100644 --- a/pages/js/category.md +++ b/pages/js/category.md @@ -1,8 +1,8 @@ * [Mix JS入门手册](tutorial/quick-guide.md) * [API文档](#) + * [core.base.reset](api/core_base_reset.md) * [core.base.Class](api/core_base_class.md) * [core.base.Message](api/core_base_message.md) - * [core.base.reset](api/core_base_reset.md) * [core.ui.Component](api/core_ui_component.md) * [core.ui.Module](api/core_ui_module.md) * [core.ui.Template](api/core_ui_template.md)