原文: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; }
最後一點建議,你的小圖標不要過分醒目,這會分散浏覽者的注意力。