sIFR文本替换技术

2009年9月22日 雨无形 没有评论

最近一个项目在使用jquery tools在用Flashembed组件的时候,发现了sIFR这个东西,就顺便了解了一下。

一、什么是sIFR?

sIFR表示scalable Inman Flash Replacement,是一种在web上准确发布自定义排版的技术。这种技术的实现方法是,当页面下载时,在一个指定的元素中用Flash渲染的文字来代替一些文本。理解下面这点是很重要的,这个元素并不是被Flash完全替换,文本仍在元素内,这个元素仍可以像通常那样被样式化或者被定位。

二、如何使用sIFR?

sIFR的用法很简单,首先在官方http://www.mikeindustries.com/blog/sifr/下载最新的sIFR版本。然后在页面中引用相关的js(sifr.js和sifr-addons.js,如果用jquery tools则不需要加载这两个js),最后通过js方法将指定选择器按指定的样式来调用即可。具体可以看官方demo和jquery tools上的介绍。

三、最遗憾的,sIFR的局限

讲了这么多,你可能已经心动了吧,我当初了解了以后也是,这个在制作一些企业网站的时候是很有用的,不过最大的问题,目前sIFR不支持中文,主要原因是中文字库太大。不过我想如果能自己做一个只有一个企业站常用字的字库是否可行呢?不过这个还涉及到了字库的制作,不是更麻烦了?还是老老实实用图片先吧,也许在不久的将来随着带宽的提高技术的进步会有更多更好的方案出来,现在还是忍忍吧!

最后羡慕下国外的同行吧!

想了解更多的同志可以去看看:

如何以及何时使用sIFR

sIFR网页字体替换技术

sIFR 2.0: Rich Accessible Typography for the Masses

分类: 设计 标签: , ,

推荐一个不错的jq的UI库

2009年8月25日 雨无形 2 条评论

最近忙着移动网站改版的任务,博客也有近两周没更新了,在这次改版的过程中发现了不少好用的东西将陆续来分享。

今天要介绍的就是一个非常好用的jq的UI库,叫jquery tools,它的官方网站是http://flowplayer.org/tools/index.html这个UI库提供了我们在做网站的过程中需要用到的一些常用JS效果的方案,我试用了一下常用的tab和Scrollable感觉还比较灵活,配合CSS可以实现我们想做的大多数效果。

这个UI库包含了6大工具

1、选项卡功能(Tabs)

2、提示工具条功能(ToolTips)

3、信息滚动功能(Scrollable)

4、遮罩效果(overlay)

5、突出效果(expose)

6、Flash嵌入

http://css9.net/flexible-ui-library-jquery-tools/这个博客上对这个UI库有比较详细的说明,我就不赘述了。有兴趣的可以尝试一下。

分类: JavaScript 标签: , ,

网页中圆角的制作方法与选择(一)宽度固定高度自适应的圆角

2009年8月12日 雨无形 没有评论

今天在做移动新版页面的模板的时候因为页面中用到了很多圆角的效果,基本效果如下:

圆角效果

所以准备做一个圆角的通用模板。考虑到网站中此圆角样式只有两种宽的尺寸370和750,但高度不定所以首先做了一个固定宽高度自适应的模板。

代码如下:

Html部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="box">
<div class="box-top">
<h2>宽固定高自适应box</h2>
</div>
<div class="box-bd">
<ul>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
	<li><a>新闻标题新闻标题新闻标题新闻标题新闻</a></li>
</ul>
</div>
</div>

CSS部分:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.box {
	width:370px;
	padding-bottom:3px;
	background:url("../images/box-round.png") 0 100% no-repeat;
}
.box .box-top {
	height:27px;
	padding:2px 2px 4px;
	background:url("../images/box-round.png") -370px 0 repeat-x;
}
.box .box-top h2 {
	font-size:14px;
	line-height:27px;
	color:#1866a6;
	padding-left:20px;
	background:url("../images/ico.gif") 5px 7px no-repeat;
}
.box .box-bd {
	border-left:1px solid #c6c6c6;
	border-right:1px solid #c6c6c6;
	padding:5px 10px 8px;
}
.box {
	background-position:0 100%;
}
.box .box-top {
	background-position:-370px 100%;
}

提示:你可以先修改部分代码再运行。

如果还要新加一个750宽度的,则要修改一下代码。

html代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<div class="width1">
<div class="box">
  <div class="box-top">
    <h2>宽固定高自适应box</h2>
  </div>
  <div class="box-bd">
    <ul>
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
    </ul>
  </div>
</div>
</div>
<div class="width2">
<div class="box">
  <div class="box-top">
    <h2>宽固定高自适应box</h2>
  </div>
  <div class="box-bd">
    <ul>
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
      <li><a href="">新闻标题新闻标题新闻标题新闻标题新闻</a></li> 
    </ul>
  </div>
</div>
</div>

CSS代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
.width1 {
	width:370px;
	margin:20px auto;
}
.width2 {
	width:750px;
	margin:20px auto;
}
.box {
	padding-bottom:3px;
	background:url("http://www.yuwuxing.cn/code/box/images/box-round.png") no-repeat;
}
.box .box-top {
	height:27px;
	padding:2px 2px 4px;
	background:url("http://www.yuwuxing.cn/code/box/images/box-round.png") repeat-x;
}
.box .box-top h2 {
	font-size:14px;
	line-height:27px;
	color:#1866a6;
	padding-left:20px;
	background:url("http://www.yuwuxing.cn/code/box/images/ico.gif") 5px 7px no-repeat;
}
.box .box-bd {
	border-left:1px solid #c6c6c6;
	border-right:1px solid #c6c6c6;
	padding:5px 10px 8px;
}
.width1 .box {
	background-position:0 100%;
}
.width1 .box .box-top {
	background-position:-370px 0;
}
.width2 .box {
	background-position:-740px 100%;
}
.width2 .box .box-top {
	background-position:-1490px 0;
}

提示:你可以先修改部分代码再运行。

宽度固定,高度自适应的圆角就这样完成了,如果需要宽度也能自适应敬请期待PART II,宽高自适应的圆角边框

分类: css, 网页设计 标签:

关于读书

2009年8月10日 雨无形 没有评论

今天整理了一下自己之前买的书,有一年多没买书了,不是不想买,而是看之前买的那些都没怎么看,下定决心看完之前买的书再买新的不然就变成了一个“图书收藏家”了。

看着书桌上javascript权威指南上那厚厚的灰尘,我感到自责,三年前就买了这本书,到现在只看了不到100页,买的第四版,现在第五版都出版一年多了。

反思之后,我决定给自己定下一个计划,每天读书至少一个小时。不管工作多忙。

整理了一下尚未读或者没有读完的书:

javascript权威指南(第四版)

JavaScript DOM编程艺术

XML 基础教程:入门、DOM、Ajax与Flash

PHP 5项目开发实战详解

Don’t Make Me Think

赢在用户

最近首先要看的就是

javascript权威指南(第四版)

JavaScript DOM编程艺术

每天一小时,从今天开始!

分类: 生活点滴 标签:

CSS3 Columns属性研究

2009年8月6日 雨无形 没有评论

CSS3 Columns属性研究

Columns属性是用来制作类似杂志布局,下面是该属性的简单介绍:

这个属性也相对来说比较简单,主要用于杂志式的布局,在Mozilla 和 Webkit 核心浏览器中需要前缀书写,带代码如下:

1
2
3
4
5
6
-moz-column-count: 2; /* For FireFox */
-webkit-column-count: 2; /* For Safari/Chrome */
column-count: 2; /* For when the standard gets fully supported */
-moz-column-width: 250px; /* For FireFox */
-webkit-column-width: 250px; /* For Safari/Chrome */
column-width: 250px; /* For when the standard gets fully supported */

这段代码分别是定义的栏数根每栏的宽度

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 1.0+

属性的使用很简单,比如要做一个宽度固定为800px,4栏的布局可以用如下代码:

1
2
3
4
width: 800px;
-moz-column-count: 4;
-webkit-column-count: 4;
column-count: 4;

同样如果要制作一个高度固定为400px,每栏宽度300px的布局可以用如下代码

1
2
3
4
height:400px;
-moz-column-width: 300px;
-webkit-column-width: 300px;
column-width: 300px;

但是如果同同时使用了column-width和column-count会有怎么样的效果呢?
我们实验一下最开头的代码,

1
2
3
4
5
6
-moz-column-count: 2;
-webkit-column-count: 2;
column-count: 2;
-moz-column-width: 250px;
-webkit-column-width: 250px;
column-width: 250px;

分别用FF3.5和chrome/safari打开看一下
我们发现chrome/safari是按照设定的每栏宽250px,两栏显示的,但是FF下却成了两栏,但是每栏的宽变成了整个容器的50%的宽度。说明在FF下优先考虑的是容器的宽度。

然后我们再测试一下极端一点的情况:

提示:你可以先修改部分代码再运行。

在限定了高度,栏数,栏宽,字数又超过了的情况下,在FF下,栏宽还是容器宽度的50%,栏宽的限制也不起作用了,唯一起作用的是高度,在chrome/Safari下,栏宽跟高度还是保持,栏数超出设置。这个在使用这个属性的时候都是要注意的。

分类: css, 网页设计 标签: ,

9个你现在可以使用的CSS3属性

2009年8月6日 雨无形 没有评论

前言:昨天介绍了一个text-shadow的CSS3属性,NB吧,今天专门去查了一下CSS3的其它属性,发现这篇文章不错,特别转帖过来。

原文:9 CSS3 Properties You Can Use Now

当你看到很多自己期待的属性在CSS3中出现,肯定会兴奋不已,而在之前这些都是需要一些浏览器hack实现。

下面就介绍一下CSS3中9个现在可以并且经常被你使用的属性,以及如何去使用。

1.Text-shadow

这个属性使用的属性值是这样定义的:

1
text-shadow: 2px 2px 5px #000;

其中第一个和第2个值代表了阴影的偏移量,第3个值代表模糊半径,第4个值代表阴影颜色。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 2.0+, Opera 9.6+

注:想了解该属性详细情况可以查看之前的一篇文章CSS文字阴影效果

2.Box-shadow

这个属性跟文字阴影有点相像,但是又有一些区别,它可以作用于一块区域的阴影效果,而不像文字阴影只能作用文字区域。它的属性值是如下所示定义的:

1
box-shadow: 5px 5px 10px 10px #000;

前两个属性值代表阴影的便宜量,第3个值代表模糊半径,第4个值代表阴影的扩散半径,第5个值代表阴影的颜色值。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 1.0+

3.Box-sizing

这个属性虽然被列入CSS3属性中,但是还尚未广泛支持CSS3的规格。

这个属性相对比较简单,包含了3个属性值,content-box、border-box和inherit。

1
box-sizing: content-box | border-box | inherit;

在浏览器行为中,默认情况下为content-box,内容显示的大小实际上是内容、填充、边界以外指定的宽度和高度,所以一个有20px宽度内容、1px边界以及5px的间距实际上会被当成总宽度为20+1+1+5+5=32px。

所以利用这个属性,如果我们定义为border-box,那边界和边距将会被定义在元素之内,上面举的例子中,总宽度将会被当成20px,这个在实际布局中很有用。

支持此属性的浏览器:IE8+, Safari 3.1+, FireFox 2.0+, Chrome 1.0+, Opera 9.6+

4.Columns

这个属性也相对来说比较简单,主要用于杂志式的布局,在Mozilla 和 Webkit 核心浏览器中需要前缀书写,带代码如下:

1
2
3
4
5
6
-moz-column-count: 2; /* For FireFox */
-webkit-column-count: 2; /* For Safari/Chrome */
column-count: 2; /* For when the standard gets fully supported */
-moz-column-width: 250px; /* For FireFox */
-webkit-column-width: 250px; /* For Safari/Chrome */
column-width: 250px; /* For when the standard gets fully supported */

这段代码告诉我们,内容将会以2列展示,每一列250px宽。

支持此属性的浏览器:Safari 3.1+, FireFox 3.5, Chrome 1.0+

5.Border-radius (rounded corners)

因为很多人都很喜欢圆角,但是在CSS3之前就不得不使用图片来实现很多效果,所以在CSS3中加入了这个属性,收到了大家的欢迎,但是在Mozilla 和 Webkit 核心浏览器中仍然需要他们自己的前缀,属性书写如下:

1
2
3
-moz-border-radius: 10px; /* For FireFox */
-webkit-border-radius: 10px; /* For Safari/Chrome */
border-radius: 10px; /* For when the standard gets fully supported */

支持此属性的浏览器:Safari 3.1+, FireFox 2.0 (non-antialiased), FireFox 3.0+, Chrome 1.0+ (non-antialiased)

6.Border-image

这个属性没有像Border-radius这个属性那么频繁的被使用,因为在理解上还是有点困难。但是对于一些特殊的效果,用这个属性就很合适:

1
2
-webkit-border-image: url(whiteButton.png) 0 12 0 12 stretch stretch;
-moz-border-image: url(whiteButton.png) 0 12 0 12 stretch stretch;

需要查看这个属性的更多细节,请点击:his full article

浏览器对于此属性的支持:Safari 3.1+, FireFox 3.5, Chrome 1.0+

7.@font-face (web font embedding)

这个属性是说用户可以自定义一些个性字体,为了包含自己定义的字体,可以通过这个属性进行定义:

1
2
3
4
@font-face {
font-family: "My Awesome Font";
src: url(MyAwesomeFont.otf) format("opentype");
}

然后可以通过下面的形式进行引用:

1
h1 { font-family: "My Awesome Font", sans-serif; }

支持此属性的浏览器:Safari 3.2+, FireFox 3.5, Chrome 2.0+, IE4+ (sort of)

8.RGBA color

这个属性还是值得一提的,之前我们定义背景颜色,就是一个颜色值,但是通过CSS3的这个属性,如果你想定义一个透明度为50%的一个背景色,就会很容易实现:

1
background: rgba(0, 0, 0, 0.5)

浏览器对于此属性的支持(不包含滤镜):Safari 3.1+, FireFox 2.0+, Chrome 1.0+

9.Transitions

这个属性可以让你实现一些之前必须用图片实现的效果,比如说线性渐变之类的:

1
2
3
4
5
6
7
#element {
opacity: .7;
-webkit-transition: opacity 1s linear;
}
#element:hover {
opacity: 1;
}

以前都是CSS3属性中加入的属性,对我们在工作当中都有了一个很好的帮助。

分类: css, 网页设计 标签:

CSS文字阴影效果

2009年8月5日 雨无形 没有评论

上回说到用css模拟图片阴影效果,那么文字有办法吗?

其实在css3中已经有一个text-shadow属性专门来实现这个效果,不过目前只有Webkit (from Safari 3+,chrome), Opera 9.5, Firefox 3.1(pre-Alpha)等几个现代浏览器可以支持该属性,IE系的暂时无法实现该属性。

text-shadow的语法:

text-shadow:color length length length;

color:颜色; length分别按顺序指”X轴方向长度 Y轴方向长度 阴影模糊半径

正值在X轴表示向右,负值表示向左.同样的道理Y轴负值是表示向上.

其中任意一个值可以为零也可为空(将做默认处理)

具体请参考:http://www.w3.org/TR/2003/CR-css3-text-20030514/#text-shadows

值得注意的是,text-shadow可以应用多组属性,也就是可以如下方法使用:

0 0 4px white, 0 -5px 4px #FFFF33, 2px -10px 6px #FFDD33, -2px -15px 11px #FF8800, 2px -25px 18px #FF2200

下面看几个范例:(请使用Webkit (from Safari 3+,chrome), Opera 9.5, Firefox 3.1(pre-Alpha)浏览器运行查看效果。)

提示:你可以先修改部分代码再运行。

至于顽固的IE,只能用滤镜来实现类似效果了,下面也顺便介绍一下IE滤镜制作阴影。

IE滤镜的语法为:

filter : progid:DXImageTransform.Microsoft.Shadow ( enabled=bEnabled , color=sColor , direction=iOffset , strength=iDistance )
其中color为阴影颜色 direction为角度 strength为阴影距离

下面一样看个例子

提示:你可以先修改部分代码再运行。

可以看到效果比较差,只有在小字体的时候才能用下。另外要注意要是用滤镜的元素必须触发haslayout

最后把两个方案结合一下即可实现支持大部分浏览器的CSS阴影效果。

提示:你可以先修改部分代码再运行。

分类: css, 网页设计 标签: ,

另辟蹊径,用css制作简单图片阴影效果

2009年8月4日 雨无形 没有评论

一般制作阴影效果都是使用的图片背景或者css滤镜,个人对于CSS滤镜一直抱有抵触心理,所以能不用就不用,有时候为了实现一些效果需要给图片加上阴影。可以尝试一下以下CSS方法。

a.shadow {
	display:inline-block;
	padding:1px;
	background:#d1d1d1;/* 第三层边框的颜色 */
	border:solid #f0f0f0 1px;/* 第四层边框的颜色 */
	/* 各标准浏览器中圆角定义 */
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}
a.shadow img {
	padding:1px;
	background:#676767;/* 第一层边框的颜色 */
	border:solid #a4a4a4 1px;/* 第二层边框的颜色 */
	/* 各标准浏览器中圆角定义 */
	border-radius:5px;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
}

提示:你可以先修改部分代码再运行。

分类: css, 网页设计 标签:

一个优秀的相册程序zenphoto安装记

2009年8月3日 雨无形 没有评论

zenphoto是一个优秀的相册程序,我最欣赏的一点就是可以通过FTP来上传照片,这样 免去了通过网页上传的一些不稳定因素,同事支持续传。但是这个程序安装起来有许多需要注意的地方。

首先要检查你的php环境,zenphoto对环境要求比较严格,因为我是自己的服务器,所以还可以根据需求稍微调整下,如果是虚拟主机的用户可能就比较麻烦了,下面列举一下这个程序需要的一些环境组件。

1.php要关闭安全模式

2.关闭magic_quotes_gpc

方法:修改php.ini文件搜索magic_quotes_gpc找到magic_quotes_gpc = On 修改为magic_quotes_gpc = Off即可。

3.开启gettext()支持

方法:还是修改php.ini搜索extension=php_gettext.dll,将前面的分号“;”去掉,重启apache即可。

4.setlocale(),我安装的时候报setlocale()失败,但是这个问题并不影响我安装,也不知道有什么后遗症,不过既然不影响安装暂时就放下吧。

5.修改mbstring.internal_encoding = UTF-8

6.修改zp-config.php,填上你的数据库相关信息即可

基本上注意这些问题就能安装成功。

另外我安装的是1.2.4中文版,没有装新的1.2.5因为1.2.5暂时没有中文版。

另外我遇到一个问题就是安装的时候老是php脚本超时,只能修改php.ini的脚本超时时间来完成安装,但是本地调试没问题,不知道是服务器设置问题还是怎么回事,有知道的希望能告诉我一声。

最好附上我的相册demo地址http://photo.yuwuxing.cn

分类: 网站程序 标签: ,

dell1850服务器升级记录

2009年8月3日 雨无形 没有评论

这台dell 1850服务器是05年买的,已经服役了4年了,配置是xeon 2.8/1M 1G ddr2 400 73G 1W转的SCSI硬盘,现在都09年了1G内存已经捉襟见肘,CPU也经常不够用,于是准备升级。

查了下 主板为INTEL E7520的芯片组,能支持的最大CPU为XEON 3600DP 2M 最大支持16G DDR2 ecc reg内存共2个CPU插槽和6个内存插槽,两个硬盘位

定下计划 鉴于现在内存白菜价,就买了6根2G的内存一共12G 买了2块XEON 3600DP/2M的cpu 在硬盘上面犯了个小错误,在网上查的E7520芯片组是支持SATA硬盘的,先买了块1T的SATA硬盘,结果机器搬回来以后发现DELL这个是不支持SATA的,只能用SCSI硬盘,只好退了又去买了块146G 1.5W转的SCSI硬盘换上去。

升级后要装64bit的系统,不然认不出这么大内存,终于鸟枪换炮了。

分类: 生活点滴 标签: