﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>盛飞在线 &#187; 命名</title>
	<atom:link href="http://www.senfe.com/archives/tag/%e5%91%bd%e5%90%8d/feed" rel="self" type="application/rss+xml" />
	<link>http://www.senfe.com</link>
	<description>淡泊以明志，宁静而致远。</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:40:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[转]CSS代码命名惯例语义化的方法</title>
		<link>http://www.senfe.com/archives/440.html</link>
		<comments>http://www.senfe.com/archives/440.html#comments</comments>
		<pubDate>Tue, 25 Aug 2009 18:33:26 +0000</pubDate>
		<dc:creator>盛飞</dc:creator>
				<category><![CDATA[织网]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[命名]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[语义化]]></category>

		<guid isPermaLink="false">http://www.senfe.com/?p=440</guid>
		<description><![CDATA[　　CSS代码的命名惯例一直是大家热门讨论的话题。今天暴风彬彬想通过分析一个流行三栏布局中的必要元素，来为大家讲解关于使用语义化方法替代结构化方法来命名CSS类的建议和指导。 您还可以参考彬Go的相关文章: 《整理及优化CSS代码的7个原则》 《10个CSS简写技巧让你永远受用》 《DIV+CSS网页布局常用的一些基础知识整理》  CSS类命名的语义化VS结构化方式 　　一般而言，CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的&#8221;用意&#8221;，独立于它的&#8221;定位&#8221;或确切的特性(结构化方式)。像left-bar, red-text, small-title&#8230;这些都属于结构化定义的例子。 让我们看看下面这个例子: 　　&#8230;而现在我们想把页面中的元素调换一下位置，如果你使用的是结构化方式(1)，那么你就要把所有CSS类名重新进行定义，因为它们的位置变了。在布局(3)中，我们看到元素都倒转了: right-bar 现在成了 “left-bar&#8221;，而 left-content 成了 “right-content&#8221;。如果你使用语义化方式则避免了此类问题。 　　换句话说，使用语义化方式的话，你在修改网站布局的时候可以仅仅修改相关CSS类的属性即可，而不用修改它们的类名了，如果网站的代码很庞大，这将节省大量的时间。 　　彬Go会经常更新前端开发/网页设计等相关技术及教程文章，欢迎订阅本博客来及时浏览本博客的最新教程及资源。 关于语义化的一些建议: 　　在开始之前，我想推荐两种简单的编写较好的CSS代码的指导方针: 为CSS类名定义的时候，尽量使用小写字母，如果有两个以上的单词，在每个单词之间使用&#8221;-&#8221;符或单词首字母大写(第一个单词除外)。如:&#8221;main-content&#8221;或&#8221;mainContent&#8221;。 优化CSS代码，仅创建关键主要的CSS类并重新为子元素使用符合HTML标准的标签(h1, h2, p, ul, li, blockquote,&#8230;)，例如,不要使用这种方式: 1 2 3 4 &#60;div class=&#34;main&#34;&#62; &#60;div class=&#34;main-title&#34;&#62;…&#60;/div&#62; &#60;div class=&#34;main-paragraph&#34;&#62;…&#60;/div&#62; &#60;/div&#62; 而要这样写: 1 2 3 4 &#60;div class=&#34;main&#34;&#62; &#60;h1&#62;…&#60;/h1&#62; &#60;p&#62;…&#60;/p&#62; &#60;/div&#62; 三栏布局中使用语义化方式的例子 　　让我们来通过这个简单的例子讲解一下如何为经典的三栏布局使用语义化方式命名: 　　　使用语义化方式为CSS命名可以像这样: 1 2 3 4 5 [...]]]></description>
			<content:encoded><![CDATA[<p>　　CSS代码的命名惯例一直是大家热门讨论的话题。今天暴风彬彬想通过分析一个流行三栏布局中的必要元素，来为大家讲解关于使用语义化方法替代结构化方法来命名CSS类的建议和指导。</p>
<p>您还可以参考彬Go的相关文章:<br />
《<a title="整理及优化CSS代码的7个原则" href="http://blog.bingo929.com/7-principles-optimized-css.html">整理及优化CSS代码的7个原则</a>》<br />
《<a title="10个CSS简写技巧让你永远受用" href="http://blog.bingo929.com/10-css-shorthand-tips.html">10个CSS简写技巧让你永远受用</a>》<br />
《<a title="DIV+CSS网页布局常用的一些基础知识整理" href="http://blog.bingo929.com/div-css-page-layout-used-some-basic-knowledge-of-finishing.html">DIV+CSS网页布局常用的一些基础知识整理</a>》 </p>
<h3>CSS类命名的语义化VS结构化方式</h3>
<p>　　一般而言，CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的&#8221;用意&#8221;，独立于它的&#8221;定位&#8221;或确切的特性(结构化方式)。像left-bar, red-text, small-title&#8230;这些都属于结构化定义的例子。</p>
<p>让我们看看下面这个例子:</p>
<p style="text-align: center;"><img class="size-medium wp-image-1905 aligncenter" style="border:0px;" title="CSS-语义化-结构化" src="http://www.senfe.com/wp-content/uploads/2009/08/8b22_sem_vs_struct.png" alt="CSS-语义化-结构化" width="384" height="134" /></p>
<p>　　&#8230;而现在我们想把页面中的元素调换一下位置，如果你使用的是结构化方式<strong>(1)</strong>，那么你就要把所有CSS类名重新进行定义，因为它们的位置变了。在布局<strong>(3)</strong>中，我们看到元素都倒转了: right-bar 现在成了 “left-bar&#8221;，而 left-content 成了 “right-content&#8221;。如果你使用语义化方式则避免了此类问题。</p>
<p><span id="more-1904"></span></p>
<p style="text-align: center;"><img class="size-medium wp-image-1906 aligncenter" style="border:0px;" title="CSS-语义化" src="http://www.senfe.com/wp-content/uploads/2009/08/5c2c_sem_vs_struct2.png" alt="" width="387" height="171" /></p>
<p>　　换句话说，使用语义化方式的话，你在修改网站布局的时候可以仅仅修改相关CSS类的属性即可，而不用修改它们的类名了，如果网站的代码很庞大，这将节省大量的时间。</p>
<p>　　彬Go会经常更新前端开发/网页设计等相关技术及教程文章，欢迎<a href="http://feed.feedsky.com/bingo929" target="_blank">订阅本博客</a>来及时浏览本博客的最新教程及资源。</p>
<p><span id="more-440"></span></p>
<h3>关于语义化的一些建议:</h3>
<p>　　在开始之前，我想推荐两种简单的编写较好的CSS代码的指导方针:</p>
<ol>
<li>为CSS类名定义的时候，尽量使用小写字母，如果有两个以上的单词，在每个单词之间使用&#8221;-&#8221;符或单词首字母大写(第一个单词除外)。如:&#8221;main-content&#8221;或&#8221;mainContent&#8221;。</li>
<li>优化CSS代码，仅创建关键主要的CSS类并重新为子元素使用符合HTML标准的标签(h1, h2, p, ul, li, blockquote,&#8230;)，例如,不要使用这种方式:</li>
</ol>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;main&quot;&gt;
    &lt;div class=&quot;main-title&quot;&gt;…&lt;/div&gt;
    &lt;div class=&quot;main-paragraph&quot;&gt;…&lt;/div&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>而要这样写:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;main&quot;&gt;
    &lt;h1&gt;…&lt;/h1&gt;
    &lt;p&gt;…&lt;/p&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<h3>三栏布局中使用语义化方式的例子</h3>
<p>　　让我们来通过这个简单的例子讲解一下如何为经典的三栏布局使用语义化方式命名:</p>
<p style="text-align: center;"><img class="size-medium wp-image-1907 aligncenter" style="border:0px;" title="CSS-语义化-教程" src="http://www.senfe.com/wp-content/uploads/2009/08/bc29_sem.png" alt="CSS-语义化-教程" width="275" height="226" /></p>
<p>　　　使用语义化方式为CSS命名可以像这样:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#container</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
<span style="color: #808080; font-style: italic;">/*—- Top section —-*/</span>
    <span style="color: #cc00cc;">#header</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
    <span style="color: #cc00cc;">#navbar</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
    <span style="color: #808080; font-style: italic;">/*—- Main —-*/</span>
    <span style="color: #cc00cc;">#menu</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
    <span style="color: #cc00cc;">#main</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
    <span style="color: #cc00cc;">#sidebar</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span>
    <span style="color: #808080; font-style: italic;">/*—- Footer —-*/</span>
    <span style="color: #cc00cc;">#footer</span><span style="color: #00AA00;">&#123;</span>…<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<ol>
<li><strong>Container<br />
<span style="font-weight: normal;">“</span><em><span style="font-weight: normal;"><span style="font-style: normal;">#container</span></span></em><span style="font-weight: normal;">“ 就是将你页面中的所有元素包在一起的部分，这部分你还可以命名为: &#8221;<em><span style="font-style: normal;">wrapper</span></em>“, “<em><span style="font-style: normal;">wrap</span></em>“, “<em><span style="font-style: normal;">page</span></em>“.</span></strong></li>
<li><strong>Header<br />
</strong>“#header&#8221; 是网站页面的头部区域，一般来讲，它包含网站的logo和一些其他元素。这部分你还可以命名为:&#8221;<em><span style="font-style: normal;">top</span></em>“, “<em><span style="font-style: normal;">logo</span></em>“, “<em><span style="font-style: normal;">page-header</span></em>&#8221; (或 pageHeader).</li>
<li><strong>Navbar<br />
</strong>“<em><span style="font-style: normal;">#navbar</span></em>“等同于横向的导航栏，是最典型的网页元素。这部分你还可以命名为:<em><span style="font-style: normal;">“nav&#8221;</span></em>, <em><span style="font-style: normal;">“navigation&#8221;</span></em>, <em><span style="font-style: normal;">“nav-wrapper&#8221;</span></em>.</li>
<li><strong>Menu<br />
</strong>“#Menu&#8221;区域包含一般的链接和菜单，这部分你还可以命名为: &#8221;<em><span style="font-style: normal;">sub-nav</span></em> &#8221;, “<em><span style="font-style: normal;">links</span></em>“.</li>
<li><strong>Main<br />
</strong>“#Main&#8221;是网站的主要区域，如果是博客的话它将包含你的日志。这部分你还可以命名为: &#8221;<em><span style="font-style: normal;">content</span></em>“, “<em><span style="font-style: normal;">main-content</span></em>&#8221; (or “mainContent&#8221;)。</li>
<li><strong>Sidebar<br />
<span style="font-weight: normal;">“#Sidebar&#8221;</span><span style="font-weight: normal;"> 部分可以包含网站的次要内容，比如最近更新内容列表、关于网站的介绍或广告元素等&#8230;这部分你还可以命名为: &#8221;<em><span style="font-style: normal;">sub-nav</span></em>“, “<em><span style="font-style: normal;">side-panel</span></em>“, “<em><span style="font-style: normal;">secondary-content</span></em>“.</span></strong></li>
<li><strong>Footer<br />
</strong>“#Footer&#8221;包含网站的一些附加信息，这部分你还可以命名为: &#8221;<em><span style="font-style: normal;">copyright</span></em>“.</li>
</ol>
<p>如果您对CSS代码&#8221;语义化&#8221;有任何意见，欢迎在此<a href="#respond">发表您的观点</a>。</p>
<p style="display:block;background-color:#e9faff;border:1px solid #afedff;padding:10px;"><strong><span style="color: #ff0000;">转载声明:</span></strong><br />
原载:<a href="http://blog.bingo929.com/">彬Go</a><br />
本文链接:<a title="精选31个网站界面设计实践教程" href="http://blog.bingo929.com/css-coding-semantic-naming.html">http://blog.bingo929.com/css-coding-semantic-naming.html</a><br />
如需转载必须以链接形式注明原载或原文地址，谢谢合作</p>
]]></content:encoded>
			<wfw:commentRss>http://www.senfe.com/archives/440.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

