卡巴斯基发现新手机病毒 可盗巨额话费

五月 19, 2007 作者:admin  
类别:生活匣子

    据国外媒体报道,卡巴斯基实验室公司日前发现了一种专门针对移动电话的新木马病毒。
    据悉,这种病毒只能在安装有SymbianOS系统的手机上运行。专家们指出,该病毒的变种会伪装成针对手机的实用程序并通过俄罗斯著名网站dimonvideo.ru进行传播。被感染的手机会向付费号码1055发送短消息--每条信息的收费为177卢布。

     一旦有手机感染该病毒,犯罪分子们便可以通过其赚取不义之财。对于个人用户来说,他们的手机可能会在非常隐蔽的状态下向1055发送短信息,从而造成巨额话费支出。

    据卡巴斯基实验室提供的数据,在dimonvideo.ru网站将这种新病毒清除之前,其已感染了大约200位用户的手机。

    这已不是卡巴斯基公司首次记录到针对JAVA手机的木马病毒。首批类似的病毒早在2004年便已出现。

    PS:我用的不是智能手机还不支持Java,   可怜的小木马看来无能为力了

           有利意的地方就有黑暗…… 

腾讯科技

漫游费被曝数百倍暴利

五月 19, 2007 作者:admin  
类别:生活匣子

    央视《经济半小时》报道:手机漫游费要不要取消?
记者所做的一个小型随机调查发现,接受调查的手机用户均认为,手机漫游费太高或者不合理应该取消,建议降低的只有1人.部分电信专家介绍,漫游费实际成本只有电信运营商漫游收费的几百分之一,而且十几年前设立漫游费的基础已不存在.因此,他们建议,取消或者降低漫游费.

“漫游成本只有现收费几百分之一”

北京邮电大学无线新技术研究所副教授纪阳告诉记者,手机实现漫游并不需要很高的技术,运营商提供这样的服务,成本也非常低廉。

纪阳说:“假定我们的北京有一个用户,他漫游到杭州,杭州会有一个VLR,VLR的意思是拜访位置,它能够检测到现在有一个用户来了,并且看出 来这不是杭州用户,是一个北京用户。这个用户一些相关的数据要从北京局的HLR拷贝到VLR.”纪阳介绍说,只要杭州的电信运营商和北京的电信运营商完成 了该用户的数据信息交换,该用户的手机就可以实现漫游。而信息交换所需要传输的数据量非常小,所需时间还不到一秒。

纪阳说:“就是一千个bytes(字节)之内,这个量也不是很大,这个费用不会很 高。”字节是衡量文件大小的一个单位。比如:一位北京的手机用 户用手机通话一秒钟,传输的数据信息如果用字节来衡量的话是8000字节,而一分钟是480000字节(48万),北京电信运营商的收费标准是0.40 元。如果根据这一标准,漫游时所传输的1000个字节的信息的收费应该不到一厘钱,仅仅是现在电信运营商漫游收费的几百分之一。

 “漫游成本不随时间增加只是一次性消费”

纪阳告诉记者,当1000个字节的信息交换完成后,北京的手机用户就可以在杭州漫游了,从技术层面来看,这时他的手机和杭州本地的手机没有任何区别,在漫游通话时,也无需进行额外的数据传输,但电信运营商却无视这一事实,照样按分钟收取漫游费。

纪阳说:“它不应该随着打电话的时间长度累计增加,它就应该是一次性消费,比如说我们一次漫游呼叫定成一块钱,定死了就一次,且不说它一块钱高 还是低,你就应该每次漫游,漫游打一次电话就收一次费用,不要再随着我通话时间长度而累计。”纪阳说,正因为手机漫游的成本很低,所以欧洲、美国、日本这 些地区都不收漫游费。

纪阳说:“漫游费有两个问题,第一个问题就是说你不应该按照时间长度来收费,首先把这个取消掉了,第二个问题是从成本角度来讲,尤其从交换机之间,或者说交换数据这个成本来讲并不太高,所以应该把它降下去。”

 “以前设立漫游费状况已不存在”

长期关注电信资费问题的阚凯力教授说:“像有的移动通信企业,像去年一年就赚六七百亿的税后净利,这个税后的净利润率达百分之二十几。这个在全 世界都闻所未闻的。”阚凯力:“全世界,总的来讲,超过10%的净利润很少,像美国最大的移动通信企业,利润率不过才1%.”阚凯力教授告诉记者,在上世 纪90年代中期,我国移动通信刚刚起步,东部发达地区的手机用户比较多,设备利用率高,资费较为便宜;而西部欠发达地区的手机用户比较少,设备利用率低, 资费较贵。如果不设置漫游费这个门槛,西部的手机用户将会选择使用东部的手机号码,资费也将全部交给东部运营商,而西部的移动通信事业将无法得到正常发 展。为此,国家设立了漫游费。但目前,国家的移动通信状况发生了根本变化。中国移动2002年在西藏都实现了盈利。十多年前的状况不存在了,因此漫游费也 应取消。

新京报消息

用户体验 速度最重要

五月 16, 2007 作者:admin  
类别:WEB技术

今天下午看到WordPress 2.2发布了,加了不少新功能。“让您可以只需要鼠标简单拖放操作便可重新安排和自定义您的 Blog (通常是侧边栏)。此功能最初是 Widgets 插件引入的,现在成为了 WordPress 的默认核心代码,做了大量的优化,并且默认主题启用了这个功能。”很不错的功能。一直很喜欢WP,由于最初一开始就选中了F2也没有好换,就一直坚持用,我相信我也会一直坚持一下去。只要自己喜欢就好! WP给我的感觉就是不太合我们国人的习惯,虽然他各方面都很优秀也有中文版,但总觉得用起来不太顺手。

前几天换了电信服务器本以为速度上会有很大提升,但这并不和我当初想像的那样。据说能好不少。我在学校干线上的,网通还是电信速度都还不错,具体他们说的慢,有多慢我自己也不知道。  为了改提高速度,关了所有没有实用价值的插件 Google PR、AleX排名等,反正就是能不用的尽量关了。现在还开着的比较影响速度的有 lightbox2和首面上面的Flash图片展示。我真的很喜欢 lightbox2的效果,很帅!所以一直还开着。为喜欢的东西或许多少得付出些代价。

看来年用双线的服务器吧,单线的总没办法。也不知道什么通和什么信的为什么要这样。

Sqirlz Water Reflections汉化版 Flash水波生成器

五月 16, 2007 作者:admin  
类别:WEB技术

下面这个水波效果还让你满意吧。昨晚加班做的,学校东湖美景。其实这只要两分钟就能完成,你信吗?

我公需要Sqirlz Water Reflections就能很容易的完成。

【软件说明】
功能介绍:Sqirlz Water Reflections专门用来给图片做动态美工的件,用该软件做出来的flash水波纹效果极棒。
SWR提供了5种动画类型,其参数也相当丰富,如水波幅度、波纹方向亮度、透视、透明度及涟漪特性等。各参数的配合、调整可以使你到极其丰富的波纹效果,能够满足自然界各种波纹景象,SWR的使用很简单,如果你只考虑缺省效果,那么产生一个作品只需载入图片、定区域、保存swf文件这三步。选区的操作除了移动,还有平滑和组合”选区(比如可以组合出一个类似“马蹄形”的选区)等。
除了可以保存为SWF文件,它还能为AVI视频动画添加波纹,当然还有静的水波效果。

很好用吧,快下载回去试试吧! Let’s go……

本站下载:94

3DES加密算法简单运用示例

五月 14, 2007 作者:admin  
类别:JAVA开发

一、提要
命名空间:System.Security.Cryptography.TripleDES 类
简单说明: 表示三重数据加密标准算法的基类,TripleDES 的所有实现都必须从此基类派生,但TripleDES是从 SymmetricAlgorithm 类里继承出来。TripleDES 使用 DES 算法的三次连续迭代。它可以使用两个或三个 56 位密钥。
使用目的:比较安全的加密一种方式,密钥和矢量的不同,会生产不同的加密字串。因为是DES算法的三次连续迭代,而且算法可逆,这样对于数据保密性和可恢复性都不错。
使用方法:直接进行字符串输入和输出。

二、代码示例
本代码参照了部分MSDN上的代码示例,再根据自己的实际情况,补充了一部分MSDN上没有提到的内容

using System;
using System.Security;
using System.Security.Cryptography;
using System.IO;
using System.Text;
using System.Threading;

namespace TRIP3DES
{
///
/// Class1 的摘要说明。
///
public class dllEncrypt
{
//密钥
private const string sKey = “qJzGEh6hESZDVJeCnFPGuxzaiB7NLQM3″;
//矢量,矢量可以为空
private const string sIV = “qcDY6X+aPLw=”;
//构造一个对称算法
private SymmetricAlgorithm mCSP = new TripleDESCryptoServiceProvider();

public dllEncrypt(){}

#region public string EncryptString(string Value)
///
/// 加密字符串
///
///
输入的字符串
/// 加密后的字符串
public string EncryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
//指定加密的运算模式
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
//获取或设置加密算法的填充模式
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
ct = mCSP.CreateEncryptor(mCSP.Key, mCSP.IV);
byt = Encoding.UTF8.GetBytes(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();
return Convert.ToBase64String(ms.ToArray());
}
#endregion

#region public string DecryptString(string Value)
///
/// 解密字符串
///
///
加过密的字符串
/// 解密后的字符串
public string DecryptString(string Value)
{
ICryptoTransform ct;
MemoryStream ms;
CryptoStream cs;
byte[] byt;
mCSP.Key = Convert.FromBase64String(sKey);
mCSP.IV = Convert.FromBase64String(sIV);
mCSP.Mode = System.Security.Cryptography.CipherMode.ECB;
mCSP.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
ct = mCSP.CreateDecryptor(mCSP.Key, mCSP.IV);
byt = Convert.FromBase64String(Value);
ms = new MemoryStream();
cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(byt, 0, byt.Length);
cs.FlushFinalBlock();
cs.Close();

return Encoding.UTF8.GetString(ms.ToArray());
}
#endregion
}
}

三、总结
做成类库对于密钥和矢量的保管比较方便,输入输出全部是string型变量,这样也比较方便,密钥的生成可以用mSCP. GenerateKey()来生成,矢量的生成也可以用mCSP.GenerateIV()来生成。大家也可以自己灵活的编写符合自己的3DES算法。

最安全的加密算法 一次一密乱码本(one-time pad)

五月 14, 2007 作者:admin  
类别:JAVA开发

在密码学里,有一种理想的加密方案,叫做一次一密乱码本(one-time pad)。
one-time pad的算法有以下要求:
1、密钥必须随机产生
2、密钥不能重复使用
3、密钥和密文的长度是一样的。
one-time pad是最安全的加密算法,双方一旦安全交换了密钥,之后交换信息的过程就是绝对安全的啦。这种算法一直在一些要求高度机密的场合使用,据说美国和前苏联之间的热线电话、前苏联的间谍都是使用One-time pad的方式加密的。不管超级计算机工作多久,也不管多少人,用什么方法和技术,具有多大的计算能力,都不可能破解。

一次一密的一种实现方式,如下:
public class .NetimePadUtil  {
public static byte[] xor(byte[] bytes, byte[] keyBytes) {
if  (keyBytes.length != bytes.length) {
throw new IllegalArgumentException ();
}
byte[] resultBytes = new byte[bytes.length];
for  (int i = 0; i < resultBytes.length; ++i) {
resultBytes[i] =  (byte) (keyBytes[i] ^ bytes[i]);
}
return resultBytes;
}}

使用例子:

String plainText = “温少”;
String keyText = “密码”;
byte[] plainBytes =  plainText.getBytes();
byte[] keyBytes = keyText.getBytes();
assert plainBytes.length == keyBytes.length;

//加密
byte[] cipherBytes = .NetimePadUtil.xor(plainBytes, keyBytes);

//解密
byte[] cipherPlainBytes = .NetimePadUtil.xor(cipherBytes, keyBytes);
这是最简单的加密算法,但也是最安全的机密算法。

超酷圆形边框 div +css 做法

五月 13, 2007 作者:admin  
类别:WEB技术

[code]
[color=royalblue]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>新建网页</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="robots" content="all" />
<meta name="author" content="lybykw | www.vistathink.com" />
<meta name="Copyright" content="Copyright (c) 2000-2005

www.vistathink.com" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" media="screen"

/>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"

media="screen" />
<meta name="description" content="网页制作" />
<meta name="keywords" content="木瓜S Blog,Ardy.CN, www.ardy.cn" />

<style type="text/css">

</style>

<script language="javascript">

</script>

</head>
<body>
<br><br><br><br><br>
<div class="p100">
<div class="round1">
<div class="tl"></div>
<div class="tr"></div>
<div class="bl"></div>
<div class="br"></div>
<div style=" position:absolute; top:-35px; _top:-22px; left:-25px;">
<ul class="ovt">
<li><span><img name="" src="" width="1" height="22"

align="absmiddle" />
<img

src="http://cn.yimg.com/i/ks/060928/tab_knowledge.gif" hspace="3" />知识

</span></li>
</ul>
</div>

<div style="padding:10px;">通过下列链接访问参考资料,可帮助你创建引人注目

的 Web 页面。<br>动态 HTML (DHTML) 对象模型参考<br></div>
</div>
</div>

</body>
</html>
[/color]
[/code]

经典 CSS技巧 20个

五月 13, 2007 作者:admin  
类别:WEB技术

===============================================
本文作者是:Trenton Moss。
发表网站是:http://www.webcredible.co.uk
===============================================
1. CSS字体属性简写规则

一般用CSS设定字体属性是这样做的:

font-weight: bold;
font-style: italic;
font-varient: small-caps;
font-size: 1em;
line-height: 1.5em;
font-family: verdana,sans-serif

但也可以把它们全部写到一行上去:

font: bold italic small-caps 1em/1.5em verdana,sans-serif

真不错!只有一点要提醒的:这种简写方法只有在同时指定font-size和font-family属性时才起作用。而且,如果你没有设定font-weight, font-style, 以及 font-varient ,他们会使用缺省值,这点要记上。

2. 同时使用两个类

一般只能给一个元素设定一个类(Class),但这并不意味着不能用两个。事实上,你可以这样:

<p class=”text side”>…</p>

同时给P元素两个类,中间用空格格开,这样所有text和side两个类的属性都会加到P元素上来。如果它们两个类中的属性有冲突的话,后设置的起作用,即在CSS文件中放在后面的类的属性起作用。

3. CSS border的缺省值

通常可以设定边界的颜色,宽度和风格,如:

border: 3px solid #000

这位把边界显示成3像素宽,黑色,实线。但实际上这里只需要指定风格即可。

如果只指定了风格,其他属性就会使用缺省值。一般地,Border的宽度缺省是medium,一般等于3到4个像素;缺省的颜色是其中文字的颜色。如果这个值正好合适的话,就不用设那么多了。

4. CSS用于文档打印

许多网站上都有一个针对打印的版本,但实际上这并不需要,因为可以用CSS来设定打印风格。

也就是说,可以为页面指定两个CSS文件,一个用于屏幕显示,一个用于打印:

<link type=”text/css” rel=”stylesheet” href=”stylesheet.css” media=”screen” />

<link type=”text/css” rel=”stylesheet” href=”printstyle.css” media=”print” />

第1行就是显示,第2行是打印,注意其中的media属性。

但应该在打印CSS中写什么东西呢?你可以按设计普通CSS的方法来设定它。设计的同时就可以把这个CSS设成显示CSS来检查它的效果。也许你会使用 display: none 这个命令来关掉一些装饰图片,再关掉一些导航按钮。要想了解更多,可以看“打印差异”这一篇。

5. 图片替换技巧

一般都建议用标准的HTML来显示文字,而不要使用图片,这样不但快,也更具可读性。但如果你想用一些特殊字体时,就只能用图片了。

比如你想整个卖东西的图标,你就用了这个图片:

<h1><img src=”widget-image.gif” alt=”Buy widgets” /></h1>

这当然可以,但对搜索引擎来说,和正常文字相比,它们对alt里面的替换文字几乎没有兴趣这是因为许多设计者在这里放许多关键词来骗搜索引擎。所以方法应该是这样的:

<h1>Buy widgets</h1>

但这样就没有特殊字体了。要想达到同样效果,可以这样设计CSS:

h1
{
background: url(widget-image.gif) no-repeat;
height: image height
text-indent: -2000px
}

注意把image height换成真的图片的高度。这里,图片会当作背景显示出来,而真正的文字由于设定了-2000像素这个缩进,它们会出现在屏幕左边2000点的地方,就看不见了。但这对于关闭图片的人来说,可能全部看不到了,这点要注意。

6. CSS box模型的另一种调整技巧

这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:

#box
{
width: 100px;
border: 5px;
padding: 20px
}

这样调用它:

<div id=”box”>…</div>

这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。

但用CSS也可以达到同样的目的,让它们显示效果一致。

#box
{
width: 150px
}

#box div
{
border: 5px;
padding: 20px
}

这样调用:

<div id=”box”><div>…</div></div>

这样,不管什么浏览器,宽度都是150点了。

7. 块元素居中对齐

如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:

#content
{
width: 700px;
margin: 0 auto
}

你会使用 <div id=”content”> 来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:

body
{
text-align: center
}

#content
{
text-align: left;
width: 700px;
margin: 0 auto
}

这会把网页内容都居中,所以在Content中又加入了
text-align: left 。

8. 用CSS来处理垂直对齐

垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。

CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。

9. CSS在容器内定位

CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:

#container
{
position: relative
}

这样容器内所有的元素都会相对定位,可以这样用:

<div id=”container”><div id=”navigation”>…</div></div>

如果想定位到距左30点,距上5悖梢哉庋?BR>
#navigation
{
position: absolute;
left: 30px;
top: 5px
}

当然,你还可以这样:

margin: 5px 0 0 30px

注意4个数字的顺序是:上、右、下、左。当然,有时候定位的方法而不是边距的方法更好些。

10. 直通到屏幕底部的背景色

在垂直方向是进行控制是CSS所不能的。如果你想让导航栏和内容栏一样直通到页面底部,用表格是很方便的,但如果只用这样的CSS:

#navigation
{
background: blue;
width: 150px
}

较短的导航条是不会直通到底部的,半路内容结束时它就结束了。该怎么办呢?

不幸的是,只能采用欺骗的手段了,给这较短的一栏加上个背景图,宽度和栏宽一样,并让它的颜色和设定的背景色一样。

body
{
background: url(blue-image.gif) 0 0 repeat-y
}

此时不能用em做单位,因为那样的话,一旦读者改变了字体大小,这个花招就会露馅,只能使用px。

11. Block和inline元素对比
所有的HTML元素都属于block和inline之一。block元素的特点是:
总是在新行上开始;
高度,行高以及顶和底边距都可控制;
宽度缺省是它的容器的100%,除非设定一个宽度
<div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子。相反地,inline元素的特点是:
和其他元素都在一行上;
高,行高及顶和底边距不可改变;
宽度就是它的文字或图片的宽度,不可改变。
<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子。

用code class=”inline”>display: inline 或display: block命令就可以改变一个元素的这一特性。什么时候需要改变这一属性呢?
让一个inline元素从新行开始;

让块元素和其他元素保持在一行上;

控制inline元素的宽度(对导航条特别有用);

控制inline元素的高度;

无须设定宽度即可为一个块元素设定与文字同宽的背景色。

12. 再来一个box黑客方法

之所以有这么多box黑客方法,是因为IE在6之前对box的理解跟别人都不一样,它的宽度要包含边线宽和空白。要想让IE5等同其他浏览器保持一致,可以用CSS的方法:

padding: 2em;
border: 1em solid green;
width: 20em;
width/**/:/**/ 14em;

第一个宽度所有浏览器都认得,但IE5.x不认得第2行的宽度设置,只因为那一行上有空白的注释符号(多么蠢的语法分析!),所以IE5.x就用20减掉一些空白,而其他浏览器会用14这个宽度,因为它是第2行,会覆盖掉第1行。

13. 页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类:

<body>
<div class=”container“>

然后CSS这样设计:

#container
{
min-width: 600px;
width:expression(document.body.clientWidth < 600? “600px”: “auto” );
}

第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

同样的办法也可以为IE实现最大宽度:

#container
{
min-width: 600px;
max-width: 1200px;
width:expression(document.body.clientWidth < 600? “600px” : document.body.clientWidth > 1200? ”1200px“ : ”auto”);
}

14. IE与宽度和高度的问题

IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。

比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:

.box
{
width: 80px;
height: 35px;
}

html>body .box
{
width: auto;
height: auto;
min-width: 80px;
min-height: 35px;
}

所有的浏览器都可以使用第一个box设置,但IE不认得第2段设置,因为其中用到了子选择器命令。第2个设置更特殊些,所以它会覆盖掉第1个设置。

5. 字体变形命令

text-transform 命令很有用,它有3个值:text-transform: uppercase, text-transform: lowercase 和 text-transform: capitalize。第1个会把文字变成全大写,第2个变成全小写,第3个变成首字母大写。这对拼音文字非常有用,即使输入时有大小写错误,在网页上也看不到。

16. IE中图片文字消失的问题

有时会遇到文字或背景图突然消失的问题,刷新一下又出现了,这在靠近漂浮元素时更容易发生(注:没见过)。此时,可以为消失的元素设定: position: relative ,如果不行,再考虑为这些元素指定一个宽度试试。

17. 不可见文字

不论因为何种原因希望某些网页文字不在浏览器中显示,比如为了打印或为了小屏幕而让某些文字不显示,都可以用 display: none 。这非常简单,但有时对某些人这有点没用,他们能去掉这个控制,这时就要用到: position: absolute; left: -9000px 。

这实际上是把文字指定在页面以外显示。

18. 为手持设备设计专门的CSS

也就是手机/PDA等小屏幕用户,可以专门设计一个CSS来让网页显示更舒服些。为此,可以把浏览器窗口调整到150点宽来看效果。指定专门的手持设备的CSS的语法是:

<link type=”text/css” rel=”stylesheet” href=”handheldstyle.css” media=”handheld” />

也可以阅读专门的手持设备可用性。

19. 3D效果的按钮

以前要想制作带有3D效果,并且点击下去还会变化的按钮,就得用图片替换的方法,现在CSS就可以了:

a
{
display: block;
border: 1px solid;
border-color: #aaa #000 #000 #aaa;
width: 8em;
background: #fc0;
}

a:hover
{
position: relative;
top: 1px;
left: 1px;
border-color: #000 #aaa #aaa #000;
}

至于效果,还可以自己调整了。

20. 在不同页面上使用同样的导航代码

许多网页上都有导航菜单,当进入某页时,菜单上相应这一项就应该变灰,而其他页亮起来。一般要实现这个效果,需要写程序或专门为每一页做设计,现在靠CSS就可以实现这个效果。

首先,在导航代码中使用CSS类:

<ul>
<li><a href=”#” class=”home”>Home</a></li>
<li><a href=”#” class=”about”>About us</a></li>
<li><a href=”#” class=”contact”>Contact us</a></li>
</ul>

然后分别为每一页的Body指定一个id,和上面类同名。如<body id=”contact”>。

然后设计CSS如下:

#home .home, #about .about, #about .about
{
commands for highlighted navigation go here
}

这里,当id设为home时,.home就会起作用,也就是class设为home的那一行导航条就会显示出特殊效果来。其他页也是如此。

« 上一页下一页 »