手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:rel

Rel与CSS的联合使用

说实话,rel在我眼里除了link CSS的时候用过,其他时候我还真没用过。根本不知道REL是用来干嘛 的。看了这篇文章才知道原来Rel还可以这么用。

原文是

Rel-License 是微格式的开发标准之一,简单的说就是通过给引用标签(通常是链接)加上REL属性,来标明所引用链接/数据与文章的关系。

Wordpress很早就引入了rel标准,在我们添加新链接的时候就可以看到“关系”属性。

早期某些社交类搜索引擎可根据这个标签来判断人与人之间的关系,但它对网页开发来说并无意义,值得庆幸的是随着浏览器的逐渐升级,我们可以利用 CSS属性选择器以及REL来做一些有意思的功能。

这是一段带有REL属性的HTML结构。

XML/HTML代码
  1. <ul>  
  2. <li><a href="#" rel="civil">小李</a></li>  
  3. <li><a href="#" rel="party">局长</a></li>  
  4. </ul>  

页面中他呈现这个样子

大小: 3.47 K
尺寸: 238 x 148
浏览: 1525 次
点击打开新窗口浏览全图

因为局长和小李是两个不同的阶级,所以我们应该有区分他们,我打算在小李和局长后面增加两张图片让他表现出这个样式。

大小: 5.38 K
尺寸: 169 x 115
浏览: 1551 次
点击打开新窗口浏览全图

过去,我们需要在两个链接标签上增加不同的class来实现这种样式,并且我们需要针对不同的样式书写不同的CSS

XML/HTML代码
  1. <style>  
  2.  .c,.b {background:url(01.png) right center no-repeat;}  
  3.  .b {background-image:url(02.png);}  
  4. </style>  
  5. <ul>  
  6. <li><a href="#" rel="civil" class="c">小李</a></li>  
  7. <li><a href="#" rel="party" class="b">局长</a></li>  
  8. </ul>  
现在,我们可以利用REL属性以及属性选择器来完成这个工作。
CSS代码
  1. a[rel~="civil"]{background:url(01.png) rightright center no-repeat;}  
  2. a[rel~="party"]{background:url(02.png) rightright center no-repeat;}  
同时,我们的HTML结构也可以剔除那些多余的样式了。
XML/HTML代码
  1. <ul>  
  2. <li><a href="#" rel="civil">小李</a></li>  
  3. <li><a href="#" rel="party">局长</a></li>  
  4. </ul>  
另外:ie6不支持属性选择器,但我们可以用JS来修复这个问题。

--EOF--

最后一句话实在让人寒心,不过总算也可以这样的做了,再过一两年,还有IE6的存在吗?IE6的时间够长了吧?好象从02年开始到现在,都经历了8年左右的时间了,居然还没有被消亡。习惯这东西真害人。。。。

原文地址为:rel与CSS的联合使用,不过其实我更喜欢第二幅图后面的小图标

 

Tags: 前端, css, rel

符合w3c 的 strict标准,用 rel 替换_blank打开新窗口

说实话,我没有用过这种方法,也不知道是否非常有用。但总体来说,它的效率肯定不如直接target="_blank"好吧?

如果不用JS,那以后的版本里怎么办才好呢?难道不开新窗了?怎么办?未来该如何操作?

原文如下:

itpob:http://www.cnblogs.com/itpob/archive/2009/07/19/1526700.html

  1. 现在一般网站打开新窗口采用的是target="_blank",这在过渡型DOCTYPE(xh tml1-transitional. dtd)下是允许的,但也不符合W3C的strict(xhtml1-strict.dtd)标准。  
  2.   
  3. 如果你去验证,会发现有下面的错误提示:  
  4.   
  5. "there is no attribute target for this element(in this HTML version)"  
  6.   
  7. 这是因为W3C认为如果不经过用户同意,没有明确提示就打开一个新窗口是不礼貌的。所以我们只好用下面的rel属性来解决这个问题。rel是 HTML4.0新增加的一个属性,这个属性用来说明链接和包含此链接页面的关系,以及链接打开的目标。rel有许多的属性值,比如next、 previous,、chapter、section等等。  
  8.   
  9. 我们用rel属性的external和一个js脚本来解决问题,代码如下:  
  10.   
  11.  <a href=”http://www.kepu8.com“ rel="external"> 打开一个新窗口</a>  
  12.   
  13.     * 大量古细菌在海底被发现  
  14.     * 英开发致命超级病菌-绿脓杆菌早期检测技术   
  15.     * 无需 DNA 细菌也变身  
  16.     * 小袋鼠育儿袋内吃奶照片  
  17.     * 大白鲨类似连环杀手-捕食方式揭秘  
  18.     * 蚂蚁长寿差异之谜:蚁后更长寿的秘诀在于多睡觉   
  19.     * 张启发院士:培育绿色超级稻可缓解农业生态问题   
  20.     * 广西反季节龙眼新品种挂果枝率达98%以上   
  21.     * 日本专家从柚子皮中提取出能抑制过敏的物质   
  22.     * 水稻精确定量栽培技术实现新突破  
  23.   
  24.   
  25. 我们把js文件存储为external.js,然后通过<script type="text/javascript" src="external.js"></script>调用  
  26.   
  27. 下面是js文件  
  28.   
  29. function externallinks() {   
  30.     if (!document.getElementsByTagName) return;   
  31.     var anchors = document.getElementsByTagName("a");   
  32.     for (var i=0; i<anchors.length; i++) {   
  33.         var anchor = anchors[i];  
  34.         if (anchor.getAttribute("href") &&   
  35.             anchor.getAttribute("rel") == "external")   
  36.             anchor.target = "_blank";   
  37.     }   
  38. }   
  39. window.onload = externallinks;  

Tags: w3c, strict, rel, _blank