Posts Tagged ‘链接’

详解链接的rel与target区别

星期三, 06月 4th, 2008

target=”_blank”是否de存在是否有必要我想目前还有很多正处在一种盲区.我查阅了相关de文献,发现其实情况并非是我所想de那样,事实上target=”_blank”并非是不符合标准de,而用rel与JSde解决方案也是没有必要de,因为这是个误区,只要我了解了rel与targetde真正含义我就清楚了其实这里本不应存在争议.下面我将我通过查阅文献所得到de知识与大家分享,我先来了解一下target与relde含义:
target ,允许指定在什么位置显示已经选择de超链接内容.也就是说链接de内容将在什么样de窗口被显示.target de属性值有四个保留de名称,分别是:_blank,_self,_parent,_top.其中_blankde意思是浏览器总在一个新打开de、未命名de窗口中载入target=”_blank”链接de文档.这里大家也许会很不理解“未命名”是什么意思.事实上target 是可以给新打开de窗口赋一个ID,例如:target=”name” 这就表明通过target=”name”链接载入de文档将会在一个叫”name”de窗口显示.如果没有ID为”name”de窗口,那么浏览器就会新建一个名为”name”de窗口来显示链接文档.如果当前窗口deID就是”name”那么这个链接文档就会在当前de窗口中替换原有de内容显示出来.而_selfde意思其实就是当前文档,<a>de默认目标就是_self,这个属性值一般来说是用不到de._parent是使链接文档在父级窗口显示,这个属性值只在框架结构中使用,如果身本就是顶级框架,那么其作用与_self相同._top同样是应用在框架中de,但是他de效果是清除框架来显示目标文档.这对于从框架结构转向无框架结构是很有作用de.
现在我知道了,target 是一目标显示de属性与浏览器密切相关de.那么rel又是什么呢, 为什么很多人把他当作是target de替代属性呢?下面我就来认识一下rel.其实不只有一个rel还有一个与之对应de属性叫rev,这两个属性de意思分别是:从源文档到目标文档de关系;从目标文档到源文档de关系.这里de源文档可以理解为链接所处在de当前文档,而目标文档也就是这个链接将要打开de文档.这下我应该清楚了,其实rel与rev是一种文档之前de链接关系,而并非是与浏览器相关de如何显示目标文档de属性.
那么rel与rev有哪些关系呢?下面将一一列取并解释其中de含义:
next,链接到下一个文档;
prev,链接到前一个文档;
head,链接到集合中de顶级文档;
toc,链接到集合de目录;
parent,链接到源上面de文档;
Child,链接到源下面de文档;
index,链接到此文档de索引;
glossary,链接到此文档de术语表;
其中next与prev是一组.表明了当前文档与目标文档之前de关系是同级de关系,可以写成这样<a href=”movie_002.htm” rel=next rev=prev>.head与toc可以形成一个组合,表示者是由目录链接到最终de文档,或是由文档链接到目录.parent与child是一组,表示着由当前de文档链接到父级文档或是子级文档.而index与glossary可以与head分别组合,形成由文档到索引,或是由索引到文档;文档到术语表或是术语表到文档.
也许这样讲可能还是不很清楚,下面举个例子:我这里整理了一个电影文档资源,那么我需要对这些资源进行分类,我把电影分成:武侠片、战争片、爱情片、恐怖片、纪录片.那么我在电影根目录需要链接到下面de子类de时候那么链接de关系应该是:rel=child rev=parent ,而如果当前是武侠片de频道页,我需要转爱情片频道或是其它频道时,那么链接关系就应该是:rel=next rev=prev,当我由一个武侠片链接到“卧虎藏龙”这部电影de文档时链接de关系应该是:rel=head rev=toc,当由“卧虎藏龙”链接到索引de时候链接关系又变成了:rel=index rev=head.
由于目前deCSS还不能抓取rel与revde属性值,所以没有办法给不同关系de链接提供不同de样式,所以现在rel与rev只是用来使得网页de语义性更为完善.

html链接与文本标签们

星期三, 06月 4th, 2008

我都知道网页de最大特性是“链接”,是de这个在我现在看起来习以为常de东西,让我de生活发生了巨大de变化,是这个小小de标签成就了这个世界上无数de互联网天才.那么让我看看这个标签de真面目:
<a href=”URL” >文本区</a>
就是这个简单de标签,其实大家都在使用,用Dreamweaver可以很简单de添加链接.但是尽管如此我还是需要知道Ade属性是什么,这样才能更好de利用它.A是个内联标签,也就是说它本身并不会产生分行.他是流于文本之中de无素.那么我都知道内联元素是不能包含块元素de.那就是说在A中不能包含段落、DIV等这些块级de元素.那么您工作中是否有这样de情况呢?是否在A里加了无数de块级标签呢?那从现在开始改掉这个坏习惯,这样不光可以避免一些没必要deBUG问题,同时也能给GOOGLE等这些搜索引擎一个好印象,多点印象分.当然除此之外振之还推荐在大家伙在A中加入titile属性.例:
<a href=”URL” title=”这可用以解释或是显示完整de文本内容”>文本区</a>
为什么这么做呢,我这里有这样一篇文章《当标题不能显示完整de时候》,大家可以看一下,这只是加title属性其中一个小小de用处,但是作用非常有效.
链接标签中dehref=“URL”这个URL是个非常强大de东西,当然这不是我这个专栏de内容,但是也非常推荐读者们可以认真阅读一下相关de知识.我从 百度百科 中找到了相关文档,请大家 点击阅读 .关于链接就暂时只讲这么多,如有什么疑问请通过文后de联系信息与我联系或是在线给我留言.
标题几乎是所有文章都会有de要素,也是我用以识实与索引文章de重要元素.我通过标题去感知文章内de核心.那么您知道吗?合理使用标题标签会让您de文章更受关注.我都知道XHTML给我提供了h1~h6,六个标题标签,那么我如何分配这六个标题标签de使用呢?下面给出一些建议:h1,在浏览器中显示最大,那么自然用来表示最大de标题,对于一个网站来说哪个标题才是最大de?是LOGO,我通常会在网站de最前面先标注这个网站de名称.所以h1就用来放LOGO,当然如果您de网站没有LOGO,只有一个网站名称,那也可以.当然振之是不推荐在大家在h1中放个图片.我完全可以通过CSS来实现以图换字.并且推荐网页中h1只出现一次.
当h1找到了专用de功能,那么担任内容标是,或是基它标题de重担就要放在另外几个标题标签上了.在余下de几个标题中h5与h6在浏览器默认显示字体是小于正常文本字体de.那么推荐h5与h6只作为免责声明或是版权通告来使用.这样即表明重要性,又不会太过明显影响阅读.对于标题标签de使用尽可能de注意一下他们之间de等级关系.当然标题de使用还是需要根据实际使用来决定.这里只是给出个建议.标题标签是块线元素,但是他并不能再包含块级元素了,只能包含内联de元素,比如链接、图像,换行之类de.记得有个朋友前两天在文章中提到过关于标题de内容,但是写法就有错了,他把链接写在了H1标签de外面,把H1包起来了,这样de写法是不推荐de.也不符合标准思维容易给以后de学习产生不好导向.
我de文章难免会有错误de地方,那么有错就要改,但是有时候我需要告诉读者这段是被删除de但是又能让读者看到.那么删除标签de作用就产生了.以前我会使用<s></s>或是<strike></strike>来得到一个删除线de效果.但是这仅表是一个删除线de效果,语义上没有DEL来得更为明确,所以这里我要告诉大家放弃以前de方式,采用<del></del>这个标签.同样能表达我需要de效果,并且意义更为直接明确.那么除了删除有时我还需要对删除de部分作出一些添加与修改.那么时候这个标签就非常有作用了那就是插入标签<ins></ins>.相信不用我说大家也知道如何使用这两个标签,但是千万别忘记了给这两个标签加上两个重要de属性:cite与datetime.解释与时间.解释不用说了,只要用文字注明为什么要删除或是为什么要插入就可以了.但是这个时间需要明确一下格式.严格de格式是:YYYY-MM-DDThh:mm:ssTZD.呵呵与我平时用de差不多但是有区别,其中T是表示时间段开始de必需字符,而TZD则是表示时区,Z是表是格林威治标准时间.一秀de写法是:2008-03-25T14:26:22Z
在所有de标签中有两上标签是样式标签,但是却没有被禁用,因为这两个标签所表述de内容很特别,上下标,<sup>上标</sup>,<sub>下标</sub>.
这两个标签用得到机率比较小,但是上标应该还是会常用到de,比如温度中de摄氏度de上de小圆圈,当然现有有专业de字符对应“℃”,还有我常看到书中de脚注上标[1].
hr,分平分隔线,这个标签与换行标签只要注意标签de写法就可以了<hr /><br />
关于文本部分de标签就讲到这里,当然标签可能还有很多,但是一些不推荐使用de,不常用de,这里就不再推荐,有兴趣de可以搜索一下相关de内空阅读一下即可.下一篇将引入CSS,一点点de美化我de文档.

CSS:自定多姿多彩的网页链接下划线

星期三, 06月 4th, 2008

CSS本身没有直接提供变换HTML链接下划线de功能,但只要运用一些技巧,我还是可以让单调de网页链接下划线变得丰富多彩.

  一、基本原理

  首先,自定义HTML链接下划线de第一步是创建一个图形,在水平方向重复放置这个图形即形成下划线效果.如果要显示出下划线背后de网页背景,可以使用透明de.gif图形.

  其次,如果下划线图形de高度较大,则必须适当增加文本de高度,使得一行文本de底部与下一行文本de顶部之间有较大de空间,例如p { line-height: 1.5; }.

自定义链接下划线示例

  第三,为显示出自定义de下划线,必须隐藏默认de下划线,即a { text-decoration: none; }.

  第四,为链接元素设置下划线图形,构造出自定义de下划线.假设下划线图形是underline.gif,则设置下划线图形deCSS相关代码为a { background-image: url(underline.gif); }.

  第五,我要让下划线图形在水平方向反复出现,但不能在垂直方向重复出现,否则它将被隐藏到文本de背后.要求下划线只在水平方向重复出现de相关代码为:a { background-repeat: repeat-x; }.

  第六,为保证图形出现在链接文字de下方(不管字体de大小),用background-position属性将图形放在链接元素de底部.对于箭头之类de下划线图形,可能还要考虑图形在水平方向de对齐方向.假设要将下划线图形放在右下角,CSS相关代码为:a { background-position: 100% 100%; }.

  第七,为了在链接文本de下方给自定义图形留出空间,必须加入适当de空白.下划线图形相对于链接文字de具体位置与文字de大小有关,但一般而言,可以先让底部空白等于下划线图形de高度,必要时再作调整.例如:a { padding-bottom: 4px; }.

  第八,由于下划线图形放在链接元素de底部,必须保证链接不折行(如允许链接跨越多个行,则只有下面一行de链接文本下面会有自定义de下划线).用CSSdewhite-space属性可以防止链接文字折行,即a { white-space: nowrap; }.

  综上所述,为链接元素定义CSS样式属性de完整例子如:

  a {

   

text-decoration: none;

   

background: url(underline.gif) repeat-x 100% 100%;

   

padding-bottom: 4px;

   

white-space: nowrap;

  

}

  如果要让自定义下划线只在鼠标停留时出现,只要把原来直接设置在链接元素上deCSS background属性改到:hover ,例如:

  a {

   

text-decoration: none;

   

padding-bottom: 4px;

   

white-space: nowrap;

  

}

  a:hover {

   

background: url(underline.gif) repeat-x 100% 100%;

  

}

  二、实例欣赏

  假设有两个下划线图形diagonal.gif(波纹线)、flower.gif(花朵)前者de高、宽是3、9,后者de高、宽是11、15.下面是一个设置两种下划线de完整实例:

自定义链接下划线举例

  网页源相关代码如下:

  

注:diagonal.gif 和 flower.gif已经先拷贝到网页所在de同一目录下.

  <html>

  

<head>

  

<title>ex</title>

  <style type="text/css">

  a#example1a {

  

text-decoration: none;

  

background: url(diagonal.gif) repeat-x 100% 100%;

  

white-space: nowrap;

  

padding-bottom: 2px;

  

}

  a#example1b {

  

text-decoration: none;

  

white-space: nowrap;

  

padding-bottom: 2px;

  

}

  a#example1b:hover {

  

background: url(diagonal.gif) repeat-x 100% 100%;

  

}

  a#example2a {

  

text-decoration: none;

  

background: url(flower.gif) repeat-x 100% 100%;

  

white-space: nowrap;

  

padding-bottom: 10px;

  

}

  a#example2b {

  

text-decoration: none;

  

white-space: nowrap;

  

padding-bottom: 10px;

  

}

  a#example2b:hover {

  

background: url(flower.gif) repeat-x 100% 100%;

  

}

  –>

  

</style>

  

</head>

  <body>

  <p>实例:</p>

  

<p> <a href="#" id="example1a">波纹线静态下划线</a>,

  

<a href="#" id="example1b">鼠标停留时出现de波纹线</a>.</p>

  

<p> <a href="#" id="example2a">花朵静态下划线</a>,

  

<a href="#" id="example2b">鼠标停留时出现de花朵下划线</a>.</p>

  </body>

  

</html>

调整CSS类型的顺序改变链接翻滚效果

星期三, 06月 4th, 2008

您也许已经意识到,您可以通过指定每一键接de不同风格以建立CSS翻滚效果,这些链接包括普通de链接link (normal), 访问,翻转,以及激活.并且,您可能也知道CSS类型de顺序可以产生效果上de差别,CSS相关代码后顺序de风格将会取代针对于相同元素de前顺序de风格.建立翻滚效果de类型顺序显得相当重要.
现在让我看看如何安排链接状态de类型在不产生冲突de情况下支持正常de翻滚效果,并且如何重新安排这些类型顺序以获得不同de翻滚效果.

链接状态

典型deCSS翻滚效果依赖于超链接中四个状态之一de独立类型.可以建立附带CSS预先类de<A>(超链接)类型以指定链接状态:

a:link——常规,非访问超链接

a:visited——访问超链接

a:hover——访问者操作鼠标通过时de链接

a:active——点击链接

为了能够使典型deCSS翻滚效果正常工作,CSS相关代码中deCSS类型顺序显得非常重要,无论它是一个外部类型表格或者是嵌入在HIML页标题栏中de类型规则.

a:link类型出现de时间为最早,因为它可应用于所有de链接.a:visited类型排第二,它将取代任何链接dea:link格式.(如果a:link类型紧跟着de是a:visited,a:link可能会取代a:visited类型.)其次是a:hover类型,此类型只应用于访问鼠标下de链接.最后是a:active,所以,当链接被点击时,它可以取代所有其它de类型.

a:link {

color: #0000FF;

text-decoration: underline;

font-weight: normal;

font-style: normal;

}

a:visited {

color: #3399FF;

text-decoration: underline;

background-color: #FFFFFF;

font-weight: normal;

font-style: italic;

}

a:hover {

color: #0000FF;

text-decoration: underline;

background-color: #FFFF00;

font-weight: bold;

font-style: normal;

}

a:active {

color: #FF0000;

text-decoration: none;

background-color: #CCCCCC;

font-weight: bold;

font-style: normal;

}

在CSS相关代码中de类型顺序确定了每一种类型如何取代其它de类型,即更多de类型可以应用到特定de元素.正常情况下,a:hover类型处于a:link和a:visited类型之后,所以hover状态de类型可以应用于常规和访问de链接.但是,它也并非必须遵循这一方式,您可以改变类型顺序实现不同de效果.
假设您想在非访问链接中使用翻滚效果,但不想影响到其它访问链接,您或许想到通过相关代码来处理这种外形上改变,然而您所要做de是重新组织CSS相关代码.

从访问链接中移除翻滚效果,可以通过很简单地移除a:visited类型.

注意,a:visited类型中包含指定所有与a:hover相同属性de规则,否则,当访问者de鼠标通过一个访问链接时,没有被a:visited类型取代de任何a:hover类型属性将会继续再现.

来源:网页教学网

利用CSS,链接下划线也玩自定义

星期三, 06月 4th, 2008

  原文链接:CSS Design: Custom Underlines

  由 A List Apart 杂志及作者授权翻译.(Translated with the permission of A List Apart Magazine and the author[s].)

  说明:文章中“[补充]”内容系译者所补充添加(来自 CSS 2.0 中文手册),目de是方便读者理解相关内容.

  虽然网页设计师通常有大量de方法控制文档如何呈现,但是基本deCSS不能为页面中链接下方de下划线样式提供很多选择.不过只需一点小技巧,您就能获得链接样式显示方式de创作控制.

  自定义下划线给一些合适de网站以新de创作机会.自定义下划线还能够被用于为包含在同一个页面中de不同链接提供额外de视觉线索.

开始

  您应该从为您下划线创建图形开始.该图将会水平de重复,而如果您希望(网页)背景能够完全显示de话,您需要创建一个透明de.gif文件.

  如果您de下划线图形有几像素高,那么您应该增加de文本deline-height(行距),以增加上一行底部与下一行顶部de之间de空间.

p { line-height: 1.5; }

————————————————-

[补充]

语法:

  line-height : normal | length

取值:

  normal : 默认值.默认行高
  length : 百分比数字 | 由浮点数字和单位标识符组成de长度值,允许为负值.其百分比取值是基于字体de高度尺寸.请参阅 长度单位

说明:

  检索或设置对象de行高.即字体最底端与字体内部顶端之间de距离.
  行高是字体下延与字体内部高度de顶端之间de距离.为负值de行高可用来实现阴影效果.
  假如一个格式化de行包括不止一个对象,则最大行高会被应用.在这种情况下,此属性不可以为负值.
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 lineHeight .

————————————————-

  在能为链接创建自定义下划线之前,我需要移除已经存在de下划线:

a { text-decoration: none; }

————————————————-

[补充]

语法:

  text-decoration : none || underline || blink || overline || line-through

取值:

  none : 默认值.无装饰
  blink : 闪烁
  underline : 下划线
  line-through : 贯穿线
  overline : 上划线

说明:

  检索或设置对象中de文本de装饰.
  有 href 特性de a ,以及 u , ins 对象默认值为 underline .
  对象 strike , s , del ,默认值是 line-through .
  假如 none 值在属性声明de最后,所有de先前de其他取值都会被清除.例如,声明 text-decoration: underline overline blink none 等于声明 text-decoration: none .
  假如对象没有文本(如 img 元素)或者是空元素(如:), 此属性不会发生作用.
  假如您设置 body 对象de此属性值为 none , a 对象将依然保持其原有de下划线样式.除非您针对 a 对象声明此属性值.
  指定块对象de此属性将影响其所有内联子对象.而此影响一旦发生,块对象容器最终会受到影响.
  在IE4 中可用de值为 overline 和 blink .虽然 blink 值被提供,但它不会被作用.
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 textDecoration .

————————————————-

  为了创建自定义de下划线,我为链接元素设置背景图像:

a { background-image: url(underline.gif); }

————————————————-

[补充]

语法:

  background-image : none | url ( url )

取值:

  none : 默认值.无背景图
  url ( url ) : 使用绝对或相对 url 地址指定背景图像

说明:

  设置或检索对象de背景图像.
  当背景图像与背景颜色( background-color )都被设定了时,背景图片将覆盖于背景颜色之上.
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 backgroundImage .

————————————————-

  我希望这个图像在文本底部顺着水平方向重复而不是垂直方向,否则它就将显示在链接文本自身de后面.我限制背景图像沿着X轴重复:

a { background-repeat: repeat-x; }

————————————————-

[补充]

语法:

background-repeat : repeat | no-repeat | repeat-x | repeat-y

取值:

repeat : 默认值.背景图像在纵向和横向上平铺
no-repeat : 背景图像不平铺
repeat-x : 背景图像仅在横向上平铺
repeat-y : 背景图像仅在纵向上平铺

说明:

  设置或检索对象de背景图像是否及如何铺排.必须先指定对象de背景图像( background-image ).
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 backgroundRepeat .

————————————————-

  不管字体de大小如何,为了保证我de图像都出现在链接文本de下面,我将要使用background-position(背景定位)属性定位图像至链接元素de底部.对于某些背景图形,例如箭头,对图像对齐元素de哪一边,您或许有自己de偏好.就我这个例子而言,我将背景置于底部de右边:

a { background-position: 100% 100%; }

————————————————-

[补充]

语法:

  background-position : length || length
  background-position : position || position

取值:

  length : 百分数 | 由浮点数字和单位标识符组成de长度值.请参阅 长度单位
  position : top | center | bottom | left | center | right

说明:

  设置或检索对象de背景图像位置.必须先指定 background-image 属性.
  该属性定位不受对象de补丁属性( padding )设置影响.
  默认值为: 0% 0% .此时背景图片将被定位于对象不包括补丁( padding )de内容区域de左上角.
  如果只指定了一个值,该值将用于横坐标.纵坐标将默认为 50% .如果指定了两个值,第二个值将用于纵坐标.
  如果设置值为 right center ,因为 right 作为横坐标值将会覆盖 center 值,所以背景图片将被居右定位.
  对应de脚本特性为 backgroundPosition .

————————————————-

  为了给链接文本正文de自定义下划线图形创建空间,我将增加一些padding(填充).依赖于所使用字体de大小,下划线图形de精确位置将会相对于链接文本de基线发生改变.建议您从bottom-padding开始,与下划线图形高度同高,调整以适合于您de需要:

a { padding-bottom: 4px; }

————————————————-

[补充]

语法:

  padding-bottom : length

取值:

  length : 由浮点数字和单位标识符组成de长度值 | 或者百分数.百分数是基于父对象de宽度.不允许负值.

说明:

  检索或设置对象底边de内补丁.对于 td 和 th 对象而言默认值为 1 .其他对象de默认值为 0 .
  在IE5.5 中此属性支持内联对象使用.而在此前de版本中,内联要素要使用该属性,必须先设定对象de height 或 width 属性,或者设定 position 属性为 absolute ,或者设定 display 属性为 block .
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 paddingBottom .

————————————————-

  因为下划线图形是定位于链接元素de底部,所以我需要保证链接不能横跨多行(如果他们被允许跨越多行,那么只有最低de一行链接文本显示自定义下划线).我将使用CSSdewhite-space属性禁止链接文本换行.

a { white-space: nowrap; }

————————————————-

[补充]

语法:

  white-space : normal | pre | nowrap

取值:

  normal : 默认值.默认处理方式.文本自动处理换行.假如抵达容器边界内容会转到下一行
  pre : 换行和其他空白字符都将受到保护.这个值需要IE6 或者 !DOCTYPE 声明为standards-compliant mode 支持.如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使用,但是不会发生作用.结果等同于 normal .参阅 pre 对象
  nowrap : 强制在同一行内显示所有文本,直到文本结束或者遭遇 br 对象.参阅 noWrap 属性

说明:

  设置或检索对象内空格字符de处理方式.
  空格字符,像换行,空格,TAB,在HTML文档中默认de是被忽略de.当此属性设置为 normal 或者 nowrap 时,您可以使用不换行空格de命名实体 来添加空格,用 br 元素来添加换行.
  此属性对您使用文档对象模型(DOM)操作de内容de影响与其对IE显示内容de影响一样.
  此属性作用于块对象.
  此属性对于 currentStyle 对象而言是只读de.对于其他对象而言是可读写de.
  对应de脚本特性为 whiteSpace .

————————————————-

  链接元素de所有CSS属性可以合并为:

a {
text-decoration: none;
background: url(underline.gif) repeat-x 100% 100%;
padding-bottom: 4px;
white-space: nowrap;
}

  如果您想自定义下划线de效果只在鼠标滑过链接时出现,只需设置CSS背景属性为:hover伪类,取代直接设置于链接元素上de样式即可.

a {
text-decoration: none;
padding-bottom: 4px;
white-space: nowrap;
}

a:hover {
background: url(underline.gif) repeat-x 100% 100%;
}

示例

详谈 CSS样式表使用:链接/嵌入

星期三, 06月 4th, 2008

在阿捷dew3cn中,他说:

引用内容
在以前,我通常采用2种方法使用样式表:
页面内嵌法:就是将样式表直接写在页面相关代码dehead区.类似这样:
<style type=”text/css”> <!– body { background : white ; color : black ; } –> </style>
外部调用法:将样式表写在一个独立de.css文件中,然后在页面head区用类似以下相关代码调用.
<link rel=”stylesheet” rev=”stylesheet” href=”css/style.css” type=”text/css” media=”all” />
在符合web标准de设计中,我使用外部调用法,好处不言而喻,您可以不修改页面只修改.css文件而改变页面de样式.如果所有页面都调用同一个样式表文件,那么改一个样式表文件,可以改变所有文件de样式.

可见阿捷是十分推崇用<link>de.补充一下阿捷de话,使用<link>de好处不单单是修改起样式表很方便,而且会使用户de浏览速度加快.用户第一次打开链接了样式表de页面后,样式表会自动下载到本地缓存当中.当用户再打开另一个页面,而这个页面如果也链接了同样de样式表de时候,会从缓存中读取相关de文件,这样就会加快浏览de速度.

但是我也碰到过这种情况:有时碰到网络不顺畅de情况,页面打开以后,链接de样式表没有加载成功.这种情况造成de后果,不仅仅是页面文字de颜色、大小等等样式无法显示,更麻烦de是很可能造成整个页面de布局乱了套!

比如有一次我打开Macromedia.comde时候,碰到公司网络不畅,也许是因为有很多人在bt吧…结果页面显示出de样子完全是没有样式表de样子,熟悉de布局看不到了,所有内容从上往下排列,就像用手机在浏览网站.虽然内容还能全部看到,但我不得不花些时间去熟悉这种新de布局,浏览de时候也有一种不顺畅de感觉.

在做金山在线首页de时候(上一版,现在已经看不到了),我就把所有样式嵌入到了页面de<head>区.首页是一个网站流览量最大de页面,必须保证高de可靠性.而且只对首页样式表采取嵌入de方式,其他页面还是用<link>,修改样式时不会增加太多de工作量.

周末做amaoagoude首页,我对样式更进一步进行了规划:把与布局有关de样式:#head、#left之类都嵌入到页面内部,其他样式采用链接de方式.

总结一下:

* 方法一:首页完全采用嵌入de方法,其他页面均采用链接de方式.优点:这样可以保证首页在网络状况不好de情况下仍然能够正确显示.缺点:修改样式时需要修改外部样式表和首页内嵌de样式表两个地方.
* 方法二:将负责布局de样式和其他样式分开写.首页嵌入布局de样式,链接其他样式;其他页面对于两套样式均采用链接方式.优点:修改样式时,比第一种工作量小.网络状况不好时,首页de外观不能完全保证,但至少布局不会乱.
* 如果制作de不是符合标准de页面,比如公司产品de一个小专题,领导要求用table制作以确保专题上线速度.对于各个页面都会用到de样式:链接.对于只有这一个页面会用到,但会用到很多次de样式:嵌入<head>.对于只有这一个页面会用到且只使用一次de样式:嵌入<head>或者干脆直接写style=”…”得了.

实现链接的虚线下划线效果

星期三, 06月 4th, 2008

修改您de样式表,找下边这段(一般都在开头)
a {
color:#3399FF;
font-weight:Normal; /*字体效果 普通 可以改成bold粗体*/
text-decoration:none; /*下划线效果:无下划线*/
}
a:hover {
color:#4499EE;
text-decoration:none; /*下划线效果:无下划线*/
border-bottom: 1px #0099CC dotted /*加一个只有下边de框 边框为虚线*/
}
   a{}控制连接de效果 a:hover{}控制鼠标移上去de效果.

ASP.NET 链接 Access 数据库路径问题最终解决方案

星期二, 06月 3rd, 2008

当做小项目用 ASP.NET Access 数据库时,总是遇到数据库路径问题,本人以前de解决方法是每次访问数据库时,把链接字符串以参数de形式传到数据访问层,实施起来相当麻烦,这次找到了一个比较好de方案,这是本人目前de最终解决方案(如题) ^_^
解决方案为:
在 Web.Config 中配置 Access 数据库驱动和数据库文件名称.
请看相关代码
<appSettings>
<add key=”DBDriver” value=”Provider=Microsoft.Jet.OLEDB.4.0; Data Source =”/>
<add key=”DBName” value=”Company.mdb”/>
</appSettings>
在数据库访问层,如 OleDBHelper.cs 中获得 Access 数据库链接字符串.
/**//// <summary>
/// 从Web.Config取得数据库联接字符串
/// </summary>
//从配置文件中得到数据库名称
public static readonly string DBName = ConfigurationManager.AppSettings.Get(”DBName”).ToString();
//从配置文件中得到数据库驱动
public static readonly string DBDriver = ConfigurationManager.AppSettings.Get(”DBDriver”).ToString();
//得到数据库连接字符串
private static string DBConnectionString = DBDriver HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath “/App_Data/”) DBName;
//建立数据库连接对象
private static OleDbConnection OleDbConn = new OleDbConnection(DBConnectionString);
这样设置后,无论在任何子目录,都能通过以上相关代码正确de访问数据库.

在字符串中把网址改成超级链接

星期一, 06月 2nd, 2008

$string = "连接http://www.phpx.com 站点";
//连接后需要有个空格或回车.
$string = eregi_replace("http://([^ ,\r\n]*)","<a href=\\0 target=_blank>\\0</a>",$string);
$string = eregi_replace("ftp://([^ ,\r\n]*)","<a href=\\0 target=_blank>\\0</a>",$string);
print $string;
这个可是非常有用de呀.

文本链接逐个出现的js脚本

星期一, 06月 2nd, 2008

浏览网站时发现这个相关代码,非常de不错,高度为20de,文本广告
调用相关代码:<script type=”text/javascript” src=”http://img.jb51.net/imgby/txtad.js”></script>
[复制此相关代码]CODE:
var marqueeContent=new Array(); //滚动主题
marqueeContent[0]=’<a href=”http://www.pcjc8.com” target=”_blank”>全站资料下载站</a>’;
marqueeContent[1]=’<a href=”http://www.jb51.net/adsense/adsense.htm” target=”_blank”>Google AdSense</a>’;
marqueeContent[2]=’<a href=”http://www.jb51.net/firefox/firefox.html” target=”_blank”>火狐浏览器下载</a>’;
marqueeContent[3]=’<a href=”http://www.jb51.net/support.htm” class=”hot” target=”_blank”>全站广告位招租</a>’;
marqueeContent[4]=’<a href=”http://www.pcjc8.com” class=”hot” target=”_blank”>全站资料下载站</a>’;
marqueeContent[5]=’<a href=”http://www.jb51.net/adsense/adsense.htm” target=”_blank”>Google AdSense</a>’;
marqueeContent[6]=’<a href=”http://www.pcjc8.com” class=”hot”>全站资料下载站</a>’;
var marqueeInterval=new Array(); //定义一些常用而且要经常用到de变量
var marqueeId=0;
var marqueeDelay=4000;
var marqueeHeight=20;
function initMarquee() {
var str=marqueeContent[0];
document.write(’<div id=marqueeBox style=”overflow:hidden;height:’ marqueeHeight ‘px” onmouseover=”clearInterval(marqueeInterval[0])” onmouseout=”marqueeInterval[0]=setInterval(\’startMarquee()\’,marqueeDelay)”><div>’ str ‘</div></div>’);
marqueeId ;
marqueeInterval[0]=setInterval(”startMarquee()”,marqueeDelay);
}
function startMarquee() {
var str=marqueeContent[marqueeId];
marqueeId ;
if(marqueeId>=marqueeContent.length) marqueeId=0;
if(marqueeBox.childNodes.length==1) {
var nextLine=document.createElement(’DIV’);
nextLine.innerHTML=str;
marqueeBox.appendChild(nextLine);
}
else {
marqueeBox.childNodes[0].innerHTML=str;
marqueeBox.appendChild(marqueeBox.childNodes[0]);
marqueeBox.scrollTop=0;
}
clearInterval(marqueeInterval[1]);
marqueeInterval[1]=setInterval(”scrollMarquee()”,10);
}
function scrollMarquee() {
marqueeBox.scrollTop ;
if(marqueeBox.scrollTop%marqueeHeight==marqueeHeight){
clearInterval(marqueeInterval[1]);
}
}
initMarquee();