<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[11月设计 - 好好学习]]></title>
<link>http://www.nov99.com/blog/</link>
<description><![CDATA[]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[nov99@qq.com(nov99)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>11月设计</title>
	<url>http://www.nov99.com/blog/images/logos.gif</url>
	<link>http://www.nov99.com/blog/</link>
	<description>11月设计</description>
</image>

			<item>
			<link>http://www.nov99.com/blog/article.asp?id=118</link>
			<title><![CDATA[ul和li网页布局]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Tue,25 May 2010 00:13:15 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=118</guid>
		<description><![CDATA[LiI代码的格式化: <br/><br/>A).<span style="color:Green">格式化列表符</span>：<br/><br/>ul li{ <br/><span style="color:Red">list-style-type:none; </span><br/>}<br/><br/>B).<span style="color:Green">将列表符换成图像</span><br/><br/>ul li{ <br/>list-style-type:none; <br/><span style="color:Red">list-style-image: url(images/icon.gif);&nbsp;&nbsp;</span><br/>}&nbsp;&nbsp;<br/><br/>C).<span style="color:Green">左对齐</span><br/><br/>ul{ <br/>list-style-type:none; <br/><span style="color:Red">margin:0px;&nbsp;&nbsp;</span><br/>}&nbsp;&nbsp;<br/><br/>D).<span style="color:Green">给列表加背景色</span><br/><br/>ul{ <br/>list-style-type: none; <br/>margin:0px; <br/>} <br/>ul li{ <br/><span style="color:Red">background:#CCC; </span><br/>} <br/><br/>E).给列表<span style="color:Green">加MOUSEOVER背景变色</span>效果：<br/><br/>ul{ list-style-type: none; margin:0px; }<br/>ul li a{ <span style="color:Red">display:block; width: 100%; background:#ccc; </span>}<br/>ul li a:hover{ <span style="color:Red">background:#999; </span>}<br/><br/>说明：display:block;这一行必须要加的，这样才能块状显示！<br/><br/>F).LI中的元素<span style="color:Green">水平排列</span>,关键FLOAT:LEFT：<br/><br/>ul{ <br/>list-style-type:none; <br/>width:100%; <br/>} <br/>ul li{ <br/>width:80px; <br/><span style="color:Red">float:left; </span><br/>} <br/>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=132</link>
			<title><![CDATA[简单学习css组合与CSS嵌套的写法]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:53:14 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=132</guid>
		<description><![CDATA[<p><strong>CSS组合</strong></p>
<p>　　你不必重复有相同属性的多个选择符，你只要用英文逗号（,）隔开选择符就可以了。</p>
<p>　　比如，你有如下的代码：h2 { color: red; }<br />
.webjx { color: red; }<br />
.webjxcom { color: red; }</p>
<p>　　则你可以这样写：h2,.webjx,.webjxcom { color: red; }</p>
<p>　使用组合，你可以一次定义多个CSS，为你节省很多字节和时间。</p>
<p><strong>CSS嵌套</strong></p>
<p>　　CSS结构好的话，没有必要使用过多的类或者标识选择符。这是因为你可以指定在选择符内的选择符。（或者更好的说法，上下文选择符--译者著）</p>
<p>比如：</p>
<p>#top { background-color: #ccc; padding: 1em } <br />
#top h1 { color: #ff0; } <br />
#top p { color: red; font-weight: bold; }</p>
<p>这就减去不必要的类或者标识选择符，如果应用到像这样的HTML中：</p>
<p>&lt;div id=&quot;top&quot;&gt; <br />
&lt;h1&gt;webjx.com&lt;/h1&gt;<br />
&lt;p&gt;This is my recipe for making curry purely with chocolate&lt;/p&gt;<br />
&lt;p&gt;Mmm mm mmmmm&lt;/p&gt; <br />
&lt;/div&gt;</p>
<p>　　这是因为，用英文半角空格间隔选择符，我们指明了在标识id内的h1有&ldquo;#ff0&rdquo;的颜色，而p则是红色red和粗体bold。</p>
<p>　　这可能也会有些复杂（因为可能不止两级，比如在内在内在内在内等等）。你有必要多加练习。</p>
<p>　　使用嵌套，可以让你的CSS代码读起来更清晰，能给你制定的元素定制CSS。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=131</link>
			<title><![CDATA[常用的10个CSS类名]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:49:46 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=131</guid>
		<description><![CDATA[<p>很多做前端开发的在为页面元素定class的时候经常会拿不定主意，导致随意使用class，一个好的class要能够描述出某个特定元素的表现，在符合团队开发流程、规范的情况下也要注意在工作中形成一套自己的风格，下面是我最经常使用的个人认为命名比较恰当和有一定作用的10个class。</p>
<h3>1.class=&rdquo;fixed&rdquo;</h3>
<p>fixed这个class几乎出现在没个样式文件中，用在为包含浮动子元素的容器元素清除浮动，样式如下</p>
<p>&nbsp;.fixed:after{<br />
&nbsp;content:&quot;.&quot;;<br />
&nbsp;display:block;<br />
&nbsp;height:0;<br />
&nbsp;clear:both;<br />
&nbsp;visibility:hidden;<br />
&nbsp;}<br />
.fixed{<br />
&nbsp;display:block;<br />
&nbsp;}<br />
/*&nbsp; \*/<br />
.fixed{<br />
&nbsp;min-height:1%;<br />
&nbsp;}<br />
* html .fixed{<br />
&nbsp;height:1%;<br />
&nbsp;}&nbsp;</p>
<p>这个样式就可以用在下面的情形，每个li都是浮动的：</p>
<p>&nbsp;&lt;ul class=&quot;fixed&quot;&gt;<br />
&nbsp;&lt;li&gt;&lt;img src=&quot;images/img_01.jpg&quot; alt=&quot;First Thumb&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&lt;li&gt;&lt;img src=&quot;images/img_02.jpg&quot; alt=&quot;Second Thumb&quot; /&gt;<br />
&nbsp;<br />
&nbsp;...&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<h3>2.class=&rdquo;alt&rdquo;</h3>
<p>alt是&rdquo;alternative&rdquo;（交替）的简称，这个class用在有一组样式一样的元素，需要为其中的某几个设定特别的样式，比如一组向左浮动的图片中需要有一张是向右浮动,可以这样：</p>
<p>&nbsp;#content img{<br />
&nbsp;float:left;<br />
&nbsp;display:inline;<br />
&nbsp;margin-right:10px;<br />
&nbsp;border:1px solid #ccc;<br />
&nbsp;padding:1em 0;<br />
&nbsp;background:#fff;<br />
&nbsp;}<br />
#content img.alt{<br />
&nbsp;float:right;<br />
&nbsp;margin-right:0;<br />
&nbsp;margin-left:10px;<br />
&nbsp;}</p>
<h3>&nbsp;3.class=&rdquo;selected&rdquo;</h3>
<p>这个最经常用的，用来处理mouseover或选中元素的效果。</p>
<p>&nbsp;&nbsp;&lt;li class=&quot;selected&quot;&gt;&lt;a href=&quot;/about&quot;&gt;About Us&lt;/a&gt;&lt;/li&gt;</p>
<p>选项卡制作的时：</p>
<p>&lt;dl&gt;<br />
&lt;dt class=&quot;selected&quot;&gt;Tag Cloud&lt;/dt&gt;<br />
...<br />
...<br />
...<br />
&lt;/dl&gt;</p>
<h3>&nbsp;4.class=&rdquo;first&rdquo;, class=&rdquo;last&rdquo;</h3>
<p>&nbsp;直到99.9% 的浏览器支持:first-child和:last-child这两个伪类之前，class=&rdquo;first&rdquo;, class=&rdquo;last&rdquo;用的地方还是很多的。</p>
<p>5.class=&rdquo;image&rdquo;</p>
<p>平常选择图片元素一般用类似(#container img)这样的标签选择器，但是我这里的class=&rdquo;image&rdquo;是用在包含图片的容器元素，假如你正在做一个新闻列表，需要在新闻标题下面加一行带图片和说明文字，并且向右浮动，可以这样做：&nbsp;&nbsp;</p>
<p>&lt;img src=&quot;/images/img_me.jpg&quot; alt=&quot;my funny face&quot; /&gt;<br />
&nbsp;This is me trying to look cool!<br />
&nbsp;<br />
&nbsp;The rest of the content here<br />
&nbsp;...</p>
<h3>6. class=&rdquo;inner&rdquo;</h3>
<p>inner也是经常使用的class，而且大部分上是用来制造视觉上的额外效果，用来给嵌套在容器里的子容器定义样式（比如制作双背景图片效果）。</p>
<p>&lt;div id=&quot;container&quot;&gt;<br />
&nbsp;&lt;div class=&quot;inner&quot;&gt;<br />
&nbsp;<br />
&nbsp;&lt;/div&gt;<br />
&lt;/div&gt;</p>
<h3>7.class=&rdquo;link&rdquo;</h3>
<p>link跟image类似，我用来嵌套一个A标签，最经常用来制作&rdquo;Read More&rdquo;链接：</p>
<p>&lt;p class=&quot;link&quot;&gt;&lt;a href=&quot;#&quot;&gt;Read more...&lt;/a&gt;&lt;/p&gt;</p>
<h3>8.class=&rdquo;one&rdquo;, class=&rdquo;two&rdquo;, class=&rdquo;three&rdquo;&hellip;</h3>
<p><br />
&nbsp;这些class用在需要区别每个子元素的列表项，比如用移动背景图片来制作导航菜单：</p>
<p>&nbsp;&lt;ul&gt;<br />
&nbsp;&lt;li class=&quot;one&quot;&gt;&lt;a href=&quot;#&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&lt;li class=&quot;two&quot;&gt;&lt;a href=&quot;#&quot;&gt;About&lt;/a&gt;<br />
&nbsp;...&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<h3>&nbsp;9.class=&rdquo;even&rdquo;, class=&rdquo;odd&rdquo;</h3>
<p>用来实现隔行换样式，一般用在表格和列表：&nbsp;&lt;ul&gt;<br />
&nbsp;&lt;li class=&quot;even&quot;&gt;Content&lt;/li&gt;<br />
&nbsp;&lt;li class=&quot;odd&quot;&gt;Content&lt;/li&gt;<br />
&nbsp;&lt;li class=&quot;even&quot;&gt;Content&lt;/li&gt;<br />
&nbsp;&lt;li class=&quot;odd&quot;&gt;Content&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p>表格里：&lt;table&gt;<br />
&nbsp;&lt;tr class=&quot;even&quot;&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&lt;/tr&gt;<br />
&nbsp;&lt;tr class=&quot;odd&quot;&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&lt;/tr&gt;<br />
&nbsp;&lt;tr class=&quot;even&quot;&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&lt;/tr&gt;<br />
&nbsp;&lt;tr class=&quot;odd&quot;&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&nbsp;&lt;td&gt;Content&lt;/td&gt;<br />
&nbsp;&lt;/tr&gt;<br />
&lt;/table&gt;</p>
<h3>10.class=&rdquo;section&rdquo;</h3>
<p>一般用在为指定内容中特定部分添加特定的样式：</p>
<p>&lt;div class=&quot;section&quot;&gt;<br />
&nbsp;content here...<br />
&lt;/div&gt;&lt;div class=&quot;section&quot;&gt;<br />
&nbsp;content here...<br />
&lt;/div&gt;</p>
<p><br />
<script type="text/javascript"><!--
google_ad_client = "pub-5489821349304640";
//728x15, 创建于 07-12-24
google_ad_slot = "9013909818";
google_ad_width = 728;
google_ad_height = 15;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<script type="text/javascript">google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);</script>
</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=130</link>
			<title><![CDATA[CSS定位属性]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:47:29 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=130</guid>
		<description><![CDATA[<p>CSS&nbsp;为定位和浮动提供了一些属性，利用这些属性，可以建立列式布局，将布局的一部分与另一部分重叠，还可以完成多年来通常需要使用多个表格才能完成的任务。</p>
<p>　　定位的基本思想很简单，它允许你定义元素框相对于其正常位置应该出现的位置，或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然，这个功能非常强大，也很让人吃惊。要知道，用户代理对&nbsp;CSS2&nbsp;中定位的支持远胜于对其它方面的支持，对此不应感到奇怪。</p>
<p>　　另一方面，CSS1&nbsp;中首次提出了浮动，它以&nbsp;Netscape&nbsp;在&nbsp;Web&nbsp;发展初期增加的一个功能为基础。浮动不完全是定位，不过，它当然也不是正常流布局。我们会在后面的章节中明确浮动的含义。<br />
<br />
<strong>一切皆为框</strong><br />
<br />
　　div、h1&nbsp;或&nbsp;p&nbsp;元素常常被称为块级元素。这意味着这些元素显示为一块内容&nbsp;，即&ldquo;块框&rdquo;。与之相反，span&nbsp;和&nbsp;strong&nbsp;等元素称为&ldquo;行内元素&rdquo;，这是因为它们的内容显示在行中，即&ldquo;行内框&rdquo;。</p>
<p>　　您可以使用&nbsp;display&nbsp;属性&nbsp;改变生成的框的类型。这意味着，通过将&nbsp;display&nbsp;属性设置为&nbsp;block，可以让行内元素（比如&nbsp;&lt;a&gt;&nbsp;元素）表现得像块级元素一样。还可以通过把&nbsp;display&nbsp;设置为&nbsp;none，让生成的元素根本没有框。这样的话，该框及其所有内容就不再显示，不占用文档中的空间。</p>
<p>　　但是在一种情况下，即使没有进行显式定义，也会创建块级元素。这种情况发生在把一些文本添加到一个块级元素（比如&nbsp;div）的开头。即使没有把这些文本定义为段落，它也会被当作段落对待：</p>
<p>&lt;div&gt;<br />
some&nbsp;text<br />
&lt;p&gt;Some&nbsp;more&nbsp;text.&lt;/p&gt;<br />
&lt;/div&gt;<br />
　　在这种情况下，这个框称为无名块框，因为它不与专门定义的元素相关联。</p>
<p>　　块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接对无名块或行框应用样式，因为没有可以应用样式的地方（注意，行框和行内框是两个概念）。但是，这有助于理解在屏幕上看到的所有东西都形成某种框。<br />
<br />
<strong>CSS&nbsp;定位机制</strong><br />
<br />
　　CSS&nbsp;有三种基本的定位机制：普通流、浮动和绝对定位。</p>
<p>　　除非专门指定，否则所有框都在普通流中定位。也就是说，普通流中的元素的位置由元素在&nbsp;X(HTML)&nbsp;中的位置决定。</p>
<p>　　块级框从上到下一个接一个地排列，框之间的垂直距离是由框的垂直外边距计算出来。</p>
<p>　　行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是，垂直内边距、边框和外边距不影响行内框的高度。由一行形成的水平框称为行框（Line&nbsp;Box）&nbsp;，行框的高度总是足以容纳它包含的所有行内框。不过，设置行高可以增加这个框的高度。</p>
<p>　　在下面，我们会为您详细讲解相对定位、绝对定位和浮动。<br />
<br />
<strong>CSS&nbsp;position&nbsp;属性</strong><br />
<br />
　　通过使用&nbsp;position&nbsp;属性&nbsp;，我们可以选择&nbsp;4&nbsp;中不同类型的定位，这会影响元素框生成的方式。<br />
　　position&nbsp;属性值的含义：<br />
　　static&nbsp;<br />
　　元素框正常生成。块级元素生成一个矩形框，作为文档流的一部分，行内元素则会创建一个或多个行框，置于其父元素中。&nbsp;<br />
　　relative&nbsp;<br />
　　元素框偏移某个距离。元素仍保持其未定位前的形状，它原本所占的空间仍保留。&nbsp;<br />
　　absolute&nbsp;<br />
　　元素框从文档流完全删除，并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭，就好像元素原来不存在一样。元素定位后生成一个块级框，而不论原来它在正常流中生成何种类型的框。&nbsp;<br />
　　fixed&nbsp;<br />
　　元素框的表现类似于将&nbsp;position&nbsp;设置为&nbsp;absolute，不过其包含块是视窗本身。&nbsp;<br />
　　提示：&nbsp;相对定位实际上被看作普通流定位模型的一部分，因为元素的位置相对于它在普通流中的位置。<br />
<br />
<strong>CSS&nbsp;定位属性</strong><br />
<br />
　　CSS&nbsp;定位属性允许你对元素进行定位。<br />
　　属性&nbsp;描述&nbsp;<br />
　　position&nbsp;&nbsp;把元素放置到一个静态的、相对的、绝对的、或固定的位置中。&nbsp;<br />
　　top&nbsp;&nbsp;定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移。&nbsp;<br />
　　right&nbsp;&nbsp;定义了定位元素右外边距边界与其包含块右边界之间的偏移。&nbsp;<br />
　　bottom&nbsp;&nbsp;定义了定位元素下外边距边界与其包含块下边界之间的偏移。&nbsp;<br />
　　left&nbsp;&nbsp;定义了定位元素左外边距边界与其包含块左边界之间的偏移。&nbsp;<br />
　　overflow&nbsp;&nbsp;设置当元素的内容溢出其区域时发生的事情。&nbsp;<br />
　　clip&nbsp;&nbsp;设置元素的形状。元素被剪入这个形状之中，然后显示出来。&nbsp;<br />
　　vertical-align&nbsp;&nbsp;设置元素的垂直对齐方式。&nbsp;<br />
　　z-index&nbsp;&nbsp;设置元素的堆叠顺序。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=129</link>
			<title><![CDATA[检验CSS书写是否标准合理]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:43:43 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=129</guid>
		<description><![CDATA[<p>CSS用来定义网站的用户界面，并实现页面展现与内容的分离。CSS在几乎所有的网站都会用到，下面让我们花些精力来确保你的CSS书写的是否标准、合理。这些提示对CSS初学者同样会有很大的帮助。</p>
<ol sizset="23" sizcache="2">
    <li><strong>样式表索引</strong>
    <p>样式表头部索引定义可以帮助你和其它人弄清楚该样式表文件的相关信息，它一般是一段格式化的CSS注释文本。</p>
    <ul>
        <li>给出该css文件作者的相关信息</li>
        <li>定义站点的布局（几栏，静态布局/动态布局）</li>
        <li>记录文件版本号（利于多作者协作及将来更新）</li>
    </ul>
    <div class="wp-caption aligncenter" style="width: 526px"><img title="样式表索引" alt="样式表索引" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838010.gif" width="516" height="363" />
    <p class="wp-caption-text">样式表索引</p>
    </div>
    </li>
    <li><strong>命名锚点</strong>
    <p>命名锚点是用来规划整个CSS文件结构的（就好像书签一样），从而使整个CSS文件获得良好的组织。</p>
    <p>命名锚点一般也是书写在样式表头部的索引注释中。CSS本身没有内部的锚点系统，所以我一般采用下面的小技巧来完成。在头部索引拷贝你想找到的锚点，并在整个文档中查找，从而获取该CSS节。（描述的可能不清晰，看下面图应该就明白了）</p>
    <div class="wp-caption aligncenter" style="width: 526px"><img title="命名锚点定义及查找" alt="命名锚点定义及查找" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838011.gif" width="516" height="469" />
    <p class="wp-caption-text">命名锚点定义及查找</p>
    </div>
    </li>
    <li><strong>避免多余Class定义</strong>
    <p>很多人（尤其是新手）在书写CSS中会定义不必要的Class来样式化一些元素。</p>
    <p>其实CSS的一个优雅之处在于它的上下文选择符（即子选择器和相邻同胞选择器），如下：</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 525px"><img title="避免多余Class定义" alt="避免多余Class定义" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838012.gif" width="515" height="421" />
    <p class="wp-caption-text">避免多余Class定义</p>
    </div>
    </li>
    <li><strong>合适的命名</strong>
    <p>为class定义一个准确清晰的类名十分关键，它有助于你更好更快的理解CSS定义，不至于混淆。</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 536px"><img title="合适的命名" alt="合适的命名" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838013.gif" width="526" height="93" />
    <p class="wp-caption-text">合适的命名</p>
    </div>
    </li>
    <li><strong>缩写</strong>
    <p>在CSS中经常会利用缩写把多个相同类型的属性定义指定为一个。</p>
    <p>CSS缩写会使CSS文档更加干净、简洁。下面是几个例子：</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 536px"><img title="CSS缩写" alt="CSS缩写" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838014.gif" width="526" height="333" />
    <p class="wp-caption-text">CSS缩写</p>
    </div>
    </li>
    <li sizset="23" sizcache="2"><strong>CSS图像拼合(即CSS Sprites技术)</strong>
    <p>CSS Sprites技术：将用到的所有背景图片合并为一张图片，使用css背景属性，来控制图片的显示位置和方式。</p>
    <p>CSS Sprites技术的应用可以大大减少HTTP请求的次数，减轻服务器压力，同时缩短了悬停加载图片所需要的时间延迟，使效果更流畅，不会停顿。</p>
    <p sizset="23" sizcache="2"><font color="#006600">苹果官方网站</font>的菜单设计是CSS Sprites技术应用非常好的案例：</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 560px"><img title="CSS Sprites" alt="CSS Sprites" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838015.gif" width="550" height="85" />
    <p class="wp-caption-text">CSS Sprites</p>
    </div>
    </li>
    <li><strong>特殊性</strong>
    <p>即使在不太复杂的样式表中，也可能有两个或更多规则寻找同一元素，CSS通过选择符特殊性来决定规则的次序。</p>
    <p>简而言之，每个CSS选择符都会分配一个权重。将规则的每个选择器的值加在一起，就可以计算出规则的特殊性。CSS特殊性的使用在大型CSS文件中会很有帮助。</p>
    <p>CSS特殊性在CSS中是比较大的一块内容，很难用几句话描述清楚，下面是几个示例：</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 560px"><img title="CSS 特殊性" alt="CSS 特殊性" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838016.gif" width="550" height="129" />
    <p class="wp-caption-text">CSS 特殊性</p>
    </div>
    </li>
    <li><strong>CSS Reset(CSS重置，偶个人叫它CSS初始化)</strong>
    <p>CSS Reset用于确保网站在不同浏览器中能够获得相同的展示效果。不同的浏览器有一套自己的初始默认设置，最终导致不同的UI展现。CSS重置就是用来解决这个问题，使你能在不同浏览器展现一致的基础上构建站点。</p>
    <p>我们可能不会要求你一定去使用某个CSS框架，但是希望能书写CSS Reset。我们可以在网上找到不少书写好的CSS Reset样例。</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 533px"><img title="CSS Reset" alt="CSS Reset" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838017.gif" width="523" height="204" />
    <p class="wp-caption-text">CSS Reset</p>
    </div>
    </li>
    <li><strong>CSS Hacks</strong>
    <p>可以说再完美的CSS也无法在所有浏览器中获得一致的展现，这是因为不同的浏览器给予你的CSS不同的解释。如果想要网站在不同的浏览器显示一致，你不得不使用CSS Hacks。</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 526px"><img title="CSS Hacks" alt="CSS Hacks" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838018.gif" width="516" height="95" />
    <p class="wp-caption-text">CSS Hacks</p>
    </div>
    <p>不过使用CSS Hack往往会导致CSS验证出现错误，一个替代的解决方案是为不同的浏览器书写不同的CSS，然后在html中使用条件语句引用它们。</p>
    </li>
    <li sizset="24" sizcache="2"><strong>CSS验证</strong>
    <p>当你书写完一个CSS文件，对它进行验证是十分必要的。它可以确保书写的CSS没有错误，并且在所有浏览器中正确的展示。</p>
    <p sizset="24" sizcache="2"><font color="#006600">W3C网站验证</font>是用来验证CSS的常用工具。</p>
    <p>&nbsp;</p>
    <div class="wp-caption aligncenter" style="width: 640px"><img title="CSS验证" alt="CSS验证" src="http://www.wzsky.net/ddimg/uploadimg/20090723/0838019.jpg" width="630" height="200" />
    <p class="wp-caption-text">CSS验证</p>
    </div>
    </li>
</ol>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=128</link>
			<title><![CDATA[CSS背景全攻略]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:27:27 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=128</guid>
		<description><![CDATA[<p>译文链接：<a href="http://www.qianduan.net/everthing-about-css-background.html" target="_blank"><font color="#2c6288">css 背景全攻略</font></a></p>
<p>背景(background)是css中一个重要的的部分，也是需要知道的css的基础知识之一。这篇文章将会涉及css背景(background)的基本用法，包括诸如 background-attachment 等的属性，也会介绍一些有关背景(background)的常用技巧，以及 css3 中的 背景(background)(包含4个新的背景(background)属性)。</p>
<p>&nbsp;</p>
<h2>css2 中的背景(background)</h2>
<h3>概述</h3>
<p>CSS2 中有5个主要的背景(background)属性，它们是：</p>
<p style="padding-left: 30px">* background-color: 指定填充背景的颜色。</p>
<p style="padding-left: 30px">* background-image: 引用图片作为背景。</p>
<p style="padding-left: 30px">* background-position: 指定元素背景图片的位置。</p>
<p style="padding-left: 30px">* background-repeat: 决定是否重复背景图片。</p>
<p style="padding-left: 30px">* background-attachment: 决定背景图是否随页面滚动。</p>
<p>这些属性可以全部合并为一个缩写属性: background。需要注意的一个要点是背景占据元素的所有内容区域，包括 padding 和 border，但是不包括元素的 margin。它在 Firefox, Safari ,Opera 以及 IE8 中工作正常，但是 IE6 和 IE7 中，background 没把 border 计算在内。</p>
<p><img alt="Background does not extend to the borders in IE7 and IE6." src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923090.jpg" /></p>
<h3>基本属性</h3>
<h4>背景色(background-color)</h4>
<p>background-color 属性用纯色来填充背景。有许多方式指定这个颜色，以下方式都得到相同的结果。</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-color: blue;
background-color: rgb(0, 0, 255);
background-color: #0000ff;</pre>
</div>
</div>
<p>background-color 也可被设置为透明（transparent），这会使得其下的元素可见。</p>
<h4>背景图(background-image)</h4>
<p>background-image 属性允许指定一个图片展示在背景中。可以和 background-color 连用，因此如果图片不重复地话，图片覆盖不到地地方都会被背景色填充。代码很简单，只需要记住，路径是相对于样式表的，因此以下的代码中，图片和样式表是在同一个目录中的。</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(image.jpg);</pre>
</div>
</div>
<p>但是如果图片在一个名为 images 的子目录中，就应该是：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(images/image.jpg);</pre>
</div>
</div>
<p>糖伴西红柿：使用 ../ 表示上一级目录，比如 background-image: url(../images/image.jpg); 表示图片位于样式表的上级目录中的 images 子目录中。有点绕，不过这个大家应该都知道了，我就不详说了。<font color="#2c6288">前端观察</font> 版权所有，转载请保留链接。</p>
<h4>背景平铺(background-repeat)</h4>
<p>设置背景图片时，默认把图片在水平和垂直方向平铺以铺满整个元素。这也许是你需要的，但是有时会希望图片只出现一次，或者只在一个方向平铺。以下为可能的设置值和结果：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-repeat: repeat; /* 默认值，在水平和垂直方向平铺 */
background-repeat: no-repeat; /* 不平铺。图片只展示一次。 */
background-repeat: repeat-x; /* 水平方向平铺(沿 x 轴) */
background-repeat: repeat-y; /* 垂直方向平铺(沿 y 轴) */
background-repeat: inherit; /* 继承父元素的 background-repeat 属性*/</pre>
</div>
</div>
<h4>背景定位(background-position)</h4>
<p>background-position 属性用来控制背景图片在元素中的位置。技巧是，实际上指定的是图片左上角相对于元素左上角的位置。<br />
下面的例子中，设置了一个背景图片并且用 background-position 属性来控制它的位置，同时也设置了 background-repeat 为 no-repeat。计量单位是像素。第一个数字表示 x 轴(水平)位置，第二个是 y 轴(垂直) 位置。</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
/* 例 1: 默认值 */
background-position: 0 0; /* 元素的左上角 */
&nbsp;
/* 例 2: 把图片向右移动 */
background-position: 75px 0;
&nbsp;
/* 例 3: 把图片向左移动 */
background-position: -75px 0;
&nbsp;
/* 例 4: 把图片向下移动 */
background-position: 0 100px;</pre>
</div>
</div>
<p><img alt="The image can be set to any position you like." src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923091.jpg" /></p>
<p>background-position 属性可以用其它数值，关键词和百分比来指定，这比较有用，尤其是在元素尺寸不是用像素设置时。</p>
<p>关键词是不用解释的。x 轴上：</p>
<ul>
    <li>* left</li>
    <li>* center</li>
    <li>* right</li>
</ul>
<p>y 轴上:</p>
<ul>
    <li>* top</li>
    <li>* center</li>
    <li>* bottom</li>
</ul>
<p>顺序方面和使用像素值时的顺序几乎一样，首先是 x 轴，其次是 y 轴，像这样：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-position: top right;</pre>
</div>
</div>
<p>使用百分数时也类似。需要主要的是，使用百分数时，浏览器是以元素的百分比数值来设置图片的位置的。看例子就好理解了。假设设定如下：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-position: 100% 50%;</pre>
</div>
</div>
<p>This goes 100% of the way across the image (i.e. the very right-hand edge) and 100% of the way across the element (remember, the starting point is always the top-left corner), and the two line up there. It then goes 50% of the way down the image and 50% of the way down the element to line up there. The result is that the image is aligned to the right of the element and exactly half-way down it.</p>
<p>糖伴西红柿：这一段没想到合适的翻译，保留原文，意译。<font color="#2c6288">前端观察</font> 版权所有，转载请保留链接。</p>
<p>注意原点总是左上角，最终的效果是笑脸图片被定位在元素的最右边，离元素顶部是元素的一半，效果和 background-position: right center; 一样。</p>
<p><img alt="The smiley face is aligned as it would be if it was set to right center." src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923092.jpg" /></p>
<h4>背景附着</h4>
<p>background-attachment 属性决定用户滚动页面时图片的状态。三个可用属性为 scroll(滚动)，fixed(固定) 和 inherit(继承)。inherit 单纯地指定元素继承他的父元素的 background-attachment 属性。</p>
<p>为了正确地理解 background-attachment，首先需要明白页面(page)和视口(view port)是如何协作地。视口(view port)是浏览器显示网页的部分(就是去掉工具栏的浏览器)。视口(view port)的位置固定，不变动。</p>
<p>当向下滚动网页时，视口(view port)是不动的，而页面的内容向上滚动。看起来貌似视口(view port)向页面下方滚动了。如果设置 background-attachment: scroll，就设置了当元素滚动时，元素背景也必需随着滚动。简而言之，背景是紧贴元素的。这是 background-attachment 默认值。</p>
<p>用一个例子来更清楚地描述下：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(test-image.jpg);
&nbsp;
background-position: 0 0;
background-repeat: no-repeat;
background-attachment: scroll;</pre>
</div>
</div>
<p><img alt="" src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923093.jpg" /></p>
<p>当向下滚动页面时，背景向上滚动直至消失。</p>
<p>但是当设置 background-attachment 为 fixed 时，当页面向下滚动时，背景要待在它原来的位置(相对于浏览器来说)。也就是不随元素滚动。</p>
<p>用另一个例子描述下：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(test-image.jpg);
background-position: 0 100%;
background-repeat: no-repeat;
background-attachment: fixed;</pre>
</div>
</div>
<p><img alt="We have scrolled down the page here, but the image remains visible." src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923094.jpg" /></p>
<p>页面已经向下滚动了，但是图像仍然保持可见。</p>
<p>需要重视的一点是背景图只能出现在它父元素能达到的区域。即使图片是相对于视口(view port)定位地，如果它的父元素不可见，图片就会消失。参见下面的例子。此例中，图片位于视口(view port)的左下方，但是只有元素内的图片部分是可见的。</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(test-image.jpg);
background-position: 0 100%;
background-repeat: no-repeat;
background-attachment: fixed;</pre>
</div>
</div>
<p><img alt="Part of the image has been cut off because it begins outside of the element." src="http://www.wzsky.net/ddimg/uploadimg/20090909/0923095.jpg" /></p>
<p>因为图片开始在元素之外，一部分图片被切除了。</p>
<h4>背景的简写属性</h4>
<p>可以把背景的各个属性合为一行，而不用每次都单独把他们写出来。格式如下：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background: <span style="color: #ddbb00">&amp;lt;</span>color<span style="color: #ddbb00">&amp;gt;</span> <span style="color: #ddbb00">&amp;lt;</span>image<span style="color: #ddbb00">&amp;gt;</span> <span style="color: #ddbb00">&amp;lt;</span>position<span style="color: #ddbb00">&amp;gt;</span> <span style="color: #ddbb00">&amp;lt;</span>attachment<span style="color: #ddbb00">&amp;gt;</span> <span style="color: #ddbb00">&amp;lt;</span>repeat<span style="color: #ddbb00">&amp;gt;</span></pre>
</div>
</div>
<p>例如，下面的声明</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-color: transparent;
background-image: url(image.jpg);
background-position: 50% 0 ;
background-attachment: scroll;
background-repeat: repeat-y;</pre>
</div>
</div>
<p>可以合为单独一行：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background: transparent url(image.jpg) 50% 0 scroll repeat-y;</pre>
</div>
</div>
<p>而且不需要指定每一个值。如果省略值地话，就使用属性地默认值。例如，上面那行和下面这个效果一样：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background: url(image.jpg) 50% 0 repeat-y;</pre>
</div>
</div>
<h2>背景的一般用法</h2>
<p>除了可以用来使元素更加优雅这类显然的用法之外，背景也可以用于其它的目的。</p>
<h3>仿栏</h3>
<p>当使用 css 的 float 属性来定位布局元素时，要确保两栏或多栏有相同的长度是比较困难的。如果长度不同，其中一栏的背景会比另外的短，这会破坏整个设计。</p>
<p>仿栏是个非常简单的背景技巧，这个技巧最早发表在<font color="#2c6288">A List Apart</font> 。思路很简单：不再给每列单独设置背景，而是给各列的父元素设置一个背景图。所有栏的设计都包含在这张图片之中。</p>
<h3>文本替换</h3>
<p>在网页上，对于字体的选择是相当有限的。可以使用 sIFR 之类的工具来定制字体，但是这需要用户启用 JavaScript 。一个适用于任意浏览器的简单方法是，用想用的字体来做一张文本图片，并用这张图片作为背景。这样，文本依然出现在文档标记中以供搜索引擎检索和屏幕浏览器识别，但是在浏览器中就会显示首选的字体。</p>
<p>例如，HTML 标记可能是这样的：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace"><span style="color: #009900">&lt;<span style="color: #000000; font-weight: bold">h3</span>&gt;</span>Blogroll<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="color: #000000; font-weight: bold">h3</span>&gt;</span></pre>
</div>
</div>
<p>假如有一个 200 乘 75 的图片，上面有更好看的字体，就可以用如下方式来替换文本：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
h3.blogroll {
width: 200px;
height: 75px; /* So that the element will show the whole image. */
background:url(blogroll-text.jpg) 0 0 no-repeat; /* Sets the background image */
text-indent: -9999px; /* Hides the regular text by moving it 9999 pixels to the left */
}</pre>
</div>
</div>
<h3>简单的圆点</h3>
<p>无需列表中的圆点看起来很难看。不用再处理所有不同的 list-style 属性，只需要简单地把他们隐藏并用背景图代替就可以了。因为图片可以随意选择，这些圆点就可以看起来更漂亮。</p>
<p>下面，我们把一个无需列表改造成有圆滑圆点的：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
ul {
list-style: none; /* Removes default bullets. */
}
&nbsp;
ul li {
padding-left: 40px; /* Indents list items, leaving room for background image on the left. */
background: url(bulletpoint.jpg) 0 0 no-repeat;
}</pre>
</div>
</div>
<h2>CSS3 中的背景</h2>
<p>CSS3 中的背景有较多改进。最显著的是多背景图片的选项，同时也增加了4个新属性。</p>
<h3>多背景</h3>
<p>CSS3 中，可以对一个元素应用一个或多个图片作为背景。代码和 css2 中的一样，只需要用逗号来区别各个图片。第一个声明的图片定位在元素顶部，其它的图片按序在其下排列，例如：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);</pre>
</div>
</div>
<h3>新属性：背景修剪(background-clip)</h3>
<p>这又把我们带回了文章开始讨论的那个关于边框内图片显示的话题。它被描述为&ldquo;背景描绘区&rdquo;。</p>
<p>background-clip 属性用来增强背景显示位置的控制能力。可能的值为：</p>
<p>* background-clip: border-box;<br />
背景显示在边框内。<br />
* background-clip: padding-box;<br />
背景显示在内补白(padding)内，而不是边框内。<br />
* background-clip: content-box;<br />
只在内容内显示背景，而不是内补白(padding)和边框内。<br />
* background-clip: no-clip;<br />
默认值，和 border-box 一样。</p>
<h3>新属性：背景原点(background-origin)</h3>
<p>这个属性和 background-position 结合起来使用。可以从边框，内补白或者内容盒子开始计算 background-position (类似于 background-clip)。</p>
<p>* background-origin: border-box;<br />
以边框为原点开始计算 background-position.<br />
* background-origin: padding-box;<br />
以内补白为原点开始计算 background-position<br />
* background-origin: content-box;<br />
以内容盒子为原点开始计算 background-position<br />
对于 background-clip 和 background-origin 不同的一个解释参看 <font color="#2c6288">CSS3.info</font></p>
<h3>新属性： 背景尺寸(background-size)</h3>
<p>background-size 用来调整背景图的大小。有好几个可能值：</p>
<p>* background-size: contain;<br />
缩小图片来适应元素的尺寸(保持像素的长宽比)<br />
* background-size: cover;<br />
扩展图片来填满元素(保持像素的长宽比)<br />
* background-size: 100px 100px;<br />
调整图片到指定大小<br />
* background-size: 50% 100%;<br />
调整图片到指定大小。百分比是相对于包含元素的尺寸的。</p>
<p>可以看一下 <font color="#2c6288">CSS3规则</font> 网站上的几个例子。</p>
<h3>新属性：(background-break)</h3>
<p>CSS3 中，元素可以被分成几个独立的盒子(例如 使内联元素 span 跨越多行)。background-break 属性用来控制背景怎样在这些不同的盒子中显示。</p>
<p>可能值为：</p>
<p>* Background-break: continuous;<br />
默认值。忽略盒之间的距离(也就是像元素没有分成多个盒子，依然是一个整体一样)<br />
* Background-break: bounding-box;<br />
把盒之间的距离计算在内<br />
* Background-break: each-box;<br />
为每个盒子单独重绘背景</p>
<h3>背景色(background-color)的改进</h3>
<p>background-color 在 css3 中有了稍许改进。除了设置背景颜色之外，如果元素底层的背景图不可用，还可以设置一个&ldquo;回退色&rdquo;。</p>
<p>通过在回退色之前增加一个斜杠(/)来实现，例如：</p>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="html4strict" style="font-family: monospace">
background-color: green / blue;</pre>
</div>
</div>
<p>此例中，背景色应该是绿色(green)。然而，如果底层背景图不能使用的话，背景色就是蓝色而不是绿色。如果在斜杠前不指定颜色，默认为透明(transparent)。</p>
<h3>背景平铺(background-repeat)的改进</h3>
<p>CSS2中当图片平铺时，会被元素在末端截断。CSS3 引入了两个属性来修正这个问题:</p>
<p>* space: 应用同等数量的空白到图片之间，直到填满整个元素<br />
* round: 缩小图片直到正好平铺满元素<br />
关于 background-repeat: space; 的一个例子，可以在<font color="#2c6288"> CSS3 规则</font>网站看到。</p>
<h3>背景附着(background-attachment)的改进</h3>
<p>background-attachment 属性增加了一个新值：local。这是用来配合可以滚动的元素的(设置为 overflow: scroll; 的元素)。当 background-attachment 设置为滚动(scroll)时，背景图不会随元素内容的滚动而滚动。</p>
<p>设置为 background-attachment :local; 时，背景图会随内容的滚动而滚动。</p>
<h2>总结</h2>
<p>总结一下，css 中关于背景有许多需要知道的知识。但是一旦把这些知识融会贯通了，这些技术和命名约定就变得非常有意义而且很快就会成为潜意识行为了。</p>
<p>如果刚接触 css，主要不断联系就可以较快地掌握背景的要点了。如果是老手，我希望你可以和我一样期待 css3 。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=127</link>
			<title><![CDATA[样式命名的规则]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:25:30 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=127</guid>
		<description><![CDATA[<p>命名一直是个让我头痛的问题，特别是那些看上去差不多的模块，所以就得想办法啦，我总结了下面的方法，虽然还在试验中。希望对大家有帮助。欢迎大家提出改进的意见。具体如下：</p>
<p>要注意的内容：<br />
一，命名所选用的单词应选择不过于具体表示某一状态（如颜色、字号大小等）的单词，以避免当状态改变时名称失去意义。<br />
二，样式类名由以字母开头的小写字母（a-z）、数字（0-9）、下划线（_）、减号（-）组成。<br />
ID名称由不以数字开头的小写字母（a-z）、数字（0-9）、下划线（_）组成。</p>
<p>可使用类似下面的规则:</p>
<p>[模块前缀|类型|作用]_[名称]_[状态|位置]<br />
约定模块、类型、状态、位置等的所使用的单词或其缩写，保持上面的顺序，尽量保持在两到三个单词说清用途。</p>
<p>例：<br />
通用名词缩写<br />
设置 set<br />
成功 suc<br />
提示 hint<br />
操作 op<br />
密码 pw<br />
菜单 menu<br />
按钮 bt<br />
文本 tx<br />
颜色 c<br />
背景 bg<br />
边框 bor<br />
居中 center<br />
图标 icon<br />
弹出 pop</p>
<p>文本输入框 .input_tx<br />
密码输入框 .input_pw<br />
登录密码输入框 .input_pw_login<br />
日志设置成功提示 .hint_suc_blogset<br />
相册弹出的设置层 .pop_set_photo<br />
公共提示 .hint_bg<br />
文本颜色 .c_tx<br />
段落文本颜色 .c_tx_p</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=126</link>
			<title><![CDATA[灵活运用HTML标记]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:18:21 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=126</guid>
		<description><![CDATA[<p>div+css网页布局已逐渐流行，但面对所谓DIV+CSS布局的叫法让人更为担心，不要让DIV成为Table的替代品，多层嵌套的DIV会严重影响代码的可阅读性，活用HTML为我们提供的标签吧。<br />
<br />
　　<strong>什么时候应该用DIV?</strong><br />
<br />
　　虽然在这方面没有什么硬性的规定,但个人认为DIV更适用于大体框架的定位.例如我们要定义一块头部的区域,一般会这样定义一个DIV:</p>
<div class="UBBPanel">
<div class="UBBContent">&lt;div&nbsp;id=&quot;header&quot;&gt;　　这里就是头部框架里要写的内容&lt;/div&gt;</div>
<div class="UBBContent">&nbsp;</div>
<div class="UBBContent">　　当然,可以用class来定义,但一般来讲如不是在同一页面会重复的元素,用id能更好的区别开来.<br />
<br />
　　本人观察了下一个著名网站的首页代码,它的头部定义代码如下:</div>
</div>
<div class="UBBPanel">
<div class="UBBContent">&nbsp;&nbsp;&nbsp;&lt;ul&nbsp;id=&quot;navbar&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;articles&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/articles/&quot;&nbsp;title=&quot;Articles&quot;&gt;Articles&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;topics&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/topics/&quot;&nbsp;title=&quot;Topics&quot;&gt;Topics&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;about&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/about/&quot;&nbsp;title=&quot;About&quot;&gt;About&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;contact&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/contact/&quot;&nbsp;title=&quot;Contact&quot;&gt;Contact&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;contribute&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/contribute/&quot;&nbsp;title=&quot;Contribute&quot;&gt;Contribute&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;li&nbsp;id=&quot;feed&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/feed/&quot;&nbsp;title=&quot;Feed&quot;&gt;Feed&lt;/a&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;h1&nbsp;id=&quot;masthead&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;a&nbsp;href=&quot;/&quot;&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;img&nbsp;src=&quot;/pix/alalogo.gif&quot;&nbsp;alt=&quot;A&nbsp;LIST&nbsp;Apart:&nbsp;For&nbsp;People&nbsp;Who&nbsp;Make&nbsp;Websites&quot;&nbsp;/&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/a&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;/h1&gt;</div>
</div>
<div class="UBBPanel">
<div class="UBBContent">&lt;div&nbsp;id=&quot;ish&quot;&gt;<br />
&nbsp;&lt;a&nbsp;href=&quot;/issues/214&quot;&nbsp;title=&quot;Issue&nbsp;214&quot;&gt;No.&nbsp;&lt;em&gt;214&lt;/em&gt;&lt;/a&gt;<br />
&nbsp;&lt;/div&gt;&nbsp;</div>
</div>
<p>　　定义了最上面的导航(ul部分),左边的大logo和那个圆圆的No.xxxx的标记.&nbsp;<br />
<br />
　　他没有使用DIV来做顶部的框架,但却很好的说明了这些代码的用途,为什么?因为他活用了HTML提供的标签,以及样式名称的定义<br />
<br />
　　<strong>其它最常用的布局标签</strong><br />
<strong>h1</strong><br />
　　这个标签或许真正会去用的人很少,因为它显示的字体真的是太&quot;大&quot;了,但我们是CSSer,有什么标签样式不能改呢?而且它所能表达的意思就如同它原先的作用一样明显(大标题)我想你已经知道怎么去用它了&nbsp;^_^<br />
<br />
<strong>ul</strong><br />
　　这个标签很多情况是用来定义导航部分的,当然也可以用ol来代替,但导航连接没有什么顺序之分吧,所以还是用ul来的比较确切(去掉CSS后效果更明显)<br />
<br />
<strong>b</strong><br />
　　这个已经不再推荐使用的标签,在布局上却能带来不少的方便(因为短),虽然我不是太赞成使用这个标签,但有些时候(比如细小地方的布局定义)还是不错的选择<br />
<br />
<strong>h2</strong><br />
　　h2使用最多的地方应该不是布局上,而是副标题,但有些地方需要定义栏目样式的话,用这个标签比较合适,栏目内容就使用p</p>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=125</link>
			<title><![CDATA[两列布局实例]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:15:55 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=125</guid>
		<description><![CDATA[<div>CSS两列布局，右侧固定，左侧自适应宽度</div>
<div>&lt;div style=&quot;width:90%; margin:0 auto;&quot;&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot;width:200px; float:right;&quot;&gt;这是右侧的内容&lt;/div&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot; margin-right:210px;&quot;&gt;这是左侧的内容，自适应宽度&lt;/div&gt;<br />
&lt;/div&gt;</div>
<div>CSS两列布局，左侧固定，右侧自适应宽度</div>
<div>&lt;div style=&quot;width:90%; margin:0 auto;&quot;&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot;width:150px; float:left;&gt;这是左侧的内容 固定宽度&lt;/div&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot; margin-left:160px;&gt;中间内容，自适应宽度&lt;/div&gt;<br />
&lt;/div&gt;</div>
<div>CSS三列布局，左右宽度固定，中间自适应宽度</div>
<div>&lt;div style=&quot;width:90%; margin:0 auto;&quot;&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot;width:200px; float:right; &gt;这是右侧的内容 固定宽度&lt;/div&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot;width:150px; float:left; &gt;这是左侧的内容 固定宽度&lt;/div&gt;<br />
&nbsp;&nbsp; &lt;div style=&quot; margin-left:160px;margin-right:210px;&gt;中间内容，自适应宽度&lt;/div&gt;<br />
&lt;/div&gt;</div>
<div>&nbsp;</div>
<div>三列等高布局</div>
<div>&lt;style&gt;<br />
*{ margin:0; padding:0}<br />
#content{overflow:hidden}<br />
#content #left,#content #center,#content #right{margin-bottom:-10000px;padding-bottom:10000px;width:300px;float:left;}<br />
#content #left{background:#f00;}<br />
#content #center{background:#0ff}<br />
#content #right{background:#f0f}<br />
&lt;/style&gt;<br />
&nbsp;</div>
<div>&lt;div id=&quot;content&quot;&gt;<br />
&nbsp;&lt;p id=&quot;left&quot;&gt;left&lt;br /&gt;left&lt;br /&gt;left&lt;br /&gt;left&lt;br /&gt;left&lt;br /&gt;left&lt;/p&gt;<br />
&nbsp;&lt;p id=&quot;center&quot;&gt;center&lt;/p&gt;<br />
&nbsp;&lt;p id=&quot;right&quot;&gt;right&lt;/p&gt;<br />
&lt;/div&gt;</div>]]></description>
		</item>
		
			<item>
			<link>http://www.nov99.com/blog/article.asp?id=124</link>
			<title><![CDATA[中文排版的9则技巧]]></title>
			<author>nov99@qq.com(nov99)</author>
			<category><![CDATA[好好学习]]></category>
			<pubDate>Sat,30 May 2009 02:10:14 +0800</pubDate>
			<guid>http://www.nov99.com/blog/default.asp?id=124</guid>
		<description><![CDATA[<p><strong>一、如何设定文字字体、颜色、大小&nbsp;&mdash;&nbsp;使用font&nbsp;<br />
<br />
</strong>　　font-style设定斜体，比如font-style:&nbsp;italic;&nbsp;<br />
　　font-weight设定文字粗细，比如font-weight:&nbsp;bold;&nbsp;<br />
　　font-size设定文字大小，比如font-size:&nbsp;12px;（或者9pt，不同单位显示问题参考CSS手册）&nbsp;<br />
　　line-height设定行距，比如line-height:&nbsp;150%;&nbsp;<br />
　　color设定文字颜色（注意不是font-color），比如color:&nbsp;red;&nbsp;<br />
　　font-family设定字体，比如font-family&nbsp;:&nbsp;&quot;Lucida&nbsp;Grande&quot;,&nbsp;Verdana,&nbsp;Lucida,&nbsp;Arial,&nbsp;Helvetica,&nbsp;宋体,sans-serif;（这是通用的写法）&nbsp;<br />
<br />
　　以上都可以写在一行font属性里（除了color属性需要单独写）：&nbsp;<br />
　　font:&nbsp;italic&nbsp;bold&nbsp;12px/150%&nbsp;&quot;Lucida&nbsp;Grande&quot;,&nbsp;Verdana,&nbsp;Lucida,&nbsp;Arial,&nbsp;Helvetica,&nbsp;宋体,sans-serif;&nbsp;<br />
<br />
<strong>二、如何控制段落排版&nbsp;&mdash;&nbsp;使用margin，text-align&nbsp;</strong><br />
<br />
　　中文段落使用&lt;p&gt;标签，左右（相当于缩进）、段前段后的空白，都可以用margin。比如：&nbsp;<br />
p{&nbsp;<br />
margin:&nbsp;18px&nbsp;6px&nbsp;6px&nbsp;18px;&nbsp;/*分别是上、右、下、左，十二点开始的顺时针方向*/&nbsp;<br />
}&nbsp;<br />
<br />
　　文字的对齐方式用text-align，比如：&nbsp;<br />
p{&nbsp;<br />
text-align:&nbsp;center;&nbsp;&nbsp;&nbsp;/*居中对齐*/&nbsp;<br />
}&nbsp;<br />
　　对齐方式还有left、right和justify（两端对齐）&nbsp;<br />
　　PS.谈起margin，我习惯于在写CSS的时候为所有的标签定义margin:&nbsp;0;&nbsp;因为时而出现由于默认的margin值导致页面排版问题，而自己找不到原因（特别注意的是ul/ol/p/dt/dd等标签）&nbsp;<br />
<br />
<strong>三、竖排文字&nbsp;&mdash;&nbsp;使用writing-mode</strong>&nbsp;<br />
<br />
　　writing-mode属性有两个值lr-tb和tb-rl，前者是默认的左-右、上-下，后者是上-下、右-左。&nbsp;<br />
　　比如：&nbsp;<br />
p{&nbsp;<br />
writing-mode:&nbsp;tb-rl;&nbsp;<br />
}&nbsp;<br />
　　可以结合direction排版。&nbsp;<br />
<br />
<strong>四、项目符号的问题&nbsp;&mdash;&nbsp;使用list-style</strong>&nbsp;<br />
<br />
　　在CSS里项目符号有disc（实心圆点）、circle（空心圆圈）、square（实心方块）、decimal（阿拉伯数字）、lower-roman（小写罗马数字）、upper-roman（大写罗马数字）、lower-alpha（小写英文字母）、upper-alpha（大写英文字母）、none（无）。比如设定一个列表（ul或ol）的项目符号为方块，如：&nbsp;<br />
li{&nbsp;<br />
list-style:&nbsp;square;&nbsp;<br />
}<br />
<br />
　　另外list-style还有一些值，比如可以采用一些小图片作为项目符号，在list-style下直接写url(&ldquo;图片地址&rdquo;)就可以了。注意如果一个项目列表的左外补丁（margin-left）设为零的时候，list-style-position:&nbsp;outside（默认是outside）的项目符号不会显示。可惜的是上述的项目符号似乎并不能设定大小，圆点和方块始终是那么点。并且不能设定垂直方向上的对齐。&nbsp;<br />
<br />
<strong>五、首字下沉&nbsp;&mdash;&nbsp;使用:first-letter&nbsp;</strong><br />
<br />
　　伪对象:first-letter配合font-size、float可以制作首字下沉效果。&nbsp;<br />
　　比如：&nbsp;<br />
<br />
p:first-letter{&nbsp;<br />
padding:&nbsp;6px;&nbsp;<br />
font-size:&nbsp;32pt;&nbsp;<br />
float:&nbsp;left;&nbsp;<br />
}&nbsp;<br />
<strong>六、首行缩进&nbsp;&mdash;&nbsp;使用text-indent&nbsp;</strong><br />
<br />
　　text-indent可以使得容器内首行缩进一定单位。比如中文段落一般每段前空两个汉字。可以这么写：&nbsp;<br />
<br />
p{&nbsp;<br />
text-indent:&nbsp;2em;&nbsp;/*em是相对单位，2em即现在一个字大小的两倍*/&nbsp;<br />
}&nbsp;<br />
　　如果font-size是12px的话，那么text-indent:&nbsp;2em则缩进24px。&nbsp;<br />
<br />
<strong>七、关于汉字注音&nbsp;&mdash;&nbsp;使用ruby标签和ruby-align属性</strong>&nbsp;<br />
<br />
　　比如说&lt;ruby&gt;注音&lt;rt&nbsp;style=&quot;font-size:&nbsp;11px;&quot;&gt;zhu&nbsp;yin&lt;/rt&gt;&lt;/ruby&gt;，可以利用ruby-align设置对齐方式。这是在CSS手册里面看到的，具体可以自行查阅ruby-align项。&nbsp;<br />
<br />
<strong>八、固定宽度汉字截断&nbsp;&mdash;&nbsp;使用text-overflow</strong>&nbsp;<br />
<br />
　　用后台语言可以对从数据库里的字段内容做截断处理，比如说截12个汉字（之后用省略号）。但是有时还需要html标签的过滤等，而用CSS来控制则没有这个问题。比如对列表应用以下样式：&nbsp;<br />
li{&nbsp;<br />
overflow:hidden;&nbsp;<br />
text-overflow:ellipsis;&nbsp;<br />
white-space:nowrap;&nbsp;<br />
}&nbsp;<br />
　　不过只能处理文字在一行上的截断，不能处理多行。&nbsp;<br />
<br />
<strong>九、固定宽度汉字（词）折行&nbsp;&mdash;&nbsp;使用word-break&nbsp;</strong><br />
<br />
　　举个例子，比如说要在一个固定宽度容器里面显示很多地名（假设以空格分隔），为了避免地名中间断开（即一个字在上面而另一个字折断到下一行去了）。则可以使用word-break。比如：&nbsp;<br />
<br />
&lt;div&nbsp;style=&quot;width:210px;height:&nbsp;200px;background:&nbsp;#ccc;word-break:keep-all&quot;&gt;&nbsp;<br />
南京上海&nbsp;上海上&nbsp;南&nbsp;上海上海&nbsp;南京&nbsp;上海上海上海&nbsp;南京上海&nbsp;上海&nbsp;南京上海&nbsp;上海&nbsp;南京&nbsp;上海&nbsp;南京&nbsp;上海&nbsp;南京&nbsp;上海&nbsp;南京&nbsp;上海&nbsp;南京&nbsp;上海&nbsp;南京上海&nbsp;上海&nbsp;南京上海&nbsp;上海&nbsp;<br />
&lt;/div&gt;&nbsp;<br />
　　值得注意的是里面的空格不能以&nbsp;代替（最少要有一个软空格）。<br />
&nbsp;</p>]]></description>
		</item>
		
</channel>
</rss>
