Srain's profileSrain的共享空间PhotosBlogLists Tools Help

Blog


    May 31

    用Dreamweaver做个简单的站内搜索页

    //Srain
     
    本文用的网页为asp动态页面,Dreamweaver的本版为CS3,access数据库版本为2003,我们将来做一个简单的站内搜索页,即在在页面搜索在数据库已经存在的数据,本文只讲标题的搜索,有兴趣的同学可以利用数据库的SQL语句设计出一些诸如搜索文本内容或者作者的功能出来。
     
    1.准备工作:
    在HowToSearch目录下面新建两个asp页面:搜索页SearchPage.asp和搜索结果页SearchList.asp;再新建一个access数据库,数据库内容如下:
     
     
     注意表的字段名。
     
    2.在Dreamweaver中打开SearchPage.asp页面,新建一个包含文本框和提交按钮的表单,如下图所示
     
     
    修改文本域的名称为searchbox,表单属性中的动作选项填上SearchList.asp,目标选_blank(新窗口打开链接)
    3.打开页面SearchList.asp创建数据库链接(用自定义链接字符串的方法链接,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/HowToSearch/news.mdb")
     
     
    4.绑定记录集,各项设置如下图所示
    seardkd
     
    筛选选项中,填入news_sbuject的目的是搜索包含有关键字的新闻标题,searchbox即是我们在前面设置好的文本框的名字,搜索结果按照新闻日期降序排列
     
    5.绑定数据集以后就可以进行准确的搜索了,不过要输入标题的全部内容才可以搜索到,譬如只能输入“一条新闻”才可以搜索到标题是“一条新闻”的新闻,而不可以用“新闻”来搜索到,我们需要用模糊搜索的方法来实现他。
     
    在设置绑定记录集的时候,点选高级,进入高级设置,把其中的SQL语句部分的内容:
     
    SELECT *
    FROM newsCenter
    WHERE news_subject = MMColParam
    ORDER BY news_date DESC
    修改为:
    SELECT *
    FROM newsCenter
    WHERE news_subject LIKE %MMColParam%
    ORDER BY news_date DESC
     6.在SearchList.asp插入主详细页集。方法是依次选择 插入记录—数据对象-主详细页集,如下图设置,注意,详细页名称我填的是info.asp,这个名字是随意的,你可以选择一个已经建好的asp页面。
     
    7.单击确定后就会建好一个搜索结果页(SearchList.asp)和详细页(info.asp),这个时候我们全部保存,在浏览器下操作一下试试效果吧。譬如我在搜索框中输入“新闻”,便会得到下面的搜索结果(分页的部分没有截图):
     
    可以看的出来news_subject下面的句子里面全部含有“新闻”这个关键字,实际制作页面的时候,需要把news_id,news_type...这些改为自己想要的文字,还可以美化一下页面的显示效果。点击新闻的ID数字,如14,就会转到这条新闻的详细页。
     
    总结:OK了,这样,一个简单的搜索页就做好了,其实做这样的一个搜索页对技术的要求不高,会基本的access操作,懂动态页面怎样连接数据库,怎样绑定记录集,看懂基本的SQL语句就可以了。另外,你做好了这样的搜索页以后,每次刷新都会弹出是否重新提交的提示,如果出现这样的情况的话,把SearchPage.asp里面的搜索表单的提交方法由post改为get,再修改一下Searchpage.asp和Searchlist.asp里面的表单数据读取方法就可以了,例如把 Request.Form("searchbox")修改为Request("searchbox"),说的轻松,操作起来可能有些不甚明了,没关系,一步一步来。
     
    下一篇文章里面会讲一下比这个搜索稍微复杂一点的搜索页的制作方法。
     

    让层出现下拉滚动条

    //iwind  原文地址http://tips.4kiki.net/t/3e387833d4c4848868eb6c05c933afef

    • 有时候div内内容很多的时候,会把div撑破,用下面样式就可以让层的右边出现下拉滚动条

    • width:100px;
      height:100px;
      overflow-y:auto;
      overflow-x:hidden

      示例:
      <style type="text/css">
      div {
          width:100px;
          height:100px;
          overflow-y:auto;
          overflow-x:hidden;
      }
      </style>

      <div>Sraiin翻译:CSS3系列文章的第三章将会深入探讨新的文字特效。毫无疑问,排版技术是设计一个布局最重要的部分之一。透过一个网页的字体可以吸引浏览者,以一种特别的表达方式,在不同的内容里面提供有冲击力、微妙的或辅助性的效果。CSS已经有很多的方法去设计文字,但仍局限于少数的领域里面,CSS3会提供一些途径去解除这些限制。</div>

      cenggund

    环保是个好事情

    今天又去大福源买些食品回来,看到有购物袋就买了一个回来,据说6.1以后就全面禁用塑料袋了。

    这是个好事情,虽然顾客们需要购买购物袋,改革的成本又一次由我们承担了,但是我觉得还是是应该支持的,毕竟塑料袋的使用既浪费又不环保。

    这么大的购物袋只需要4.8元,当然,你也可以选择贵一些时尚一些的,价格多在20元一下,还是可以接受的。

    点击图片看大图。

    IMG0499A


    May 30

    sql常用语句速查手册

     
    SQL语句先前写的时候,很容易把一些特殊的用法忘记,特此整理了一下SQL语句操作,方便写SQL时方便一点!


    一、基础

    1、说明:创建数据库
    CREATE DATABASE database-name
    2、说明:删除数据库
    drop database dbname
    3、说明:备份sql server
    --- 创建 备份数据的 device
    USE master
    EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
    --- 开始 备份
    BACKUP DATABASE pubs TO testBack
    4、说明:创建新表
    create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
    根据已有的表创建新表:
    A:create table tab_new like tab_old (使用旧表创建新表)
    B:create table tab_new as select col1,col2… from tab_old definition only
    5、说明:删除新表
    drop table tabname
    6、说明:增加一个列
    Alter table tabname add column col type
    注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
    7、说明:添加主键: Alter table tabname add primary key(col)
    说明:删除主键: Alter table tabname drop primary key(col)
    8、说明:创建索引:create [unique] index idxname on tabname(col….)
    删除索引:drop index idxname
    注:索引是不可更改的,想更改必须删除重新建。
    9、说明:创建视图:create view viewname as select statement
    删除视图:drop view viewname
    10、说明:几个简单的基本的sql语句
    选择:select * from table1 where 范围
    插入:insert into table1(field1,field2) values(value1,value2)
    删除:delete from table1 where 范围
    更新:update table1 set field1=value1 where 范围
    查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
    排序:select * from table1 order by field1,field2 [desc]
    总数:select count as totalcount from table1
    求和:select sum(field1) as sumvalue from table1
    平均:select avg(field1) as avgvalue from table1
    最大:select max(field1) as maxvalue from table1
    最小:select min(field1) as minvalue from table1
    11、说明:几个高级查询运算词
    A: UNION 运算符
    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
    B: EXCEPT 运算符
    EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
    C: INTERSECT 运算符
    INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
    注:使用运算词的几个查询结果行必须是一致的。
    12、说明:使用外连接
    A、left outer join:
    左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
    B:right outer join:
    右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
    C:full outer join:
    全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。

    二、提升

    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
    法一:select * into b from a where 1<>1
    法二:select top 0 * into b from a
    2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
    insert into b(a, b, c) select d,e,f from b;

    3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
    insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
    例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

    4、说明:子查询(表名1:a 表名2:b)
    select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)

    5、说明:显示文章、提交人和最后回复时间
    select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

    6、说明:外连接查询(表名1:a 表名2:b)
    select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

    7、说明:在线视图查询(表名1:a )
    select * from (SELECT a,b,c FROM a) T where t.a > 1;

    8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括
    select * from table1 where time between time1 and time2
    select a,b,c, from table1 where a not between 数值1 and 数值2

    9、说明:in 的使用方法
    select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)

    10、说明:两张关联表,删除主表中已经在副表中没有的信息
    delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

    11、说明:四表联查问题:
    select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

    12、说明:日程安排提前五分钟提醒
    SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5

    13、说明:一条sql 语句搞定数据库分页
    select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

    14、说明:前10条记录
    select top 10 * form table1 where 范围

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
    select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

    16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
    (select a from tableA ) except (select a from tableB) except (select a from tableC)

    17、说明:随机取出10条数据
    select top 10 * from tablename order by newid()

    18、说明:随机选择记录
    select newid()

    19、说明:删除重复记录
    Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

    20、说明:列出数据库里所有的表名
    select name from sysobjects where type='U'

    21、说明:列出表里的所有的
    select name from syscolumns where id=object_id('TableName')

    22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
    select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
    显示结果:
    type vender pcs
    电脑 A 1
    电脑 A 1
    光盘 B 2
    光盘 A 2
    手机 B 3
    手机 C 3

    23、说明:初始化表table1

    TRUNCATE TABLE table1

    24、说明:选择从10到15的记录
    select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id desc

    三、技巧

    1、1=1,1=2的使用,在SQL语句组合时用的较多

    “where 1=1” 是表示选择全部   “where 1=2”全部不选,
    如:
    if @strWhere !=''
    begin
    set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
    end
    else
    begin
    set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
    end

    我们可以直接写成
    set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere

    2、收缩数据库
    --重建索引
    DBCC REINDEX
    DBCC INDEXDEFRAG
    --收缩数据和日志
    DBCC SHRINKDB
    DBCC SHRINKFILE

    3、压缩数据库
    dbcc shrinkdatabase(dbname)

    4、转移数据库给新用户以已存在用户权限
    exec sp_change_users_login 'update_one','newname','oldname'
    go

    5、检查备份集
    RESTORE VERIFYONLY from disk='E:\dvbbs.bak'

    6、修复数据库
    ALTER DATABASE [dvbbs] SET SINGLE_USER
    GO
    DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
    GO
    ALTER DATABASE [dvbbs] SET MULTI_USER
    GO

    7、日志清除
    SET NOCOUNT ON
    DECLARE @LogicalFileName sysname,
            @MaxMinutes INT,
            @NewSize INT


    USE     tablename             -- 要操作的数据库名
    SELECT  @LogicalFileName = 'tablename_log',  -- 日志文件名
    @MaxMinutes = 10,               -- Limit on time allowed to wrap log.
            @NewSize = 1                  -- 你想设定的日志文件的大小(M)

    -- Setup / initialize
    DECLARE @OriginalSize int
    SELECT @OriginalSize = size
      FROM sysfiles
      WHERE name = @LogicalFileName
    SELECT 'Original Size of ' + db_name() + ' LOG is ' +
            CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
            CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
      FROM sysfiles
      WHERE name = @LogicalFileName
    CREATE TABLE DummyTrans
      (DummyColumn char (8000) not null)


    DECLARE @Counter   INT,
            @StartTime DATETIME,
            @TruncLog  VARCHAR(255)
    SELECT  @StartTime = GETDATE(),
            @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'

    DBCC SHRINKFILE (@LogicalFileName, @NewSize)
    EXEC (@TruncLog)
    -- Wrap the log if necessary.
    WHILE     @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
          AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName) 
          AND (@OriginalSize * 8 /1024) > @NewSize 
      BEGIN -- Outer loop.
        SELECT @Counter = 0
        WHILE  ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
          BEGIN -- update
            INSERT DummyTrans VALUES ('Fill Log') 
            DELETE DummyTrans
            SELECT @Counter = @Counter + 1
          END  
        EXEC (@TruncLog) 
      END  
    SELECT 'Final Size of ' + db_name() + ' LOG is ' +
            CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
            CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
      FROM sysfiles
      WHERE name = @LogicalFileName
    DROP TABLE DummyTrans
    SET NOCOUNT OFF

    8、说明:更改某个表
    exec sp_changeobjectowner 'tablename','dbo'

    9、存储更改全部表

    CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
     @OldOwner as NVARCHAR(128),
     @NewOwner as NVARCHAR(128)
    AS

    DECLARE @Name   as NVARCHAR(128)
    DECLARE @Owner  as NVARCHAR(128)
    DECLARE @OwnerName  as NVARCHAR(128)

    DECLARE curObject CURSOR FOR
     select 'Name'   = name,
      'Owner'   = user_name(uid)
     from sysobjects
     where user_name(uid)=@OldOwner
     order by name

    OPEN  curObject
    FETCH NEXT FROM curObject INTO @Name, @Owner
    WHILE(@@FETCH_STATUS=0)
    BEGIN    
     if @Owner=@OldOwner
     begin
      set @OwnerName = @OldOwner + '.' + rtrim(@Name)
      exec sp_changeobjectowner @OwnerName, @NewOwner
     end
    -- select @name,@NewOwner,@OldOwner

     FETCH NEXT FROM curObject INTO @Name, @Owner
    END

    close curObject
    deallocate curObject
    GO


    10、SQL SERVER中直接循环写入数据
    declare @i int
    set @i=1
    while @i<30
    begin
       insert into test (userid) values(@i)
       set @i=@i+1
    end
     

    CSS3介绍 第三章 文字特效

    //Srain翻译 
     
    CSS3系列文章的第三章将会深入探讨新的文字特效。毫无疑问,排版技术是设计一个布局最重要的部分之一。透过一个网页的字体可以吸引浏览者,以一种特别的表达方式,在不同的内容里面提供有冲击力、微妙的或辅助性的效果。
     
    CSS已经有很多的方法去设计文字,但仍局限于少数的领域里面,CSS3会提供一些途径去解除这些限制。
     
    所有的例子如下所示,可以在我们的CSS3例子页面找到。当然,很多的效果只能在最新的各种浏览器中呈现:
     
     
    文字阴影
     
    文字阴影听起来可能有点简单,但这完全取决于你怎样实现他们。当为这篇文章做实验的时候,我发现一些组合看起来比较可怕,有一些可以实现比较有吸引力的、奇妙的特效。阴影特效可以很好的用于标题,Matthias Kretschmann 的博客上面有一些非常好的例子。
    .text_shadow {
    color: #897048;
    background-color: #fff;
    text-shadow: 2px 2px 2px #ddccb5;
    font-size: 15px;
    }
    CSS3 Text Shadow
    自动换行
     
    目前,如果一行里面语句太长的话,会自动延伸到这个区域的外面,这种事情不是经常发生,但偶尔也会以外出现。新的语句包含能力允许你强制将文字包起来:即使这意味着把这个语句分开。这段代码难以置信的直接:
    .text_wrap {
    word-wrap:  break-word;
    }
    CSS3 Text Wrapping
     
    网页字体
     
    虽然这些不能都被列在“文字效果”里面,但我们还是简略的介绍一下。在你的页面里面应用任何字体,一个网页字体是一个简单的方法都会被浏览器自动下载。对于设计来说,这是一个革命性的变化,以前被广发支持的文字限制在10-15。当然,这些新功能也带来了版权方面的争论,因为只有经过授权的字体才可以使用。
     
    目前位置,只有最新版本的Safari(3.1)的浏览器才可以支持网页文字特效,Opera浏览器是另外一个将要能够支持的浏览器,毫无疑问的是,其他的也会紧跟其后,如果实现的一个例子:
     
    @font-face {
    font-family: 'Name of the new font';
    src: url('http://www.designshack.co.uk/fonts/font.ttf');
    }
    举几个页面已经仿照这种技术的几个例子。下面的例子,可以在CSS禅意花园的名单里面找到,所链接的版本只能在特定的浏览器中运行:
    CSS3 Web Fonts CSS3 Web Fonts
     
    结论
     
    很多CSS2欠缺的特征已经在这次升级中被弥补,这篇文章没有覆盖增加的文字特效的方方面面,如果你有兴趣的话,可以阅读关于文字模块的更多东西,所有这些补充都很不错,如果用的巧妙的话,可以大大加强页面的排版布局。
     
    这个系列接下来的文章将扩展到一些在CSS3中用户界面效果的增强,不要忘记看在线的例子。
     
     

    重返金山词霸的怀抱

    如果你知道现在有一种桌面翻译软件叫谷歌金山词霸的话,就去下载回来用用吧,比有道更好用一些,占用空间差不多,才20多M,界面也比有道设计的好。谷歌金山词霸不像金山词霸2007一样,不需要注册,块头也小了很多,还增加了网络解释等功能,也可以按ctrl+enter进行google搜索。
     
     
     
     
    jinshanciba
     
    顺便赞一下谷歌的博客搜索,写完文章才34分钟就可以搜到了。
     
     

    马云来了,我们该怎么办?

    //Srain
     
    本来公司的前途和命运不是我们这些作为员工所需要担心的,这是CEO们要做的事情,但毕竟公司的的发展同自己的前途还是有些关系的,而且一旦踏进这个行业,对互联网产生了兴趣,也不免时常会思考相关的问题,
     
    看到一条新闻马云:阿里巴巴将投入5000万美元建华南总部,广州的市长朱小丹亲自接见,可见重视之程度,阿里巴巴答应会在广州投资5000万美元建立华南总部,对于阿里巴巴来说,无疑又前进了一大步,这样就可以把整个网络市场从北到南贯穿起来了,我怀疑在不久的将来,阿里巴巴亦会在西部建立西部总部,我们相信,这只是时间问题,这样的话,阿里巴巴就完成了全国的布局,慧聪的发展空间还有吗?生意宝的发展空间还剩下多少?如若阿里巴巴再在它的国际站上做些功夫,价格再合理化一些,信用制度再完善一些,国外的推广再猛烈一些,它是有这个能力的,到时候ec21、中国制造网、环球资源网都会更加紧张了,至少现在来说,阿里巴巴的高收费还是给其余的B2B网站制造了一些机会,比如说我们的网站。
     
    在此我暂时不说我工作的是哪个网站,我们的网站也算是综合性的国际B2B网站了。如果说当年淘宝打败易趣是因为易趣收费,淘宝免费,如果说当年UC能有喘息的机会是因为QQ曾一度收费,那么我们现在几乎在走以免费来对抗收费的老路,至少从表明上看起来是。小的企业一般都会谈差异化竞争,但实施起来确实有些困难,没有钱就没人,没有人就没有好的创业好的思想,没有钱也没办法去实施这些啊,那么是不是有了钱就能解决问题,没钱就是等死呢?也不尽然!
     
    难度很大,但也不是没有机会,不然CEO也不会坚持这么久,中国也不会如雨后春笋般的出现这么多的B2B网站。资源的不断集中是大势,看看现在的世界就知道,其实是为数不多的大公司在控制着这世界的经济命脉,产业如是,大的企业如阿里巴巴只要少犯错甚至不犯错就会越来越大,其他的则逐渐走向消亡,但是终究不会死光光的。为什么?因为生存下来的找到了他们生存的方式和空间,虽然有时候这方式和空间是不稳定的。
     
    生存的方式?盈利的模式也,所有的商业行为中,盈利应该算是最重要的目的吧,但盈利的模式并不好找,而且是越来越不好找,但也不至于没有,甚至有时候会很多,就看你能否抓的到他,至于盈利的模式有哪些?就不是本文探讨的问题了。
     
    说了这么多,我想说的是,阿里巴巴来了,作为南方小公司的我们还是有机会生存下去的,只是这空间又被挤去了一些,如若不赶快发展的话,可能再无机会了。
     
     
    May 29

    水平细线制作方法

    //Srain
     
    做这些技术性不是太强的设计,方法在精不在多,一般掌握一种比较好的方法并能灵活应用就可以了,当我们知道了细边框的制作方法以后,就可以利用同样的方法再稍加变化后做类如水平细线的设计了,现在就拿水平细线来说明一下。
     
    首先,没有看过利用CSS定义制作细边框的同学先看一下这篇文章,因为下面将用到前面定义好的.border样式表。
     
    1.新建一条水平线(<hr/>)
    2.将这条线的高度设为0像素(size="0"),这跟前面用的表格边框都是0像素是一样的。
    3.去除水平线的阴影效果(noshade="noshade")
    4.应用前面定义好的CSS样式表.border(class="border")
     
    综合起来的代码就是
    <hr size="0" noshade="noshade" class="border"  />
    是不是很简单呢?赶快预览看看吧。如果你用的是Dreamweaver CS3网页制作工具的话,就可以在点选水平线后,在属性面板设置水平线的高度和去掉阴影的选框,然后在“类”里面选择border就可以了。
     
    别忘记了.border是我们已经定义好的:
    <style type="text/css">
    <!--
    .border {
     border: 1px solid #FF0000;

    }
    -->
    </style>
     这个时候的水平细线的颜色是红色的,可以通过改变#FF0000来改变它。

    利用CSS定义制作细边框

    //Srain

    定义CSS,新建一个新的样式表,名称为.border

    <style type="text/css">
    <!--
    .border {
     border: 1px solid #FF0000;

    }
    -->
    </style>

    上段代码的意思是边框(border)的宽度为1像素(px)的实线(solid),颜色为红色(#FF0000)

    在新建一个边框宽度为0像素的表格,并应用已定义的CSS样式表.border

    <table width="559" height="96" border="0" class="border">
      <tr>
        <td height="42"></td>
      </tr>
      <tr>
        <td></td>
      </tr>
    </table>

    这样我们就做了宽度只有1像素的细边框,我认为这是目前为止制作细边框的最好的方法了。

    当然,如果对代码不是很懂或者觉得代码比较复杂的同学可以利用Dreamweaver所见即所得的方法来实现,我以Dreamweaver CS3的版本来说明:

    1.在CSS面板右键选择“新建”弹出新建样式的对话框
    2.在新建CSS规则对话框中,选定“类”,“仅对该文档”,名称可以填上.border,点确定就可以进入详细设置了。
    3.选择.border的CSS规则定义的“边框”选项,样式下面选“实线”,宽度填1(注意是1像素),颜色选择红色,点击“确定”,就建好了一个样式表。
    4.回到Dreamweaver设计视图,选择已插入的表格,在属性栏中的类中选择“border”,保存。这样就成功了。

    是不是比较复杂呢?所以说,学习一些CSS语法对我们的设计师来说,还是很有用的,以后我们可以尝试着用CSS来做如圆角边框、阴影边框或者有渐变效果的表格填充。最近正在翻译CSS3的介绍文章,希望能给大家一些帮助。

    May 28

    CSS3介绍 第二章 边框

    //Srain 翻译
     
    作为CSS3介绍第二章,我们来看看边框。使用CSS的时候,我们最熟悉它的边框属性:它是一种结构化的内容,可以作用于图片,也可以改善页面结构。利用渐变、圆角、阴影和图片边框效果,CSS3将边框应用提升到一个新的等级。让我们来看看一些比较详细的CSS3使用的例子吧。
     
    所有的都会呈现在我们的CSS3例子页面。当然,很多都需要各种最新的浏览器支持。
     
     
    圆形的边框
     
    利用现有的CSS代码可以实现圆形的边框,不幸的是,虽然有很多方法,但没有一个是直接达到目的的。为图像创建的每个边框,往往需要另外添加。但如果使用CSS3,创建一个圆形边框则非常简单,它可以应用于每个角,也可以应用于单独的一个角,并且,很容易改变宽度和颜色。CSS的代码如下:
     
    .border_rounded {
    background-color: #ddccb5;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border: 2px solid #897048;
    padding: 10px;
    width: 310px;
    }
    Rounded CSS3 Borders
     
    渐变
     
    如果能正确的使用的话,渐变边框看起来比较有效果,这个代码复杂了一点,需要你去定义每个颜色的渐变。如下面代码所示:
     
    .border_gradient {
    border: 8px solid #000;
    -moz-border-bottom-colors:#897048 #917953 #a18a66 #b6a488 #c5b59b #d4c5ae #e2d6c4 #eae1d2;
    -moz-border-top-colors:  #897048 #917953 #a18a66 #b6a488 #c5b59b #d4c5ae #e2d6c4 #eae1d2;
    -moz-border-left-colors: #897048 #917953 #a18a66 #b6a488 #c5b59b #d4c5ae #e2d6c4 #eae1d2;
    -moz-border-right-colors:#897048 #917953 #a18a66 #b6a488 #c5b59b #d4c5ae #e2d6c4 #eae1d2;
    padding: 5px 5px 5px 15px;
    width: 300px;
    }
    Gradient CSS3 Borders
     
    方块阴影
     
    就目前来说,要加入阴影效果还是比较困难的,一个不错的方法就是,把它分几个区域,但同任何的效果一样,还是少用为妙。CSS的代码如下:
     
    .border_shadow {
    -webkit-box-shadow: 10px 10px 5px #888;
    padding: 5px 5px 5px 15px;
    width: 300px;
    }
    Shadow CSS3 Borders
     
    图形边框
     
    图形边框是个最有用的补充,我们期待发掘人们选择怎样使用它们。CSS可以重复使用,也可以扩展你所选择的图形边框。这样的CSS代码跟下面的有些类似(目前不同的浏览器都可以支持):
     
    .border_image {
    -webkit-border-image: url(border.png) 27 27 27 27 round round;
    }

    Image CSS3 Borders
     
    总结
     
    CSS3的边框是具有革命意义的,这些CSS3新增的东西,必将为你的设计工作节约大量的时间。它还将有很长的一段路要走,以后会简化布局和允许你创建有视觉冲击力的模块,甚至开始丢掉PhotoShop。
     
    这个系列接下来的文章中,将扩展到一个新的领域:文字特效。千万要记住去看我们的CSS3在线例子,点击这里查看CSS3例子页面。
     
     
    May 27

    CSS3介绍 第1章 CSS3是什么?

    //Srain翻译  对CSS还不是很熟悉,所以如果发现翻译过程中有谬误的话,欢迎批评指正,srain_liu@live.cn
     
    原作者:Design Shack
     
    此文章将分为几个章节,介绍一个建立在CSS2基础上的、新的CSS3标准。 我们将从最基础的部分开始,让你从从来没有听说过CSS3,到能够随时运用各种功能,并开始广泛运用它。

    CSS3是什么?

    css3提供了非常多新途径去改善你的设计工作,且做了不少重要的变化。 这第一个教程将给你一些利用这个标准创造新的可能性最基本的介绍。

    模块

    CSS3语言开发是朝着模块化发展的 以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括:

    • 盒子模型
    • 列表模块
    • 超连结方式
    • 语言模块
    • 背景和边框
    • 文字特效
    • 多栏布局


    点击查看完整的列表模块

    时间表

    几个模块现已完成,包括的SVG (可扩展矢量图形) ,媒介资源类型(Media Queries)和命名,其他的模块开发工作则仍在进行中。如果要给出一个预定的日期的话,非常困难,不管怎样,web浏览器将全面支持CSS3的各种新特点,一些新的探索已经开始了。针对不同浏览器,新的功能是逐渐应用的,仍然需要1-2年的时间,每一个新的模块才有可能被广泛应用。

    CSS3将给我带来哪些新的影响

    首先,我们希望,这是个正确的方式,CSS3将完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。对我们来说,CSS3主要的影响是将可以使用新的可用的选择器和属性,这些会允许你实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出现在的设计效果(比如说使用分栏)。这个系列接下来的文章,将分别讲解不同的CSS3模块规范和带来的新的效果,下一章将涉及到CSS3边框

    莎朗斯通也许不是个坏人

    跟当年国内为美国发生911事件喝彩的人们一样,只不过也是这方面的sb而已,就其人格本身,很难说是好是坏的。
     
    国内的媒体再次一拥而上,全部是截取一两句话狠狠的批评,能完整的叙述她原话的倒是没有,不过网民们不会在意这些,只是知道她在言语上伤害了咱们,咱们就要给她一个教训,甚至要求她道歉认错,就像CNN一样。
     
    中国人见不得别人批评的声音,当然公仆们也不愿意,于是鸦雀无声,于是天下太平,于是和谐社会。
     
    中国人见不得别人批评的声音,哪怕是批评我们的政府,都要拼死反抗。
     
    话说回来,莎朗斯通是不该把一个国家的灾难说成“有趣的事情”的,很傻很天真。
     
    但我们的国人什么时候才能让理智而不是情感占上风呢?
     
     
    May 26

    上帝、女娲、玉帝、如来及关公

    //Sain
     
    厌倦了关于圣经,关于上帝是否存在的争论,就像厌倦了同人争论爱党爱国等政治问题一样,又像经常被人问“你又做了什么”问题一样,逐渐有了很无聊的感觉了,愈是觉得无聊,愈是对改变别人改变世界感到无望,愈是想皈依基督,安静的信奉上帝好了。
     
    谈谈上帝、女娲、玉帝及关公
     
    上帝造人,女娲也造人,上帝是对照着自己的摸样造出了亚当,女娲则不然;上帝造人的目的是管理伊甸园,女娲只是因为好玩;上帝创造的是世界人,女娲创造的好像只有华夏人;上帝降灾难于他的人,女娲也曾借助妲己等一干妖精灭了商纣。比能耐,上帝>女娲的,为什么?因为圣经上说,上帝是万能的,可没有书说女娲是万能的。
     
    玉帝,玉帝同女娲的关系不甚清楚,但肯定的是如果中国人没发现世界有这么大的话,相信玉帝存在的比例比现在大很多,可惜,如鲁迅所说“夷人终究可恶”(他非贬义),打破了清政府的门,也打破了中国人几千年的信仰,中国这2000年的进步发展,外国的侵略还是有些大作用的。
     
    如来佛祖,估计玉帝都不是他对手,据说只有孙悟空的师傅菩提祖师可以与如来抗衡,但菩提祖师是世外高人,倒不像如来佛祖这么张扬。
     
    网上有这么一个问题:耶稣和佛祖哪个更厉害。只要你读过《圣经》,或者你知道圣经的一部分,就应该知道,这个问题是很白痴的,佛祖也是由人顿悟而来,而且是人他妈生的,耶稣虽然也是人他妈生的,但耶稣是神之子,也是同耶和华三位一体的,实力对比,从此可以一眼看出,总之耶和华大晒啦。
     
    至于,关公本不是神,传说是因为他的侠义才做到了神龛的位置上,不过,我是对他不感冒的,在北方的家庭中很少有关公的神位,一到南方就多见了。
     
     
    May 25

    自动清楚文本框文字内容

    //Srain
     
    做了一个简单的搜索框,鼠标点击文本框文字时,会自动清楚文本框初始值

    <script type="text/javascript">

    var bFlag=true;

    function clearTip(){

            var oTxt=document.getElementById("searchbox");

             if(bFlag==true){

               oTxt.value="";

               bFlag=false;

            }

    }

    </script>

    <form action="searchlist.asp" method="get" name="form1" target="_blank" id="form1">

    我要搜索

      <label>

      <input name="searchbox" type="text" id="searchbox" onfocus="clearTip()" value="输入你要搜索的关键词,如:中山

    " size="50" />

      </label>

      <label>

      <input type="submit" name="submit" id="submit" value="提交" />

      </label>

     

    </form>

     

     
    可以让搜索框里面的文字变为浅灰色来改善效果
    定义CSS

    <style type="text/css">

    <!--

    .STYLE3 {color: #CCCCCC}

    -->

    </style>

     

    再利用它来改变文本的颜色,来改一下上面的代码

     

    <input name="searchbox" type="text" id="searchbox" onfocus="clearTip()"  span class="STYLE3" value="输入你要搜索的关键词,如:中山

    " size="50" /></span>

     

    OK了,来看看最终的效果吧

     

     

    May 24

    结果了一个客户

    一个修改网站的客户,让我帮她搞电脑不说,还限制我的时间。
     
    Dear Rose:
     
    我想我没办法和你合作下去了,因为我感觉到你在干涉我的私生活,你要知道,我帮你做事,是因为你付钱,我出技术,我不是你的员工,你没有权利要求我什么时候在,什么时候不在,事实上,连我的老板都不会问我去哪里了,有什么计划之类的,只要我在我答应的时间里面完成工作就行了,还有你中午迟到了10分钟,是在耽误我的时间,不过ok,我想这一切结束了。
     
                                      Srain
                             2008年5月24日

    距离

    你大声的呼喊,却再听不到对方的回应了,这就是距离。

    准备前进还是准备撤退?

    前面的路不明确,后面的路也不清楚,这个时候最迷茫,是继续前进还是把精力放在安全撤退上?who can give me a answer.....
    May 23

    连接Access 2007数据库的方法

    //Srain
     
    microsoft office access 2007比2003的版本在操作性和功能上都有不小的改善,详情请看access帮助中心“Microsoft Office Access 2007 中的新增功能”章节,就我个人来说,因为工作性质的原因,很少会用到2003版本的access,最近想学习点编程和网页制作,才开始看看access怎样使用的,当然,我装的是office 2007,新的东西总是很吸引人的嘛。废话少数,怎样用Dreamweaver动态页面连接access2007的数据库呢?如果直接用以前的那种方法连接的话,会出现无效的数据库文件等错误,因为access 2003数据库格式是.mdb,而access 2007的格式是.accdb。现在提供三种方法给大家:
     
    方法1.Access 2007转换为access 2000-2003数据库,再根据Dreamweaver中创建数据库的连接中方法操作即可,要注意的是,因为有些access 2007的功能是  2003版本所不具备的,所以这种转换可能造成部分数据的丢失。转换的方法如下,word、execl、ppt等也可以用同样的操作转换。
     
     
    方法2.ODBC数据源连接,这种方法也可以连接access 2007数据库,问题是空间是在别人的主机上,而你又没有管理权限的时候,这种方法就失效了。
    第一步,在控制面板-管理工具中,打开ODBC数据源管理器,转到“系统DSN”选项
     
     
    第二步 点击“添加”添加数据源驱动程序
    access3
     
    第三步 输入数据源名和说明,选择数据库
    access4
    设置好以后,按“确定”
    最后用dreamweaver应用程序面板-数据库-数据源名称(DSN)选定设置好的数据源连接即可
     
    方法3(推荐).自定义连接字符串连接
    因为access 2007的数据库格式与2003的版本有所不同,所以数据提供者由jed db4.0变为Microsoft.ACE.OLEDB.12.0 了,再用下面方式的方法连接,是不行的
     
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/newstest.accdb")
    把上面的Provider(数据提供者)修改Microsoft.ACE.OLEDB.12.0 就可以了,是不是很简单呢?
    "Provider = Microsoft.ACE.OLEDB.12.0 ; Data Source = "& Server.MapPath ("/newstest.accdb")
     
    总结,到目前为止,我认为第三种方法连接的方法最简单易行,大家也可以按照同样的方法修改“自定义连接字符串”的其他方式。
     
     
     
     
     
     
     

    May 21

    Dreamweaver中创建数据库的连接

    //Srain
     
    Dreamweaver中ASP有最少有两种方法可以实现与数据库的连接(windows XP系统下,ACCESS 2003数据库
     
    1.利用数据源名称来连接(DSN连接),也就是利用系统中的ODBC管理器来设置数据源名称,达到连接到需要的数据库目的,如果把网页放在别人的主机上,是没办法这样用的。
    2.自定义连接字符串,一般成为DSN_less,就是设置连接的字符串驱动程序,直接通过通过ODBC连接到数据库。
     
    对于只是简单使用dreamweaver连接数据库的同学来说,上面的DSN、ODBC的概念不是特别的重要,掌握方法就可以了,我们一般使用第二种方法连接数据库,下面就介绍一下方法,还是不懂的同学可以发email到srain_liu@live.cn询问探讨。
     
    1.打开Dreamweaver cs3,新建一空白asp页面(静态页面不可以连接数据库,所以要用动态asp/php/...等页面),打开左侧的“应用程序”面板,转到“数据库”选项,如下图
    2.点击“+”号,选择“自定义连接字符串”,在弹出的对话框中,“连接名称”处写上你的连接名称,对于命名,没有特别的规定,简单易懂就可以了,譬如我可以用connTest表明这个连接是连接到测试数据库;在“连接字符串”处输入下面的连接语句:
     
    Driver={Microsoft Access Driver (*.mdb)};DBQ=数据库路径        注:数据库路径要用绝对路径,如D:\test\test.mdb
    Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =数据库绝对路径
     
    点击“测试”如果出现“成功创建连接脚本”的提示,则说明连接成功。如下图
     
    注:当然也可以用相对路径来连接
    "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "& Server.MapPath ("/test/test.mdb")
     
    3.如果我们要使用数据库里面的资源,在创建数据库连接后还需要绑定记录集,下一篇文章会介绍到,到时候我们就可以将数据库里面的资源,显示在页面上或者做一些动态的行为了。
     
     
     
    May 20

    国殇日,网站怎样变灰色

    //Srain
     
    在body标签后面加上CSS滤镜语句style="filter:gray"就可以了
    <body style="filter:gray"....
    附:CSS中的filter常用滤镜属性及语句大全(转)
    滤镜说明:
    Alpha:设置透明层次.
    blur:创建高速度移动效果,即模糊效果.
    Chroma:制作专用颜色透明.
    DropShadow:创建对象的固定影子.
    FlipH:创建水平镜像图片.
    FlipV:创建垂直镜像图片.
    glow:加光辉在附近对象的边外.
    gray:把图片灰度化.
    invert:反色.
    light:创建光源在对象上.
    mask:创建透明掩膜在对象上.
    shadow:创建偏移固定影子.
    wave:波纹效果.
    Xray:使对象变的像被x光照射一样.
    1.滤镜:alpha
    语法:
    STYLE="filter:Alpha(Opacity=opacity,FinishOpacity=finishopacity,Style=style,
    StartX=startX,StartY=startY,FinishX=finishX,FinishY=finishY)"
    说明:
    Opacity:起始值,取值为0-100,0为透明,100为原图.
    FinishOpacity:目标值.
    Style:1或2或3
    StartX:任 ?
    StartY:任意值
    例子:filter:Alpha(Opacity="0",FinishOpacity="40",Style="2")
    2.滤镜:blur
    语法:
    STYLE="filter:Blur(Add=add,Direction=direction,Strength=strength)"
    说明:
    Add:一般为1,或0.
    Direction:角度,0-315度,步长为45度.
    Strength:效果增长的数值,一般5即可.
    例子:filter:Blur(Add="1",Direction="45",Strength="5")
    3.滤镜:chroma
    语法:
    STYLE="filter:Chroma(Color=color)"
    说明:
    color:#rrggbb格式,任意.
    例子:filter:Chroma(Color="#FFFFFF")
    4.滤镜:DropShadow
    语法:
    STYLE="filter:DropShadow(Color=color,OffX=offX,OffY=offY,Positive=positive)"
    说明:
    Color:#rrggbb格式,任意.
    Offx:X轴偏离值.
    Offy:Y轴偏离值.
    Positive:1或0.
    例子:filter:DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1")
    5.滤镜:FlipH
    语法:
    STYLE="filter:FlipH"
    例子:filter:FlipH
    6.滤镜:FlipV
    语法:
    STYLE="filter:FlipV"
    例子:filter:FlipV
    7.滤镜:Glow
    语法:
    STYLE="filter:Glow(Color=color,Strength=strength)"
    说明:
    Color:发光颜色.
    Strength:强度(0-100)
    例子:filter:Glow(Color="#6699CC",Strength="5")
    8滤镜:Gray
    语法:
    STYLE="filter:Gray"
    例子:filter:Gray
    9.滤镜:Invert
    语法:
    STYLE="filter:Invert"
    例子:filter:Invert
    10.滤镜:Mask
    语法:
    STYLE="filter:Mask(Color=color)"
    例子:filter:Mask(Color="#FFFFE0")
    11.滤镜:Shadow
    语法:
    filter:Shadow(Color=color,Direction=direction)
    说明:
    Color:#rrggbb格式.
    Direction:角度,0-315度,步长为45度.
    例子:filter:Shadow(Color="#6699CC",Direction="135")
    12.滤镜:Wave
    语法:
    filter:Wave(Add=add,Freq=freq,LightStrength=strength,Phase=phase,Strength=strength)
    说明:
    Add:一般为1,或0.
    Freq:变形值.
    LightStrength:变形百分比.
    Phase:角度变形百分比.
    Strength:变形强度.
    例子:filter:wave(Add="0",Phase="4",Freq="5",LightStrength="5",Strength="2")
    13.滤镜:Xray
    语法:
    STYLE="filter:Xray"
    例子:filter:Xray

    14.颜色变化
    语法:
    filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr='#B5CCFA', EndColorStr='#B5CCFA');