<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[AspDIY.Net]]></title>
<link>http://www.aspdiy.net/</link>
<description><![CDATA[网站设计相关技术文档及心得！]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[983493#qq.com(不必)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>AspDIY.Net</title>
	<url>http://www.aspdiy.net/images/logos.gif</url>
	<link>http://www.aspdiy.net/</link>
	<description>AspDIY.Net</description>
</image>

			<item>
			<link>http://www.aspdiy.net/article/webcode/149.htm</link>
			<title><![CDATA[C# 的异步调用 ]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[VB/ASP/.Net]]></category>
			<pubDate>Sun,08 Aug 2010 22:23:15 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=149</guid>
		<description><![CDATA[使用异步调用，某些时候可以提高性能，比如说写日志，对数据库进行操作的时候就可以使用异步操作的方式。这种方式相当于多线程并发运行，所以性能会有所提升。我后面会发篇随笔来使用异步调用的方法写日志。<br/>/*<br/> * Authod: sandals<br/> * Date&nbsp;&nbsp;: 2010-08-07 20:30<br/> * Description: 异步调用的实现<br/> * */<br/><br/>using System;<br/>namespace Sandals.Demo.AsynchronousCall<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;public static class AsyncDemo<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>　　　　 //声明委托<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private delegate string AsyncMethodCalledEventHander(int duration, out int threadId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //cr&#101;ate an instance of the delegate<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static AsyncMethodCalledEventHander eventHandler = new AsyncMethodCalledEventHander(MethodForAsyncCall);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// The method to be executed asynchronously<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;duration&#34;&gt;sleep duration for thread&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;threadId&#34;&gt;current thread id&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static string MethodForAsyncCall(int duration, out int threadId)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;MethodForAsyncCall begin execute... &#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Thread.Sleep(duration);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;threadId = System.Threading.Thread.CurrentThread.ManagedThreadId;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return String.Format(&#34;my execute time was {0} &#34;, duration);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// this method for executing asyc method<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;duration&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static IAsyncResult BeingRun(int duration)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int dumy;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult result = eventHandler.BeginInvoke(duration, out dumy, null, null);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return result;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// this methiod end the asyc method<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;/summary&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;threadId&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;param name=&#34;ar&#34;&gt;&lt;/param&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/// &lt;returns&gt;&lt;/returns&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public static string EndRun(out int threadId, IAsyncResult ar)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (ar == null)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw new NullReferenceException(&#34;parameter ar can not be a null&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return eventHandler.EndInvoke(out threadId, ar);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program<br/>&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IAsyncResult result = AsyncDemo.BeingRun(10000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;the thread {0} continue to execute&#34;, System.Threading.Thread.CurrentThread.ManagedThreadId);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;the thread {0} begin to sleep, date: {1}&#34;, System.Threading.Thread.CurrentThread.ManagedThreadId, DateTime.Now);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.Threading.Thread.Sleep(3000);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;the thread {0} sleep end, date: {1}&#34;, System.Threading.Thread.CurrentThread.ManagedThreadId, DateTime.Now);<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int threadId = 0;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;call the mothod to end the ansychronous method&#34;);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;asynchronous method return value: {0}. thread id: {1}&#34;, AsyncDemo.EndRun(out threadId, result), threadId);<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/webcode/148.htm</link>
			<title><![CDATA[SQL Server 不删除信息重新恢复自动编号列的序号的方法]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[VB/ASP/.Net]]></category>
			<pubDate>Thu,29 Jul 2010 11:55:08 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=148</guid>
		<description><![CDATA[<div>核对当前特定表的自动增量值，如果需要，可以纠正自动增量的值。</div>
<div><strong>语法：</strong></div>
<div><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong></div>
<div><span>&nbsp;&nbsp;&nbsp; ( 'table_name' </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ , { NORESEED </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | { RESEED [ , new_reseed_value ] } </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] </span></div>
<div><span>&nbsp;&nbsp;&nbsp; )</span></div>
<div><strong>参数：</strong></div>
<div>&lsquo;tableName&rsquo;是检查当前自动增量的表名。此表名必需是符合的标示符。此表必需包含自动增量字段。</div>
<div>Noreseed,当前特定自动增量的值不被纠正。</div>
<div>RESEED,当前特定自动增量的值被纠正。</div>
<div>New_reseed_value,重新设置自动增量字段的起初值.</div>
<div><strong>注释</strong></div>
<div>如有必要，<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 会更正列的当前标识值。然而，如果标识列是使用 NOT FOR REPLICATION 子句（在 Create TABLE 或 Alter TABLE 语句中）创建的，则不更正当前标识值。<span style="font-size: 9pt">如果标识列上有主键或唯一键约束，无效标识信息可能会导致错误信息</span><span style="font-size: 9pt"> 2627</span><span style="font-size: 9pt">。对当前标识值所做的具体更正取决于参数规范。</span></div>
<h1 class="title_txt"><img height="15" alt="原创" width="15" border="0" src="http://blog.csdn.net/images/authorship.gif" />&nbsp; DBCC CheckIdent <cite class="fav_csdnstylebykimi"><a class="fav_csdnstylebykimi" title="收藏到我的网摘中，并分享给我的朋友" href="http://www.aspdiy.net/javascript:d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(saveit=window.open('http://wz.csdn.net/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'saveit','scrollbars=no,width=590,height=300,left=75,top=20,status=no,resizable=yes'));saveit.focus();">收藏</a> </cite></h1>
<div class="blogstory" sizset="10" sizcache="0"><script type="text/javascript">
						document.body.oncopy = function () {
							if (window.clipboardData) {
								setTimeout(function () {
									var text = clipboardData.getData("text");
									if (text && text.length > 300) {
										text = text + "\r\n\n本文来自CSDN博客，转载请标明出处：" + location.href;
										clipboardData.setData("text", text);
									}
								}, 100);
							}
						}
					</script><script type="text/javascript">						function StorePage() { d = document; t = d.selection ? (d.selection.type != 'None' ? d.selection.createRange().text : '') : (d.getSelection ? d.getSelection() : ''); void (keyit = window.open('http://www.365key.com/storeit.aspx?t=' + escape(d.title) + '&u=' + escape(d.location.href) + '&c=' + escape(t), 'keyit', 'scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }</script>
<div>核对当前特定表的自动增量值，如果需要，可以纠正自动增量的值。</div>
<div><strong>语法：</strong></div>
<div><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong></div>
<div><span>&nbsp;&nbsp;&nbsp; ( 'table_name' </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ , { NORESEED </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | { RESEED [ , new_reseed_value ] } </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } </span></div>
<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ] </span></div>
<div><span>&nbsp;&nbsp;&nbsp; )</span></div>
<div><strong>参数：</strong></div>
<div>&lsquo;tableName&rsquo;是检查当前自动增量的表名。此表名必需是符合的标示符。此表必需包含自动增量字段。</div>
<div>Noreseed,当前特定自动增量的值不被纠正。</div>
<div>RESEED,当前特定自动增量的值被纠正。</div>
<div>New_reseed_value,重新设置自动增量字段的起初值.</div>
<div><strong>注释</strong></div>
<div>如有必要，<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 会更正列的当前标识值。然而，如果标识列是使用 NOT FOR REPLICATION 子句（在 Create TABLE 或 Alter TABLE 语句中）创建的，则不更正当前标识值。<span style="font-size: 9pt">如果标识列上有主键或唯一键约束，无效标识信息可能会导致错误信息</span><span style="font-size: 9pt"> 2627</span><span style="font-size: 9pt">。对当前标识值所做的具体更正取决于参数规范。</span></div>
<table cellpadding="0" width="587" border="1" style="width: 440.25pt">
    <tbody>
        <tr>
            <td valign="top" width="44%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 44%; padding-top: 1.5pt">
            <div><strong><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> statement</span></strong></div>
            </td>
            <td valign="top" width="56%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 56%; padding-top: 1.5pt">
            <div><strong><span style="font-size: 12pt">Identity correction(s) made</span></strong></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="44%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 44%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (<strong>'</strong>table_name<strong>'</strong>, NORESEED)</span></div>
            </td>
            <td valign="top" width="56%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 56%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt">不重置当前标识值。<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 返回一个报表，它指明当前标识值和应有的标识值。</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="44%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 44%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (<strong>'</strong>table_name<strong>'</strong>) or <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (<strong>'</strong>table_name<strong>'</strong>, RESEED)</span></div>
            </td>
            <td valign="top" width="56%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 56%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt">如果表的当前标识值小于列中存储的最大标识值，则使用标识列中的最大值对其进行重置。</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="44%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 44%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (<strong>'</strong>table_name<strong>'</strong>, RESEED, new_reseed_value)</span></div>
            </td>
            <td valign="top" width="56%" style="padding-right: 1.5pt; padding-left: 1.5pt; padding-bottom: 1.5pt; width: 56%; padding-top: 1.5pt">
            <div><span style="font-size: 12pt">当前值设置为 new_reseed_value。如果自创建表后没有将行插入该表，则在执行 <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 后插入的第一行将使用 new_reseed_value 作为标识。否则，下一个插入的行将使用 new_reseed_value + 1。如果 new_reseed_value 的值小于标识列中的最大值，以后引用该表时将产生 2627 号错误信息</span></div>
            </td>
        </tr>
    </tbody>
</table>
<div><strong><span style="font-size: 12pt">注：</span></strong></div>
<div><span style="font-size: 12pt">当前标识值可以大于表中的最大值。在此情况下，<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 并不自动重置当前标识值。若要在当前标识值大于列中的最大值时对当前标识值进行重置，请使用两种方法中的任意一种： </span></div>
<div><span style="font-size: 12pt">一、执行 <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('table_name', NORESEED) 以确定列中的当前最大值，然后使用 <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('table_name', RESEED, new_reseed_value) 语句将该值指定为 new_reseed_value。</span></div>
<div><span style="font-size: 12pt">二、将 new_reseed_value 置为很小值来执行 <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('table_name', RESEED, new_reseed_value)，然后运行 <strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('table_name', RESEED)。</span></div>
</div>
<div><span style="font-size: 12pt">例如：</span></div>
<div><span style="font-size: 12pt">有表city</span></div>
<div><span style="font-size: 12pt">ID name&nbsp;&nbsp; type</span></div>
<div><span style="font-size: 12pt">1&nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">2&nbsp;&nbsp; 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">3&nbsp;&nbsp; 3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c</span></div>
<div><span style="font-size: 12pt">4&nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">5&nbsp;&nbsp; 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">6&nbsp;&nbsp; 3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c</span></div>
<div><span style="font-size: 12pt">7&nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">8&nbsp;&nbsp; 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">9&nbsp;&nbsp; 3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c</span></div>
<div><span style="font-size: 12pt">10 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">11 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">12 3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c</span></div>
<div><span style="font-size: 12pt">此时当前identity最大值与ID最大值一样，都为12.</span></div>
<div><span style="font-size: 12pt">现在删除后面一部分数据，city变为</span></div>
<div><span style="font-size: 12pt">ID name&nbsp;&nbsp; type</span></div>
<div><span style="font-size: 12pt">1&nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">2&nbsp;&nbsp; 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">3&nbsp;&nbsp; 3&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; c</span></div>
<div><span style="font-size: 12pt">4&nbsp;&nbsp; 1&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; a</span></div>
<div><span style="font-size: 12pt">5&nbsp;&nbsp; 2&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; b</span></div>
<div><span style="font-size: 12pt">此时当前identity最大值与ID最大值I 一样，ID列最大值为5，identity还是为12.此时要调整过来，将identity值调整为5..具体操作如下：</span></div>
<div><span style="font-size: 12pt">运行<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('city', RESEED, 1)，再运行<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> ('table_name', RESEED)将其重值。</span></div>
<div><strong><span style="font-size: 12pt">结果集</span></strong></div>
<div><span style="font-size: 12pt">不管是否指定任何选项（针对于包含标识列的表；下例使用 pubs 数据库的 jobs 表），<strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> 返回以下结果集（值可能会有变化）：</span></div>
<div><span style="font-size: 12pt">Checking identity information: current identity value '14', current column value '14'.</span></div>
<div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> execution completed. If <strong style="color: black; background-color: #ffff66">DBCC</strong> printed error messages, contact your system administrator.</span></div>
<div><strong><span style="font-size: 12pt">权限</span></strong></div>
<div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> </span><span style="font-size: 12pt">权限默认授予表所有者、sysadmin 固定服务器角色和 db_owner 固定数据库角色的成员且不可转让。</span></div>
<div><strong><span style="font-size: 12pt">示例</span></strong></div>
<div><span style="font-size: 12pt">A. </span><span style="font-size: 12pt">如有必要，重置当前标识值</span></div>
<div><span style="font-size: 12pt">下例在必要的情况下重置 jobs 表的当前标识值。</span></div>
<div><span style="font-size: 12pt">USE pubs</span></div>
<div><span style="font-size: 12pt">GO</span></div>
<div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (jobs)</span></div>
<div><span style="font-size: 12pt">GO</span></div>
<div><span style="font-size: 12pt">B. </span><span style="font-size: 12pt">报告当前标识值</span></div>
<div><span style="font-size: 12pt">下例报告 jobs 表中的当前标识值；如果该标识值不正确，并不对其进行更正。</span></div>
<div><span style="font-size: 12pt">USE pubs</span></div>
<div><span style="font-size: 12pt">GO</span></div>
<div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (jobs, NORESEED)</span></div>
<div><span style="font-size: 12pt">GO</span></div>
<div><span style="font-size: 12pt">C. </span><span style="font-size: 12pt">强制当前标识值为 30</span></div>
<div><span style="font-size: 12pt">下例强制 jobs 表中的当前标识值为 30。</span></div>
<div><span style="font-size: 12pt">USE pubs</span></div>
<div><span style="font-size: 12pt">GO</span></div>
<div><span style="font-size: 12pt"><strong style="color: black; background-color: #ffff66">DBCC</strong> <strong style="color: black; background-color: #a0ffff">CHECKIDENT</strong> (jobs, RESEED, 30)</span></div>
<div>
<p><span style="font-size: 12pt">GO</span></p>
<p><span style="font-size: 12pt">----------------------------------------------------------------------------------------------------------------------------</span></p>
<span style="font-size: 12pt">
<p>如果是清空表中内容再重置标识列可以选择使用 Truncate Table 命令：</p>
<p><strong>Truncate Table</strong><span style="font-size: x-small"><font size="1"> <em>tablename</em></font></span></p>
</span></div>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/webcode/146.htm</link>
			<title><![CDATA[双目运算符 &#34;??&#34; ]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[VB/ASP/.Net]]></category>
			<pubDate>Tue,27 Jul 2010 22:58:40 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=146</guid>
		<description><![CDATA[using System;&nbsp;&nbsp;<br/><br/>using System.Collections.Generic;&nbsp;&nbsp;<br/><br/>using System.Linq;&nbsp;&nbsp;<br/><br/>using System.Text;&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp; <br/><br/>namespace ConsoleApplication1&nbsp;&nbsp;<br/><br/>{&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;class Program&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static void Main(string[] args)&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int? a;&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a = null;//此时输出3&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//a = 6;//此时输出6&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int b = a ?? 3;&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.Write(b);&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.ReadKey();&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<br/><br/>} <br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/webcode/145.htm</link>
			<title><![CDATA[类和接口的区别 ]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[VB/ASP/.Net]]></category>
			<pubDate>Mon,26 Jul 2010 19:29:12 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=145</guid>
		<description><![CDATA[.Net提供了接口，这个不同于Class或者Struct的类型定义。接口有些情况，看似和抽象类一样，因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然，接口和抽象类各有长处和缺陷，因此往往在应用当中，两者要结合来使用，从而互补长短。<br/><br/>接下来先说说抽象类和接口的区别。<br/><br/>区别一，两者表达的概念不一样。抽象类是一类事物的高度聚合，那么对于继承抽象类的子类来说，对于抽象类来说，属于“是”的关系；而接口是定义行为规范，因此对于实现接口的子类来说，相对于接口来说，是“行为需要按照接口来完成”。这些听起来有些虚，举个例子。例如，狗是对于所有狗类动物的统称，京哈是狗，牧羊犬是狗，那么狗的一般特性，都会在京哈，牧羊犬中找到，那么狗相对于京哈和牧羊犬来说，就属于这类事物的抽象类型；而对于“叫”这个动作来说，狗可以叫，鸟也可以叫。很明显，前者相当于所说的是抽象类，而后者指的就是接口。<br/><br/>区别二，抽象类在定义类型方法的时候，可以给出方法的实现部分，也可以不给出；而对于接口来说，其中所定义的方法都不能给出实现部分。<br/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;//抽象类 <br/>&nbsp;&nbsp;&nbsp;&nbsp;public abstract class AbsTest <br/>&nbsp;&nbsp;&nbsp;&nbsp;{ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public virtual void Test() <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Debug.WriteLine( &#34;Test&#34; ); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public abstract void NewTest(); <br/>&nbsp;&nbsp;&nbsp;&nbsp;} <br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;//接口 <br/>&nbsp;&nbsp;&nbsp;&nbsp;public interface ITest <br/>&nbsp;&nbsp;&nbsp;&nbsp;{ <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void Test(); <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void NewTest(); <br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>区别三，继承类对于两者所涉及方法的实现是不同的。继承类对于抽象类所定义的抽象方法，可以不用重写，也就是说，可以延用抽象类的方法；而对于接口类所定义的方法或者属性来说，在继承类中必须要给出相应的方法和属性实现。<br/><br/>区别四，在抽象类中，新增一个方法的话，继承类中可以不用作任何处理；而对于接口来说，则需要修改继承类，提供新定义的方法。 <br/><br/><br/>--------------------------------------------------------------------------------<br/><br/>知道了两者的区别，再来说说，接口相对于抽象类的优势。 <br/> <br/><br/>好处一，接口不光可以作用于引用类型，也可以作用于值类型。而抽象类来说，只能作用于引用类型。<br/><br/>好处二，.Net的类型继承只能是单继承的，也就是说一个类型只能继承一个类型，而可以继承多个接口。其实，我对于这一点也比较赞同，多继承会使继承树变的混乱。<br/><br/>好处三，由于接口只是定义属性和方法，而与真正实现的类型没有太大的关系，因此接口可以被多个类型重用。相对于此，抽象类与继承类的关系更紧密些。<br/><br/>好处四，通过接口，可以减少类型暴露的属性和方法，从而便于保护类型对象。当一个实现接口的类型，可能包含其他方法或者属性，但是方法返回的时候，可以返回接口对象，这样调用端，只能通过接口提供的方法或者属性，访问对象的相关元素，这样可以有效保护对象的其他元素。<br/><br/>好处五，减少值类型的拆箱操作。对于Struct定义的值类型数据，当存放集合当中，每当取出来，都需要进行拆箱操作，这时采用Struct+Interface结合的方法，从而降低拆箱操作<br/><br/>参看如下文章提供的方法。<br/><br/>相对于抽象类来说，接口有这么多好处，但是接口有一个致命的弱点，就是接口所定义的方法和属性只能相对于继承它的类型（除非在继承类中修改借口定义的函数标示），那么对于多层继承关系的时候，光用接口就很难实现。因为如果让每个类型都去继承接口而进行实现的话，首先不说编写代码比较繁琐，有时候执行的结果还是错误，尤其当子类型对象隐式转换成基类对象进行访问的时候。<br/><br/><br/><br/><br/><br/>--------------------------------------------------------------------------------<br/><br/><br/><br/>其实在继承中，到底使用接口还是抽象类。接口是固定的，约定俗成的，因此在继承类中必须提供接口相应的方法和属性的实现。而对于抽象类来说，抽象类的定义方法的实现，贯穿整个继承树，因此其中方法的实现或者重写都是不确定的。因此相对而言，抽象类比接口更灵活一些。<br/><br/> <br/><br/> <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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 抽象类<br/> <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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;不支持<br/> <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;&nbsp;&nbsp;&nbsp;&nbsp; 有，只能是引用类型<br/> <br/>方法实现&nbsp;&nbsp; 继承类型中必须给出方法&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 实现继承类中可以不给出<br/> <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;&nbsp;&nbsp;&nbsp;&nbsp;相对比较灵活<br/> <br/>多层继承&nbsp;&nbsp;&nbsp;&nbsp;比较麻烦，需要借助虚函数&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 比较灵活<br/> <br/><br/> <br/><br/>总的来说，接口和抽象类是.Net为了更好的实现类型之间继承关系而提供的语言手段，而且两者有些相辅相成的关系。因此我并不强调用什么而不用什么，那么问题的关键在于，如何把这两种手段合理的应用到程序当中，这才是至关重要。<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/serversafe/144.htm</link>
			<title><![CDATA[提搞网站访问速度可做哪些优化]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[Server Safe]]></category>
			<pubDate>Thu,22 Jul 2010 09:25:52 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=144</guid>
		<description><![CDATA[一、&nbsp;&nbsp;服务器优化<br/><br/>l&nbsp;&nbsp;Windows系列：<br/><br/>64位Win2008r2 + Hpyer-V + 负载均衡 + IIS7.5 <br/>64位Win2003 + 虚拟机 + 负载均衡 + IIS6 <br/>禁止服务器访问外网。关掉不必要的端口。 <br/>去掉每个磁盘的所有权限，只保留administrators组和system完全控制权限。 <br/>IIS7.5标识使用ApplicationPoolIdentity，给目录权限用户是：IIS AppPool\站点名 <br/>IIS6需要为每个站点建独立的用户，为IIS用户单独设置权限。 <br/>IIS禁止日志记录。 <br/>&nbsp;&nbsp;<br/>二、&nbsp;&nbsp;数据库优化<br/><br/>l&nbsp;&nbsp;64位MSSQL2008：<br/><br/>少用触发器/游标/外键。多用存贮过程和视图。适量使用索引查询速度会提高很多，每个表的索引尽量不要超过3个。 <br/>定时查看死锁的进程和等待进程，并清除，还要及时修正死锁的来源。 <br/>复杂的统计报表需要用计划去跑。 <br/>查询记录数要使用count(0) 不要使用count(*)。 <br/>sel&#101;ct的时候表字段不要使用*。*查询所有字段是很慢的。 <br/>如果字段是索引列可使用UNION ALL 替代 o&#114;，走索引线路查询。 <br/>大记录集要使用分页查询。 <br/>尽量不要使用TEXT/NTEXT类型，要使用VARCHAR(MAX)/NVARCHAR(MAX)。 <br/>尽量不要使用临时表，要使用Table表类型或内嵌视图。 <br/>&nbsp;&nbsp;<br/>三、&nbsp;&nbsp;后端优化<br/><br/>l&nbsp;&nbsp;多使用DbDataReader，尽量不要使用DataTable/DataSet读取数据。<br/><br/>l&nbsp;&nbsp;for (int i = 0; i &lt; dt.Rows.Count; i++) 应该这么写：<br/><br/>for (int i = 0, len = dt.Rows.Count; i &lt; len; i++)或<br/><br/>foreach (DataRow info in dt.Rows)推荐这种写法<br/><br/>l&nbsp;&nbsp;少用try catch，用到try catch时要和 finally一起使用。<br/><br/>l&nbsp;&nbsp;多使用using如：<br/><br/>using (DbDataReader dr = Data.GetDbDataReader(strSql)) { while (dr.Read()) { }; }<br/><br/>l&nbsp;&nbsp;大字符串操作请使用StringBuilder 少使用string，字符串比较用Compare，字符串相加用Concat，大字符串相加用StringBuilder Append。<br/><br/>l&nbsp;&nbsp;变量要在先定义在使用，不要在循环内定义变量。如：<br/><br/>错误的写法是：for (int i = 1; i &lt; 10; i++) { string s = i.ToString(); }<br/><br/>正确写法：string s = string.Empty; for (int i = 1; i &lt; 10; i++) { s = i.ToString(); }<br/><br/>这里还有一个地方要注意的：在字符串相加的时候，如果有int类型的要先转成string类型在相加，减少不必要的装箱拆箱操作。<br/><br/>l&nbsp;&nbsp;如果你使用的是HTML控件，需要禁用&lt;%@ Page EnableViewState=&#34;false&#34; AutoEventWireup=&#34;false&#34; EnableSessionState=&#34;false&#34;，web.config &lt;pages enableViewState=&#34;false&#34; enableSessionState=&#34;false&#34; /&gt;<br/><br/>l&nbsp;&nbsp;使用foreach替代for<br/><br/>l&nbsp;&nbsp;操作数据库要使用存贮过程/视图。<br/><br/>l&nbsp;&nbsp;多使用CACHE对数据缓存。这才是最关键的。NET提供：HttpContext.Current.Cache/HttpRuntime.Cache，共享缓存有velocity/ memcached<br/><br/>l&nbsp;&nbsp;可使用&lt;%@ OutputCache Duration=&#34;60&#34; 缓存页面，可使用Response.BufferOutput = true;/ &lt;%@ Page Buffer=&#34;true&#34; 输出缓冲。<br/><br/>l&nbsp;&nbsp;可将站点生成静态面页，好处多多。<br/><br/>l&nbsp;&nbsp;可使用URL重写成伪静态，提供rss/baidu-sitemap/google-sitemap服务，有利于搜索引擎收录。<br/><br/>l&nbsp;&nbsp;Ajax调用页面要使用.ashx一般处理程序，速度要比.aspx文件要快。Ajax请求要使用POST不要使用GET。<br/><br/>l&nbsp;&nbsp;发布站点时DLL要Release版本，不要用Debug版本。<br/><br/>l&nbsp;&nbsp;IIS需要使用集成模式，不要使用经典模式。<br/><br/>l&nbsp;&nbsp;Web.config 加 &lt;customErrors mode=&#34;On&#34; /&gt; 关闭错误提示。<br/><br/>l&nbsp;&nbsp;Web.config 加 &lt;compilation debug=&#34;false&#34; /&gt; 关闭调试模式。<br/><br/>l&nbsp;&nbsp;使用Server.Transfer替换Response.Redirect<br/><br/>l&nbsp;&nbsp;多使用泛型集合操作，少用ArrayList。<br/><br/>四、&nbsp;&nbsp;前端优化<br/><br/>l&nbsp;&nbsp;最好不使用NET控件，用HTML控件，页面使用CSS+DIV布局。<br/><br/>l&nbsp;&nbsp;使用JSON + AJAX进行数据交互。<br/><br/>l&nbsp;&nbsp;要学会使用jQuery提高开发速度。<br/><br/>l&nbsp;&nbsp;尽量少用&lt;img标记，改用background样式控制背景图片。这样做的好处是方便扩展多皮肤。<br/><br/>l&nbsp;&nbsp;将CSS background背景图片多张合并成一张图片，保证合并后的图片大小不要超过50K。可将JS文件合并在一个JS文件中，然后使用closure_packer_yui_compiler进行压缩，这样做的好处是可减少客户端连接数。<br/><br/>l&nbsp;&nbsp;JS代码段不要放在HTML页面，应该放在独立的JS文件里面，好处是JS文件可以CDN/缓存。<br/><br/>l&nbsp;&nbsp;可将CSS文件放到&lt;head&gt;&lt;/head&gt;之间，JS文件或代码放到&lt;/body&gt;之前，让页面先显示在执行JS。<br/><br/>l&nbsp;&nbsp;可将网站的图片/CSS/JS/资料/资源放到独立的站点，做下CDN加速,二级域名会有COOKIES，最好使用一级域名。<br/><br/>l&nbsp;&nbsp;A标记和IMG标记需要加上title/alt，&lt;head&gt;标签内需要加title/keywords/description/rss/sitemap优化，有利于搜索引擎收录。<br/><br/>l&nbsp;&nbsp;页面可启用gzip压缩。<br/><br/>l&nbsp;&nbsp;安装FF的插件“YSlow/Page Speed”。<br/><br/>五、&nbsp;&nbsp;其它优化]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/mydocuments/143.htm</link>
			<title><![CDATA[酷睿i系列和P系列和Ｔ系列有什么区别]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[My Documents]]></category>
			<pubDate>Tue,06 Jul 2010 22:43:08 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=143</guid>
		<description><![CDATA[T和P都是酷睿1和酷睿2系列。<br/>其中T系列属于普通版（也可以称作是性能型）可以纵跨三个时代，即酷睿1代，酷睿2代 Merom架构，酷睿2代45纳米Penryn架构。酷睿1代比较著名的有T2400，T2500，T2050，等等。核心架构是Yonah，改进自奔腾M的dothan，但是并非简单将两个dothan拼凑到一起，功耗降低的同时，效率加强了，主频也可以轻易提高更多。但是只有笔记本型，没有台式机型，只能支持32位，不支持64位运算和寻址功能。尽管不支持64位指令集，但是强悍的工艺，让酷睿1代的性能超过了同时期的AMD。]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/mydocuments/142.htm</link>
			<title><![CDATA[配色方案]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[My Documents]]></category>
			<pubDate>Fri,02 Jul 2010 10:49:42 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=142</guid>
		<description><![CDATA[<a href="http://hi.baidu.com/fishfingers/blog/item/af04de4ea028b03baec3ab2c.html" target="_blank" rel="external">http://hi.baidu.com/fishfingers/blog/item/af04de4ea028b03baec3ab2c.html</a>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/css/141.htm</link>
			<title><![CDATA[学习CSS了解单位em和px的区别]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[Css]]></category>
			<pubDate>Tue,23 Mar 2010 11:59:24 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=141</guid>
		<description><![CDATA[在国内网站中，包括三大门户，以及“引领”中国网站设计潮流的蓝色理想，ChinaUI等都是使用了px作为字体单位。只有百度好歹做了个可调的表率。而在大洋彼岸，几乎所有的主流站点都使用em作为字体单位，也就是可调的。没错，px比em更加容易使用，大部分读者不知道em为何物或者它相当于多少px。国外人士如此重视网站易用性(Accessibility)，不仅因为其根生蒂固的人文精神，直接原因可能是因为有一部法律来约束他们—例如美国的Section 508，强制网站达到一定的易用性。<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;关键点：<br/><br/>　　1. IE无法调整那些使用px作为单位的字体大小;<br/><br/>　　2. 国外的大部分网站能够调整的原因在于其使用了em作为字体单位;<br/><br/>　　3. Firefox能够调整px和em，但是96%以上的中国网民使用IE浏览器(或内核)。<br/><br/>　　px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。<br/><br/>　　em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置，则相对于浏览器的默认字体尺寸。<br/><br/>　　任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算，需要在css中的body选择器中声明Font-size=62.5%，这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10，然后换上em作为单位就行了。<br/><br/>　　em有如下特点：<br/><br/>　　1. em的值并不是固定的;<br/><br/>　　2. em会继承父级元素的字体大小。<br/><br/>　　所以我们在写CSS的时候，需要注意两点：<br/><br/>　　1. body选择器中声明Font-size=62.5%;<br/><br/>　　2. 将你的原来的px数值除以10，然后换上em作为单位;<br/><br/>　　3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。<br/><br/>　　也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em，那么在声明p的字体大小时就只能是1em，而不是1.2em, 因为此em非彼em，它因继承#content的字体高而变为了1em=12px。<br/><br/>　　但是12px汉字例外，就是由以上方法得到的12px(1.2em)大小的汉字在IE中并不等于直接用12px定义的字体大小，而是稍大一点。这个问题 Jorux已经解决，只需在body选择器中把62.5%换成63%就能正常显示了。原因可能是IE处理汉字时，对于浮点的取值精确度有限。不知道有没有其他的解释。<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/css/140.htm</link>
			<title><![CDATA[CSS对IE6、IE7、IE8支持详细的易用的参考]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[Css]]></category>
			<pubDate>Tue,16 Mar 2010 10:44:18 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=140</guid>
		<description><![CDATA[<div id="entrybody">
<p>中文原文：<a target="_blank" href="http://www.qianduan.net/css-differences-in-internet-explorer-6-7-and-8.html"><font color="#2c6288">CSS在Internet Explorer 6, 7 和8中的差别</font></a><br />
译自：<a target="_blank" href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/"><font color="#2c6288">CSS Differences in Internet Explorer 6, 7 and 8</font></a></p>
<p>关于浏览器的最离奇的统计结果之一就是<strong>Internet Explorer</strong> 版本6，7和8共存。截至本文，<a target="_blank" href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0"><font color="#2c6288">Internet Explorer各个版本总共占据了大约65%的市场份额</font></a>。在网站开发社区，这个数字要小很多，统计显示<a target="_blank" href="http://www.w3schools.com/browsers/browsers_stats.asp"><font color="#2c6288">大概只有40%</font></a>。</p>
<p><img class="alignnone size-full wp-image-11426" title="ie" height="441" alt="ie" width="500" src="http://www.webjx.com/files/allimg/091019/2103370.jpg" /></p>
<p>这些统计中比较有趣的部分是，IE6、IE7、IE8之间的数值很接近，这防止了单个Microsoft的浏览器占居统治地位&mdash;&mdash;与过去的情况相反。根据这些令人遗憾的统计结果，在为客户开发网站的时候<strong>开发人员对所有当前使用的IE浏览器做全面的测试是必要的</strong>，而且这样在个人项目上也可以拉拢更多的用户。</p>
<p>多谢那些JavaScript库(框架)，跨浏览器的Javascript的测试已经像当前形势所允许的那样接近完美了。但在CSS开发中还不是这样，特别是关系到IE目前存在的三个版本。</p>
<p>本文尝试为希望了解CSS对IE6、IE7、IE8的支持的不同的开发者提供一份<strong>详细的、易用的参考</strong>。本参考包含以下情况的概述和兼容情况：</p>
<ul>
    <li>三个浏览器中的<strong>一个</strong>支持而另外<strong>两个</strong>不支持的条目</li>
    <li>三个浏览器中的<strong>两个</strong>支持而另外<strong>一个</strong>不支持的条目</li>
</ul>
<p>本文不讨论：</p>
<ul>
    <li>三个浏览器都不支持的条目</li>
    <li>私有属性</li>
</ul>
<p>因此，本文的中心是三个浏览器中的<em>不同</em>，而不是必要的支持缺陷。该列表被分为以下五个部分：</p>
<ul>
    <li><a href="http://www.aspdiy.net/140.htm#selectors"><font color="#2c6288">选择器与继承</font></a></li>
    <li><a href="http://www.aspdiy.net/140.htm#pseudo_classes"><font color="#2c6288">伪类与伪元素</font></a></li>
    <li><a href="http://www.aspdiy.net/140.htm#property"><font color="#2c6288">属性支持</font></a></li>
    <li><a href="http://www.aspdiy.net/140.htm#other"><font color="#2c6288">其它各种技术</font></a></li>
    <li><a href="http://www.aspdiy.net/140.htm#bugs"><font color="#2c6288">重要bug和不兼容问题</font></a></li>
</ul>
<h3 id="selectors">选择器与继承</h3>
<h4>子选择器</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
body <span style="color: #00aa00">&gt;</span> p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#fff</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>子选择器选择一个特定父级元素的所有直接子级元素，在上面的例子中，body是父元素，p是子元素。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>IE7中，如果在父级标签和子级标签之间有一个HTML注释，子选择器将不会工作。</p>
<h4>链类</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #6666ff">.class1</span><span style="color: #6666ff">.class2</span><span style="color: #6666ff">.class3</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">background</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#fff</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>链类用于送一个HTML元素有多个class声明的情况，就像这样：</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="font-weight: bold; color: #000000">div</span> <span style="color: #000066">class</span><span style="color: #66cc66">=</span><span style="color: #ff0000">&quot;class1 class2 class3&quot;</span>&gt;</span>
<span style="color: #009900">&lt;<span style="font-weight: bold; color: #000000">p</span>&gt;</span>Content here.<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="font-weight: bold; color: #000000">p</span>&gt;</span>
<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="font-weight: bold; color: #000000">div</span>&gt;</span></pre>
</div>
</div>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6好像支持这种情况，因为它能匹配链中的最后一个class到使用该class的元素上，然而，它并不能限制一个使用链中所有class的元素。</p>
<h4>属性选择器</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
a<span style="color: #00aa00">[</span>href<span style="color: #00aa00">]</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#0f0</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该选择器允许一个元素被定位只要它有指定的属性。在上面的例子中，所有的带有href属性的a标签都会被限定，而没有href属性的a标签不会被限定。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>临近兄弟选择器</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
h1<span style="color: #00aa00">+</span>p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#f00</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该选择器定位临近到指定元素的兄弟标签。上面的例子将会限定p标签，但是他必须是h1标签的兄弟而且要直接尾随在h1标签的后面。比如：</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="font-weight: bold; color: #000000">h1</span>&gt;</span>heading<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="font-weight: bold; color: #000000">h1</span>&gt;</span>
<span style="color: #009900">&lt;<span style="font-weight: bold; color: #000000">p</span>&gt;</span>Content here.<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="font-weight: bold; color: #000000">p</span>&gt;</span>
<span style="color: #009900">&lt;<span style="font-weight: bold; color: #000000">p</span>&gt;</span>Content here.<span style="color: #009900">&lt;<span style="color: #66cc66">/</span><span style="font-weight: bold; color: #000000">p</span>&gt;</span></pre>
</div>
</div>
<p>在上面的代码中，CSS样式将只对第一个p有效。因为它是h1的兄弟而且紧跟着h1。第二个p也是h1的一个兄弟，但是它没有紧跟着h1。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>在IE7中，如果在兄弟之间有一个HTML注释，临近兄弟选择器将无效。</p>
<h4>普通兄弟选择器</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
h1~p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#f00</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该选择器定位一个指定元素后面的所有兄弟元素。将此选择器应用到上面的那个例子，将会对两个p标签都有效。当然，如果有一个p元素出现在h1之前，那个p元素不会被匹配。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h3 id="pseudo_classes">伪类和伪元素</h3>
<h4>:hover后面的后代选择器</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
a<span style="color: #3333ff">:hover </span>span <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#0f0</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>一个元素可以被:hover伪类后面的选择器定位，就像后代选择器一样。上面的例子，在鼠标悬停的时候，将会改变a元素内的span元素中的文字的颜色。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>链伪类</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
a<span style="color: #3333ff">:first-child</span><span style="color: #3333ff">:hover </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#0f0</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>伪类可以链起来以缩小元素选择。上面的例子会定位每一个父级元素下的第一个a标签，并将hover伪类P应用到它上。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>非锚点元素中的:hover</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
div<span style="color: #3333ff">:hover </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">color</span><span style="color: #00aa00">:</span> <span style="color: #cc00cc">#f00</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">:hover</font></code>伪类可以应用到任何元素的悬停状态，而不只是a标签。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>:first-child伪类</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
div li<span style="color: #3333ff">:first-child </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">background</span><span style="color: #00aa00">:</span> <span style="font-weight: bold; color: #000000">blue</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>改伪类定位每一个指定的元素的父级元素的第一个子元素。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>IE7中，如果要定位的第一个子元素之前有HTML注释，first-child伪类将会无效。</p>
<h4>:focus伪类</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
a<span style="color: #3333ff">:focus </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">border</span><span style="color: #00aa00">:</span> <span style="color: #933">1px</span> <span style="color: #993333">solid</span> <span style="color: #993333">red</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该伪类定位有键盘焦点的所有元素。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>:before 和:after 伪类</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span><span style="color: #3333ff">:before </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">content</span><span style="color: #00aa00">:</span> <span style="color: #ff0000">&quot;本段文字在盒子前面&quot;</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
&nbsp;
<span style="color: #cc00cc">#box</span><span style="color: #3333ff">:after </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">content</span><span style="color: #00aa00">:</span> <span style="color: #ff0000">&quot;本段文字在盒子后面&quot;</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>这两个伪元素分别在指定元素的前面和后面添加生成的内容，结合content属性一起使用。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h3 id="property">属性支持</h3>
<h4>由position产生的实际大小</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">position</span><span style="color: #00aa00">:</span> <span style="color: #993333">absolute</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">top</span><span style="color: #00aa00">:</span> <span style="color: #cc66cc">0</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">right</span><span style="color: #00aa00">:</span> <span style="color: #933">100px</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">left</span><span style="color: #00aa00">:</span> <span style="color: #cc66cc">0</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">bottom</span><span style="color: #00aa00">:</span> <span style="color: #933">200px</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">background</span><span style="color: #00aa00">:</span> <span style="font-weight: bold; color: #000000">blue</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>定义<code><font face="NSimsun">top</font></code>, <code><font face="NSimsun">right</font></code>, <code><font face="NSimsun">bottom</font></code>, 和<code><font face="NSimsun">left</font></code> 值到绝对定位的元素上将给这个元素实际的大小(宽度和高度)，虽然并没有设定使宽度和高度值。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>Min-Height 与 Min-Width</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">min-height</span><span style="color: #00aa00">:</span> <span style="color: #933">500px</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">min-width</span><span style="color: #00aa00">:</span> <span style="color: #933">300px</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>这两个属性分别指定元素的宽和高的最小值，允许一个盒子可以比指定的最小值更大，但是不能更小。它们两个可以一起使用，也可以分开来用。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>Max-Height 和Max-Width</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">max-height</span><span style="color: #00aa00">:</span> <span style="color: #933">500px</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">max-width</span><span style="color: #00aa00">:</span> <span style="color: #933">300px</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>这两个属性分别指定元素的高和宽的最大值，允许一个盒子比这个指定的最大值小，但是不能更大。它们也可以同时使用或者单独使用。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>透明边框颜色</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">border</span><span style="color: #00aa00">:</span> <span style="color: #993333">solid</span> <span style="color: #933">1px</span> <span style="color: #993333">transparent</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>一个透明的边框色允许一个边框和边框色可见(或者不透明)时占用一样的空间。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>固定位置元素</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">position</span><span style="color: #00aa00">:</span> <span style="color: #993333">fixed</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">position</font></code>属性的这个值允许一个元素绝对的相对于窗口定位。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>固定位置的背景图</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">background-image</span><span style="color: #00aa00">:</span> <span style="color: #993333">url</span><span style="color: #00aa00">(</span><span style="color: #ff0000; font-style: italic">images/bg.jpg</span><span style="color: #00aa00">)</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">background-position</span><span style="color: #00aa00">:</span> <span style="color: #cc66cc">0</span> <span style="color: #cc66cc">0</span><span style="color: #00aa00">;</span>
	<span style="font-weight: bold; color: #000000">background-attachment</span><span style="color: #00aa00">:</span> <span style="color: #993333">fixed</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">background-attachment</font></code>属性的值为fixed允许一个背景图片绝对地相对于窗口定位。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
Yes</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>就像position:fixed一样，IE6同样不支持background-positon的fixed值 。然而，在IE6中只有在这个值用于根元素的时候才有效。</p>
<h4>属性值&ldquo;inherit&rdquo;</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">display</span><span style="color: #00aa00">:</span> <span style="color: #993333">inherit</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>将值<code><font face="NSimsun">inherit</font></code> 应用到一个属性那个允许一个元素从它的包含元素继承计算的值。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 和IE7 不支持<code><font face="NSimsun">inherit</font></code> 值除了<code><font face="NSimsun">direction</font></code> 和<code><font face="NSimsun">visibility</font></code> 属性。</p>
<h4>表格单元的边框空白</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
table td <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">border-spacing</span><span style="color: #00aa00">:</span> <span style="color: #933">3px</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该属性设置相邻的表格单元的边框之间的空白。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>在表格中渲染空单元格</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
table <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">empty-cells</span><span style="color: #00aa00">:</span> <span style="color: #993333">show</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该属性，只应用于元素的display属性被设置为 table-cell的元素，允许空单元格渲染他们的边框和背景。否则，它们将不可见。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>表格标题的水平位置</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
table <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">caption-side</span><span style="color: #00aa00">:</span> <span style="font-weight: bold; color: #000000">bottom</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>这个属性允许将一个表格的标题放到表格的底部&mdash;&mdash;默认是头部。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>修剪区域</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">clip</span><span style="color: #00aa00">:</span>rect<span style="color: #00aa00">(</span><span style="color: #933">20px</span><span style="color: #00aa00">,</span> <span style="color: #933">300px</span><span style="color: #00aa00">,</span> <span style="color: #933">200px</span><span style="color: #00aa00">,</span> <span style="color: #933">100px</span><span style="color: #00aa00">)</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该属性指定一个盒子的一个区域可见，剩下的部分修剪掉，或者不可见。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>有趣的是，该如果不使用隔开各个值的逗号，IE6和IE7也可以用这个属性。(比如，使用空格隔开剪切的值。)</p>
<h4>打印页面中的orphanes和widows</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">orphans</span><span style="color: #00aa00">:</span> <span style="color: #cc66cc">4</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
&nbsp;
p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">widows</span><span style="color: #00aa00">:</span> <span style="color: #cc66cc">4</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">orphans</font></code>属性设定在打印页面底部显示的最少行数。而<code><font face="NSimsun">widows</font></code> 属性用来设定打印页面头部至少显示的段落的行数。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>盒子内的页面分割</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">page-break-inside</span><span style="color: #00aa00">:</span> <span style="color: #993333">avoid</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该属性设定分页是否发生在一个指定元素内。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>Outline 属性</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">outline</span><span style="color: #00aa00">:</span> <span style="color: #993333">solid</span> <span style="color: #933">1px</span> <span style="color: #993333">red</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">outline</font></code> 是<code><font face="NSimsun">outline-style</font></code>, <code><font face="NSimsun">outline-width</font></code>, 和<code><font face="NSimsun">outline-color</font></code>的缩写。该属性要优于border属性，因为它不会影响文档流，因而u更有助于调试布局问题。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>display属性的替代值</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #cc00cc">#box</span> <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">display</span><span style="color: #00aa00">:</span> inline-<span style="color: #993333">block</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">display</font></code> 属性通常设置为<code><font face="NSimsun">block</font></code>, <code><font face="NSimsun">inline</font></code>, 或<code><font face="NSimsun">none</font></code>。替代值包括：</p>
<ul>
    <li><code><font face="NSimsun">inline-block</font></code></li>
    <li><code><font face="NSimsun">inline-table</font></code></li>
    <li><code><font face="NSimsun">list-item</font></code></li>
    <li><code><font face="NSimsun">run-in</font></code></li>
    <li><code><font face="NSimsun">table</font></code></li>
    <li><code><font face="NSimsun">table-caption</font></code></li>
    <li><code><font face="NSimsun">table-cell</font></code></li>
    <li><code><font face="NSimsun">table-column</font></code></li>
    <li><code><font face="NSimsun">table-column-group</font></code></li>
    <li><code><font face="NSimsun">table-footer-group</font></code></li>
    <li><code><font face="NSimsun">table-header-group</font></code></li>
    <li><code><font face="NSimsun">table-row</font></code></li>
    <li><code><font face="NSimsun">table-row-group</font></code></li>
</ul>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>处理可折叠空白</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
p <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">white-space</span><span style="color: #00aa00">:</span> pre-line<span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
&nbsp;
div <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">white-space</span><span style="color: #00aa00">:</span> pre-wrap<span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p><code><font face="NSimsun">white-space</font></code>属性的pre-line值设定将多个空白元素折叠为一个空白，同时允许明确的设置断行。<code><font face="NSimsun">white-space</font></code> 属性的<code><font face="NSimsun">pre-wrap</font></code> 值不会将多个空白折叠为一个，不过也允许明确的设置断行。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h3 id="other">其它各种技术</h3>
<h4>@import的媒体类型</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace"><span style="color: #a1a100">@import url(&quot;styles.css&quot;) screen;</span></pre>
</div>
</div>
<h5>描述</h5>
<p>就像上面的例子那样，引入的样式表文件的媒体类型声明在文件地址的后面。在该例子中，媒体类型是&rdquo;screen&rdquo;。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h5>Bugs</h5>
<p>尽管IE6 和IE7 支持 <code><font face="NSimsun">@import</font></code>，它们在媒体类型被指定的时候会无效，甚至会引起正@import规则无效。</p>
<h4>计数递增</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
h2 <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">counter-increment</span><span style="color: #00aa00">:</span> headers<span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
h2<span style="color: #3333ff">:before </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">content</span><span style="color: #00aa00">:</span> counter<span style="color: #00aa00">(</span>headers<span style="color: #00aa00">)</span> <span style="color: #ff0000">&quot;. &quot;</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>该CSS 技术允许你自动增加出现在指定元素前面的编号，结合before伪元素一起使用。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h4>生成内容的引用字符</h4>
<h5>示例</h5>
<div class="wp_syntax" style="padding-bottom: 0px">
<div class="code">
<pre class="css" style="font-family: monospace">
q <span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">quotes</span><span style="color: #00aa00">:</span> <span style="color: #ff0000">&quot;'&quot;</span> <span style="color: #ff0000">&quot;'&quot;</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
&nbsp;
q<span style="color: #3333ff">:before </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">content</span><span style="color: #00aa00">:</span> <span style="color: #993333">open-quote</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span>
&nbsp;
q<span style="color: #3333ff">:after </span><span style="color: #00aa00">{</span>
	<span style="font-weight: bold; color: #000000">content</span><span style="color: #00aa00">:</span> <span style="color: #993333">close-quote</span><span style="color: #00aa00">;</span>
<span style="color: #00aa00">}</span></pre>
</div>
</div>
<h5>描述</h5>
<p>指定用于生成内容的引用呼号，用于q标签。</p>
<h5>支持情况</h5>
<div style="overflow: hidden">
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE6</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE7</strong><br />
No</div>
<div style="border-right: #ddd 1px solid; padding-right: 15px; border-top: #ddd 1px solid; padding-left: 15px; float: left; padding-bottom: 15px; margin: 0pt 0pt 0pt -1px; border-left: #ddd 1px solid; width: 50px; padding-top: 15px; border-bottom: #ddd 1px solid; text-align: center"><strong>IE8</strong><br />
Yes</div>
</div>
<h3 id="bugs">重要bug和不兼容性问题</h3>
<p>下面是在上文中没有提到的IE6和IE7的众多bug。当然这个列表不包括在这三个浏览器中都不支持的条目。</p>
<h4>IE6 Bugs</h4>
<ul>
    <li>不支持用样式设置<code><font face="NSimsun">&lt;abbr&gt;</font></code> 元素</li>
    <li>不支持以连字符和下划线开头的class和ID名</li>
    <li><code><font face="NSimsun">&lt;select&gt;</font></code> 元素总是出现在堆叠最上面，而无视z-index值</li>
    <li><code><font face="NSimsun">如果锚点的伪类没有使用正确的顺序</font></code>(<code><font face="NSimsun">:link</font></code>, <code><font face="NSimsun">:visited</font></code>, <code><font face="NSimsun">:hover</font></code>)<code><font face="NSimsun">，:hover</font></code> 伪类将无效</li>
    <li>一个属性的<code><font face="NSimsun">!important</font></code> 声明会被同一规则中同一属性的没有使用!important的第二个声明覆盖。</li>
    <li><code><font face="NSimsun">height</font></code> 表现类似于<code><font face="NSimsun">min-height</font></code></li>
    <li><code><font face="NSimsun">width</font></code> 表现类似于<code><font face="NSimsun">min-width</font></code></li>
    <li>左右margin双倍</li>
    <li>圆点边框(dotted)看起来像虚线边框(dashed)</li>
    <li><code><font face="NSimsun">text-decoration</font></code>的 <code><font face="NSimsun">line-through</font></code> 值在文字上看起来比别的浏览器要高一些</li>
    <li>有序列表如果有一个固定结构(haslayout为true，不能设置li的高度/宽度/zoom等激活haslayout的值)，序号就不会增加，而是保持为1</li>
    <li>列表元素不支持<code><font face="NSimsun">list-style-type</font></code>的所有可用的值</li>
    <li>如果列表条目浮动，指定的<code><font face="NSimsun">list-style-image</font></code> 将不会显示</li>
    <li>不完全支持 <code><font face="NSimsun">@font-face</font></code></li>
    <li>某些选择器会错误的匹配注释和文档声明</li>
    <li>如果一个ID 选择器结合一个类选择器不匹配，同样的ID选择器结合不同的类选择器也将被当作不匹配。</li>
</ul>
<h4>IE7 Bugs</h4>
<ul>
    <li>有序列表如果有一个固定结构(haslayout为true，不能设置li的高度/宽度/zoom等激活haslayout的值)，序号就不会增加，而是保持为1</li>
    <li>列表元素不支持<code><font face="NSimsun">list-style-type</font></code>的所有可用的值</li>
    <li>如果列表条目浮动，指定的<code><font face="NSimsun">list-style-image</font></code> 将不会显示</li>
    <li>不完全支持 <code><font face="NSimsun">@font-face</font></code></li>
    <li>某些选择器会错误的匹配注释和文档声明</li>
</ul>
<p>一些在这里没有提到的IE bug只会在特定环境发生，而且没有指定到特定的CSS属性或值。查看下面的参考以了解更多问题：</p>
<h3>更多资源</h3>
<ul>
    <li><a target="_blank" href="http://www.howtocreate.co.uk/ie8.html"><font color="#2c6288">Details of Changes in Internet Explorer 8</font></a></li>
    <li><a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx"><font color="#2c6288">CSS Compatibility for Internet Explorer (MSDN)</font></a></li>
    <li><a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc304082%28VS.85%29.aspx"><font color="#2c6288">CSS Improvements in Internet Explorer 8 (MSDN)</font></a></li>
    <li><a target="_blank" href="http://www.positioniseverything.net/explorer.html"><font color="#2c6288">Internet Explorer Exposed &ndash; CSS Bugs @ Position Is Everything</font></a></li>
    <li><a target="_blank" href="http://reference.sitepoint.com/css"><font color="#2c6288">SitePoint CSS Reference</font></a></li>
    <li><a target="_blank" href="http://www.quirksmode.org/css/contents.html"><font color="#2c6288">CSS Contents and Browser Compatibility</font></a></li>
</ul>
<h4>关于作者</h4>
<p><em>Louis Lazaris 是一个居住在加拿大多伦多的自由职业者，网页开发者，在网站开发领域有9年的经验，在其博客<a target="_blank" href="http://www.impressivewebs.com/"><font color="#2c6288">Impressive Webs</font></a>发布网页设计文章和教程。你可以<a target="_blank" href="http://twitter.com/ImpressiveWebs"><font color="#2c6288">follow Louis on Twitter</font></a> 或者在<a target="_blank" href="http://www.impressivewebs.com/contact"><font color="#2c6288">这里</font></a>联系到他</em>。</p>
</div>]]></description>
		</item>
		
			<item>
			<link>http://www.aspdiy.net/article/css/139.htm</link>
			<title><![CDATA[用clearfix:after  消除 css浮动]]></title>
			<author>983493#qq.com(98tj)</author>
			<category><![CDATA[Css]]></category>
			<pubDate>Tue,16 Mar 2010 10:20:17 +0800</pubDate>
			<guid>http://www.aspdiy.net/default.asp?id=139</guid>
		<description><![CDATA[在写HTML代码的时候，创造在Firefox等符合W3C标准 的涉猎器中，如果有一个DIV作为外部容器，内部的DIV如果设置了float样式，则外部的容器DIV因为内部没有clear，导致不能被撑开。看下面的例子：<br/>&lt;div style=&#34;border:2px solid red;&#34;&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;CSSBBS&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;/div&gt;<br/>运行这段代码，大家可以看到，作为外部容器的边框为红色的DIV，没有被撑开。这是因为内部的DIV因为float:left之后，就丧失了clear:both和display:block的样式，所以外部的DIV不会被撑开。<br/>我们想让外部容器的DIV随着内部DIV增多而增加高度，要怎么解决呢？<br/><br/>以前我都是用这样的法子 来解决：<br/>&lt;div style=&#34;border:2px solid red;&#34;&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;float:left;width:80px;height:80px;border:1px solid blue;&#34;&gt;TEST DIV&lt;/div&gt;<br/>&lt;div style=&#34;clear:both;&#34;&gt;&lt;/div&gt;<br/>&lt;/div&gt;<br/>我们看到，在容器DIV内要显示出来的float:left的所有的DIV之后，我们添加了这样的一个DIV：&lt;div style=&#34;clear:both&#34;&gt;&lt;/div&gt; 。这样，其实就在最后增加了clear的动作。<br/><br/>但是，我总感觉，这么多加一个DIV有点不妥。一是多了一个没有意义的DIV，二是在用dojo做Drag &amp; Dro&#112;的时候，由于这个DIV是容器DIV的一个字节点，如果这个节点被移动，则会造成排版上的Bug：如果要显示的蓝框的DIV被移到这个DIV之后，则因为clear:both，它会被强制 换一行显示。所以，我一直在寻找更好的解决措施。<br/><br/>解决的措施：<br/>首先设置这样的CSS：<br/>CSS代码：<br/><br/><br/>代码:<br/>.clearfix:after {<br/>content: &#34;.&#34;;<br/>display: block;<br/>height: 0;<br/>clear: both;<br/>visibility: hidden;<br/>}<br/>然后，我们再修正原本的HTML代码，让外部的容器DIV来应用这个CSS：<br/>HTML4STRICT代码：<br/><br/><br/>&lt;style&gt;<br/>.clearfix:after {<br/>content: &#34;.&#34;;<br/>display: block;<br/>height: 0;<br/>clear: both;<br/>visibility: hidden;<br/>}<br/><br/>* html .clearfix {height: 1%;}<br/><br/>在Firefox里测试一下，哈哈，这样做的确很有效，显示正常，而且dojo的 Drag &amp; Dro&#112; 也不会有问题了。原本，这个clearfix的CSS应用了after这个伪对象，它将在利用 clearfix的元素的结尾添加content中的内容。在这里添加了一个句号&#34;.&#34;，并且把它的display设置成block；高度设为0；clear设为both；visibility设为潜藏 。这样就达到 了撑开容器的目标啦。<br/><br/>但是，在文章中说，Windows IE并不支撑这样做。所以要让IE也完善显示，则必须 在clearfix这个CSS定义的后面加上一些专门为IE设定的HACK。CSS如下：<br/>CSS代码：<br/><br/>代码:<br/>.clearfix:after {<br/>content: &#34;.&#34;;<br/>display: block;<br/>height: 0;<br/>clear: both;<br/>visibility: hidden;<br/>}<br/><br/>* html .clearfix {height: 1%;}<br/><br/>因为转义字符&#34;\&#34;，Mac IE涉猎器会漠视 掉这段Hack，但Windows IE不会，它会利用 * html .clearfix {height: 1%;} 来达到 撑开DIV容器的目标（貌似Mac IE没有措施解决这个问题，不过幸好用户数量是在是太少了，Safari支撑就可以了:p）。 <br/>]]></description>
		</item>
		
</channel>
</rss>
