PDF、ZIP、DOC链接的标注(CSS技巧)


原文:http://www.maratz.com/blog/archives/2005/01/13/pdf-links-labeling/
翻译:http://www.176so.com/past/2007/3/17/pdf_links_labeling/

css技巧之PDF、ZIP、DOC链接的标注

有时候我们希望能明确的用小图标来标明我们的超链接的类型。是一个zip文档还是一个pdf文件。这样访问者就知道他所要点击的这个链接是下载而不是打开另一个页面了。如果所有的人都使用IE7或者FF的话。我们完全可以使用[att$=val]属性选择器,寻找以特定值(比如.zip和.doc)结尾的属性。

a[href$=".pdf"] { padding-right: 19px; background: url(pdf.gif) no-repeat 100% .5em; }
a[href$=".zip"] { padding-right: 17px; background: url(zip.gif) no-repeat 100% .5em; }

不幸的是IE6以下浏览器不支持属性选择器。好在,可以通过在每个元素中添加类,使用JavaScript和DOM实现相似的效果。

下面给出了一个解决办法:

function fileLinks() {
    var fileLink;
    if (document.getElementsByTagName('a')) {
        for (var i = 0; (fileLink = document.getElementsByTagName('a')[i]); i++) {
            if (fileLink.href.indexOf('.pdf') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'pdfLink';
            }
            if (fileLink.href.indexOf('.doc') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'docLink';
            }
            if (fileLink.href.indexOf('.zip') != -1) {
                fileLink.setAttribute('target', '_blank');
                fileLink.className = 'zipLink';
            }
        }
    }
}
window.onload = function() {
    fileLinks();
}

当然,你需要在你的css文件中,增加这几个css类:

.pdfLink { padding-right: 19px; background: url(pdf.gif) no-repeat 100% .5em; }
.docLink { padding-right: 19px; background: url(doc.gif) no-repeat 100% .5em; }
.zipLink { padding-right: 17px; background: url(zip.gif) no-repeat 100% .5em; }

最后一点建议,你的小图标不要过分醒目,这会分散浏览者的注意力。



相关阅读:
无线网络连接故障的处理方法
第3课:元素与标签
为Redhat操作系统增加APT软件包管理工具
一些PHP写的小东西
Oracle 10g使用RMAN创建physical standby
滚动文字新闻的制作
Windows Vista安装失败后如何进行回滚
Win9x/ME下Apache+PHP安装配置
FreeBSD在安装ports时缩短下载时间
Linux系统“死机”时怎么办?
js 动态文字滚动的例子
展示网站特色:大字体的网页设计风格
div模拟textarea文本域实现高度自适应效果代码
Prototype使用学习手册指南之ajax.js
快速导航

Copyright © 2016 phpStudy |