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

<channel>
	<title>零号相册 &#187; css</title>
	<atom:link href="http://photozero.net/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://photozero.net</link>
	<description>没事瞎写</description>
	<lastBuildDate>Thu, 04 Feb 2010 12:55:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery教程 第一篇</title>
		<link>http://photozero.net/jquery-tutorial-1/</link>
		<comments>http://photozero.net/jquery-tutorial-1/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 01:03:29 +0000</pubDate>
		<dc:creator>neekey</dc:creator>
				<category><![CDATA[Free Talk]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://photozero.net/?p=319</guid>
		<description><![CDATA[jQuery是一个十分优秀的JavaScript库，使用jQuery，可以让网页客户端的JS编写更为简单，效果也更加出众。
jQuery主要提供了AJAX，CSS操作，控制DOM等功能。无论你是要使用AJAX连接服务器与客户端，... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://jquery.com">jQuery</a>是一个十分优秀的JavaScript库，使用jQuery，可以让网页客户端的JS编写更为简单，效果也更加出众。</p>
<p>jQuery主要提供了AJAX，CSS操作，控制DOM等功能。无论你是要使用AJAX连接服务器与客户端，还是控制页面上某个按钮（输入框的属性），获取输入框的值，隐藏或显示某个DIV，各种动画效果，jQuery绝对是不二选择。</p>
<p>好了，就简单说说如何使用jQuery吧。</p>
<p>首先要下载jQuery文件，目前jQuery最新版本为1.2.6，jQuery官方已经有经过压缩版的JS文件，可以直接用于产品的使用，这个包大概在30KB左右，用于网络传输丝毫不会影响网页的载入速度。此外，jQuery还提供了没有编译的源代码，想知道jQuery工作原理的不妨下载来看看，不过我是没多大兴趣了，我只是用jQuery来做我的产品。</p>
<p>使用任何一门脚本语言一定不能少了它的文档，没有文档就无从下手，遇到问题就要不停地Google。jQuery似乎对国际化的支持不够完善，官方也没有提供其他语言的文档，而国内已经有人翻译了一个比较完善的文档<a href="http://photozero.net/wp-content/uploads/2008/08/jqueryapi12.zip">点此下载</a> 。</p>
<p>要使用jQuery，首先在HTML文件中调用jQuery文件，调用这个文件就跟调用别的JS文件一样的：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">jquery.js</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>现在你就可以在页面里随心所欲地使用jQuery提供的功能了。先来一个最简单的应用：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">ready</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">LOADED</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这是一个简单的例子，用于在文档载入成功以后弹出提醒“LOADED”。jQuery中所有功能都要用美元符号开头，如果有一个要绑定一个DOM控件，就可以在括号后输入这个DOM，比如要控制一个DIV，ID为“page”,就是使用$(&#8216;#page&#8217;)，控制一个SPAN，CLASS为“entry”，在jQuery中就是使用$(&#8216;.entry&#8217;)，如果控制所有的A链接，直接使用$(&#8216;a&#8217;)。这与CSS的语法规则有点类似。</p>
<p><strong>隐藏、显示、高度、宽度</strong></p>
<p>在某些AJAX情况下，我们可能会把所有的内容都放入在一个网页中，比如没登陆的时候提示的登录框，通过AJAX登陆成功后提示登陆信息等，这必然要用到一些隐藏、显示的方法。以往用Javascript就要 DOM.style.display=none，显示就要用 DOM.style.display=block ，这样的代码显得冗长，用jQuery就容易多了。在AJAX过程中显示Loading信息：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#loading</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">height</span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">height</span><span style="color: Olive;">())</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//让这个层高度为页面的高度</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#loading</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Olive;">(</span><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">width</span><span style="color: Olive;">())</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//让这个层宽度为页面的宽度</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#loading</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">show</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<p>这个Loading的风格可以是背景用Filter:alpha模糊，这样用户就不能点击页面中的任何东西了，防止重复提交。要做这个Loading信息，首先在页面HTML中输入一个DIV,ID为 loading，容器内放上一个合适的Loading文字或图标。为了兼容更多浏览器，需要即时对#loading赋予当前页面的高度和宽度，保证loading能覆盖整个页面。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">#loading</span><span style="color: Olive;">{</span><span style="color: Green;">position:</span><span style="color: Red;">absolute</span><span style="color: Gray;">;</span><span style="color: Green;">z-index:</span><span style="color: Maroon;">11</span><span style="color: Gray;">;</span><span style="color: Green;">top:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">;</span><span style="color: Green;">left:</span><span style="color: Maroon;">0</span><span style="color: Red;">px</span><span style="color: Gray;">; </span><span style="color: Green;">right:</span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Green;">bottom:</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Green;">background-color:</span><span style="color: #00008b;">#999999</span><span style="color: Gray;">;</span><span style="color: Green;">filter:</span><span style="color: Gray;">alpha(opacity=</span><span style="color: Maroon;">50</span><span style="color: Gray;">)</span><span style="color: Gray;">;-</span><span style="color: Green;">moz-opacity:</span><span style="color: Maroon;">0.50</span><span style="color: Gray;">;</span><span style="color: Green;">opacity:</span><span style="color: Maroon;">0.50</span><span style="color: Gray;">;</span><span style="color: Olive;">}</span></li></ol></div>
<p>这个代码能做一个层，长宽为页面的最大值，z-index层是最上面，把下面的内容透明覆盖（模糊处理），而且鼠标只能在上一层活动，而不能触摸到页面。（该CSS可能不符合CSS语法规范）</p>
<p>$(&#8216;#loading&#8217;).show();是一个让#loading显示的代码，同样，有显示就有隐藏，隐藏使用$(&#8216;#loading&#8217;).hide();，此外，还可以在show(),hide()里面加入参数，使它发生动作时更为美观。比如$(&#8216;#loading&#8217;).show(&#8217;slow&#8217;);，是让#loading慢慢地显示出来，更多的参数请参考文档。</p>
<p>需要注意的是，如果使用AJAX，在触发AJAX事件时使用$(&#8216;#loading&#8217;).show(&#8217;slow&#8217;);，在AJAX结束时就不要再使用$(&#8216;#loading&#8217;).hide(&#8217;slow&#8217;);因为slow是一个比较慢的过程（可能需要0.5秒），而AJAX是一个异步调用的过程，这样的结果导致了$(&#8216;#loading&#8217;).show(&#8217;slow&#8217;);和$(&#8216;#loading&#8217;).hide(&#8217;slow&#8217;);几乎是同时进行，可能会导致Javascript发生错误或效果无法显示。</p>
<p>$(&#8216;#loading&#8217;).height(&#8216;100px&#8217;);这个代码能够把一个高度的数值赋予一个控件，如果没有数值 var heightvalue = $(&#8216;#loading&#8217;).height(); ，则是返回一个控件的高度。$(&#8216;#loading&#8217;).height($(document).height());就是把整个页面的高度赋值给#loading，使#loading的高度为整个页面的高度，width的用法也是一样的。</p>
<p>关于这个Loading的效果，可以去 <a href="http://beta.neekey.com">http://beta.neekey.com</a> 看看。</p>
<p><strong>CSS</strong></p>
<p>有时候我们需要在页面中即时改变CSS的值（比如对某个出错的信息加粗、红色显示），可以用$(&#8216;#box&#8217;).css(&#8216;name&#8217;,'value&#8217;);的方法来做。现在有个DIV，ID为“box”，里面有一些文字“账号密码输入错误”，这时候需要对这个BOX进行一些处理：</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">color</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">red</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//字体为红色</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">font-weight</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">bold</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//加粗</span></li>
<li><span style="color: Gray;">$</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#box</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">css</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">border</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">1px #333333 solid</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//加上边框。</span></li></ol></div>
<p>其他信息请参考文档。</p>
<p><strong>AJAX</strong></p>
<p>AJAX是jQuery里面比较重要的应用。jQuery的AJAX分为几个函数，适应不同任务的要求，有完整版的$.ajax(); （类似于PHP中用fsockopen函数），有普通的$.post(); ,$.get(); （类似于PHP中的file_get_contents()函数，fsockopen的阉割版），还有调用Script的 $.getScript();（类似于PHP中的include()语句） 具体需要看你需要用于什么用途了。（以上的比喻可能不是很恰当，仅作为理解使用）</p>
<p>一个完整的AJAX范例</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">$.</span><span style="color: Blue;">ajax</span><span style="color: Olive;">({</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">type</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">GET</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #ffa500;">//调用方法，有GET和POST之分</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">url</span><span style="color: Gray;">:</span><span style="color: #8b0000;">'</span><span style="color: Red;">example.php</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//请求的页面</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">data</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">email=</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#email</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Olive;">()</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">&amp;value2=</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Blue;">value2</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//GET中的数据，POST相同</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">dataType</span><span style="color: Gray;">: </span><span style="color: #8b0000;">'</span><span style="color: Red;">xml</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//期望返回的数据类型，分为xml 和 html </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">cache</span><span style="color: Gray;">: </span><span style="color: Green;">false</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//不需要缓存 ，分为布尔值 true , false</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">success</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">xml</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">//成功调用</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">//成功后执行的函数。。</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">error</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp;</span><span style="color: #ffa500;">//无法调用，可能是无法连接服务器，服务器404，500错误等</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">无法连接服务器</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>这个代码中除了用到基本版的AJAX调用，后面的注释写得比较完整了。这里用到了$(&#8216;#email&#8217;).value()，是调用一个ID为email的值，请在页面中做一个input输入框，ID为“email”，AJAX时就能获取#email的值并进行AJAX调用了。</p>
<p>除了value()还有 html() text() attr()等获取值的方法， html()是获取整个HTML，如果有个DIV,ID为“page”，同时这个层里还嵌套着数个层，调用$(&#8216;#page&#8217;).html()时，会把里面包括HTML TAG在内的所有的字符全部调用，而text()方法只调用文本，也就是去除HTML标记后的内容，attr用于调用某个属性，比如一个 input，有ID为“email” ，CLASS为“input1” ，调用$(&#8216;#email&#8217;).attr(&#8216;class&#8217;) 会返回CLASS的值“input”。</p>
<p>此外，html() text()还像 css() 一样，拥有赋值的功能，使用方法也类似，attr就要用$(&#8216;#email&#8217;).attr(&#8216;class&#8217;,'NewValue&#8217;) 的方法来赋值了。</p>
<p>返回AJAX中，dataType不能胡乱填写，如果以XML形式返回信息就应该填写xml，同时服务端也最好输出header()的Content-Type为XML，如果只是调用某个HTML页面并把它输入到网页中，填写html就可以了。</p>
<p>更多的AJAX方法请参考文档。</p>
<p>注意：很多使用方法需要在文档加载完成以后调用，特别是把JS文件放在头部的尤其应该注意这个问题，浏览器解释时按照从上到下的顺序解释，如果在刚载入JS就做某个命令如 $(&#8216;#box&#8217;).css(&#8216;name&#8217;,'value&#8217;)，此时文档上还不存在#box，这样会导致JS错误，所以需要把这个命令放到$.ready({&#8230;});中去 （jQuery规定$.ready({&#8230;});等同于$(document).ready({&#8230;});，因为只有document有ready的方法。），另外，把它放入到一个函数中，通过页面上某个动作来激活函数也是一个不错的办法。</p>
<p>第一篇到此结束，该文章本人的拙作，在某些术语方面可能不是十分准确，请以文档为准，如果有错欢迎纠正。下一篇什么时候写，看看反响是否热烈 <img src='http://photozero.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://photozero.net/jquery-tutorial-1/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>博客换新装</title>
		<link>http://photozero.net/blog_new_theme/</link>
		<comments>http://photozero.net/blog_new_theme/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 00:27:42 +0000</pubDate>
		<dc:creator>neekey</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://photozero.net/?p=310</guid>
		<description><![CDATA[经过了几天的本地调试，终于把这款自己制作的Wordpress主题放到了博客上。您当前看到的这个主题就是我自己制作的主题，名字叫Simple Zero。
这个主题有一些特点：
Header上的书签收藏的链接；... ]]></description>
			<content:encoded><![CDATA[<p>经过了几天的本地调试，终于把这款自己制作的Wordpress主题放到了博客上。您当前看到的这个主题就是我自己制作的主题，名字叫<strong>Simple Zero</strong>。</p>
<p>这个主题有一些特点：</p>
<p>Header上的书签收藏的链接；这个ICON以及链接是从ThinkAgain的wp_addbookmarks上搬过来的，我觉得这种纯HTML的事直接放在主题里就好了，弄成插件略微占了点服务器资源。ThinkAgain的效果更不错，平常情况下ICON是用CSS的ALPHA模糊了，一旦鼠标移上去（热点）又变成正常的图标。我把这个效果试着写入CSS中，在CSS校验的时候被告知FLITER:ALPHA不存在于CSS2.1，存在于CSS3.0，另外一个opacity又是语法错误，只好不弄这个效果了。</p>
<p>10种语言翻译功能。这个功能虽然实用性不大，但如果有了这功能就自我感觉良好，YY一下。这个功能应该也有WP插件能提供的，此外Google也提供了Widget，相比之下，使用插件略微有点浪费，使用Google Widget又担心JS的调用影响速度，而我的做法是内置的HTML的 &lt;a&gt;链接，不会拖累速度。这些国旗的ICON是我先前介绍的FAMFAMFAM出品的世界各国国旗，效果还挺不错的。而Google的网页翻译的URL也容易找到。</p>
<p>内置多种插件支持，包括了Thinkagain的Hot Friends，用于分页的WP-PageNavi，当然，自己的插件Reviewers_Info以及NeekeyBeta服务也是不能缺少的。特别针对WP-PageNavi的设计了更匹配页面的CSS风格。<br />
更加完美的Gravatar支持。由于现在Gravatar在国内也是很普及了，该主题对Gravatar提供了更好的支持，甚至连文章的作者都已经用Gravatar头像来显示了 <img src='http://photozero.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>标准的XHTML和CSS验证。已经通过了XHTML 1.0 Traditional，CSS 2.1认证。XHTML认真中比较容易出错的地方一个是 &lt;img&gt; 标签应该有 alt=&#8221;" 说明，另外是&lt;a&gt;或&lt;img&gt;等调用URL时 http://example.com/example.php?var1=A<strong>&amp;</strong>var2=B，其中的<strong>&amp;</strong>在HTML下应该用<strong>&amp;amp;</strong>替换，当然，如果是XHTML 1.0 Strict标准，别忘了&lt;a&gt; 链接里不能用 target=&#8221;_blank&#8221;（新窗口打开）。通过了CSS和XHTML验证，我就放心地在页面的FOOTER挂上了W3.ORG的链接了。</p>
<p>至于小挂件方面，在FOOTER放置了ALEXA和Google Pagerank的图标显示，都是80*15px大小的图标，方便地让访客了解到你的博客的信息。<img src="http://dev.neekey.com/alexa-80x15.php?s=photozero.net" alt="" />，这个Alexa排名显示是特别为这个主题准备的，如果您想使用，请在网页的任意地方添加HTML代码 &lt;img src=&#8221;http://dev.neekey.com/alexa-80&#215;15.php?s=<strong>photozero.net</strong>&#8221; alt=&#8221;" /&gt; ，其中粗体部分更换为你的网址。</p>
<p>支持主流的Firefox 3 和IE 7。通过Clicki的统计和留言的浏览器统计显示，我的博客访客中，Firefox是最常使用的浏览器，这与访客人群多为技术人员或对IT有一定了解的访客为主有关。另外，由于我的电脑上已经没有IE6，且IE6也算已经被淘汰，也没有去测试了，如果用IE6的朋友感觉很乱，还望见谅！</p>
<p>除了主题更换了，页面也做了一定的调整，在<a href="http://zeuscn.net/archives/2008/03/28/easily-create-a-link-page/">Zeus</a>博客的指点下，我也创建了链接页面，今后博客首页只用Hot Friends显示本月最多回复TOP 20以及自己的NeekeyBeta项目的链接，其他链接转到Links页面，还望见谅。此外，我还把插件的页面重新划分了，看起来不会太乱了。</p>
]]></content:encoded>
			<wfw:commentRss>http://photozero.net/blog_new_theme/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>用JS+CSS打造绚丽弹出登陆框效果</title>
		<link>http://photozero.net/javascript_css_html_for_mask_style/</link>
		<comments>http://photozero.net/javascript_css_html_for_mask_style/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 09:37:20 +0000</pubDate>
		<dc:creator>neekey</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://zz.neekey.com/archives/60</guid>
		<description><![CDATA[
如图，一个常见的网页效果，像QQ书签，百度收藏均使用这种效果，在用户未登录时，“弹”出一个登录框，输入帐号密码后通过AJAX激活后去除该框即可。这个框不是在浏览器之外弹出的，也... ]]></description>
			<content:encoded><![CDATA[<p><img width="575" src="http://photozero.net/wp-content/uploads/2007/11/ie6.jpg" alt="view" height="338" style="width: 575px; height: 338px" title="view" /></p>
<p>如图，一个常见的网页效果，像QQ书签，百度收藏均使用这种效果，在用户未登录时，“弹”出一个登录框，输入帐号密码后通过AJAX激活后去除该框即可。这个框不是在浏览器之外弹出的，也不是漂浮的，所以也不会被各种浏览器拦截。怎么实现呢？实际上是先创建一个底下的层，长和宽均为全屏，再使用CSS的FLITER的ALPHA滤镜效果，使背景模糊，并且不可选，再在此上创建一个登录框即可。</p>
<p>1.准备好一个网页模板，建议是符合XHTML4.0的，如果没有，也可以到 <a href="http://www.freecsstemplates.org/">www.freecsstemplates.org</a> 下载一个。</p>
<p>2.</p>
<p>在页面最尾部的&lt;/body&gt;前加上</p>
<p>&lt;div id=mask style=display:none &gt; &lt;/div&gt;<br />
//请自行加上引号以符合XHTML标准 <img src='http://photozero.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ,中间最好加一个空格的HTML转义字符，以免某些浏览器当容器的内容是空的时候不会显示。这是一个背景模糊的隐藏层,另外，默认是隐藏的，可以在页面载入的时候用JS ，像&lt;body onload=check();&gt; 这样来激活</p>
<p>在CSS中创建</p>
<p>#mask{position:absolute;z-index:2;top:0px;left:0px; right:0; bottom:0;background-color:#999999;filter:alpha(opacity=50);-moz-opacity:0.50;opacity:0.50;}<br />
//请注意，这里没有定义这个层的长和宽，因为直接定义 100%可能会不兼容某些浏览器,所以要在后面使用JS获取屏幕宽度和高度后再赋值。位置是相对的才行哦！</p>
<p>现在来创建登录框的部分</p>
<p>&lt;div id=loginform style=display:none&gt;<br />
&lt;table&gt;<br />
&lt;tr&gt;&lt;td&gt;<br />
    &lt;form&gt;<br />
    &lt;input /&gt;<br />
    &#8230;&#8230;<br />
    &lt;/form&gt;<br />
&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/table&gt;<br />
&lt;/div&gt;</p>
<p>//这是登陆框的主题部分，建议在这个容器以内使用TABLE以便定位，否则某些浏览器会变形。</p>
<p>再添加loginform的CSS定义：</p>
<p>#loginform{position:absolute;z-index:4;width:600px;height:360px; background-color:#F5FFE0;border:1px solid #A5CF3D;}</p>
<p>//这里面的长，宽，可以先预设，同样，相对于顶部和左部的距离也最好用JS来设置。</p>
<p>现在来设置一下JavaScript</p>
<p>&lt;script&gt;<br />
function check(){<br />
//请自行根据情况设置条件，或者也可以用 &lt;a onlick=check();&gt;Check&lt;/a&gt;这样来使用，那就不需要判断条件了。<br />
if 条件 {<br />
 $(&#8216;mask&#8217;).style.height=document.body.clientHeight + &#8216;px&#8217;;<br />
 $(&#8216;mask&#8217;).style.width=document.body.clientWidth + &#8216;px&#8217;;<br />
 $(&#8216;mask&#8217;).style.display=&#8217;block&#8217;;<br />
//设置模糊层的宽和高，并让它显示出来，需要在后面加上 &#8216;px&#8217;，否则Firefox浏览器会出错<br />
 $(&#8216;loginform&#8217;).style.top=(document.body.clientHeight -350)/2 + &#8216;px&#8217;;<br />
 $(&#8216;loginform&#8217;).style.left=(document.body.clientWidth -600)/2 + &#8216;px&#8217;;<br />
 $(&#8216;loginform&#8217;).style.display=&#8217;block&#8217;;<br />
//设置弹出框距离顶部和左部的距离，也可以固定为 xxx px，并让它显示出来</p>
<p>}<br />
}</p>
<p>function close1(){<br />
 $(&#8216;loginform&#8217;).style.display=&#8217;none&#8217;;<br />
 $(&#8216;mask&#8217;).style.display=&#8217;none&#8217;;<br />
}<br />
//如果要关闭这个层只要让他们设置为隐藏就可以了。</p>
<p>&lt;/script&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://photozero.net/javascript_css_html_for_mask_style/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>UIMARK 开发进度</title>
		<link>http://photozero.net/uimark_program_2007_11/</link>
		<comments>http://photozero.net/uimark_program_2007_11/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 02:09:17 +0000</pubDate>
		<dc:creator>neekey</dc:creator>
				<category><![CDATA[Free Talk]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[uimark]]></category>
		<category><![CDATA[web20]]></category>

		<guid isPermaLink="false">http://zz.neekey.com/archives/52</guid>
		<description><![CDATA[Uimark.com Alpha2 版正在开发中，这个版本对原来的 www.uimark.com 做了很大的调整，主要在于用户界面更清爽了，更加Web2.0一些，用户体验也会更好一些。尚未登录的时候要添加书签，就会自动弹出... ]]></description>
			<content:encoded><![CDATA[<p>Uimark.com Alpha2 版正在开发中，这个版本对原来的 <a href="http://www.uimark.com/">www.uimark.com</a> 做了很大的调整，主要在于用户界面更清爽了，更加Web2.0一些，用户体验也会更好一些。尚未登录的时候要添加书签，就会自动弹出一个登陆框，但不是在用户的浏览器上弹出，而是借助于页面的JavaScript+CSS控制层弹出，QQ书签，百度搜藏等也是用这种方法的，但这样做很大的问题就是不可能兼容所有的浏览器，比如百度搜藏的，在IE7下惨不忍睹，而QQ搜藏的比较不错，当然，我的也还行啦，做这个很辛苦，要在IE6,IE7,Firefox等主流浏览器下都适应才行，发个截图先：</p>
<p><img src="http://photozero.net/wp-content/uploads/2007/11/ie6.jpg" alt="ie6.jpg" /></p>
<p>下次有空再把部分代码贴出来讲解。</p>
]]></content:encoded>
			<wfw:commentRss>http://photozero.net/uimark_program_2007_11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
