
很早就有人 Twitter 说今天是 CSS 裸奔节,于是…
CSS Naked Day 的来历
CSS Naked Day,也称 CSS 裸奔节或 CSS 裸奔日。
在裸奔节这天,参加裸奔节的Blog 将会去除页面上所有的 CSS 样式和广告裸奔整整一天,通过这个节日来重视 CSS 的重要性.当然你的网站如果是用 table 来布局的话这个节日对你来说并不是很合适.在2006年有将近800个国际知名网站参与这个节日.而今年CSS Naked Day将由之前的24小时改为48小时!
CSS Naked Day 的目的
推动Web标准、提倡简洁为美、使用正确的 (x)html 语义标记、良好的层次结构。暂时把页面设计抛弃,直接展示<body>内容!
历届CSS Naked Day的举办时间
第一届 CSS 裸奔节:2006年4月5日
第二届 CSS 裸奔节:2007年4月5日
第三届 CSS 裸奔节:2008年4月9日
第四届 CSS 裸奔节:2009年4月9日
- Via
你可以前往官方网站查看更多的介绍以及了解如何加入这个活动。
然后,回到本文的重点。因为我的博客很多时候都是处在调试中的,并且很多插件诸如 Simple Tags 是直接在标签里给元素加上 CSS 的,所以如果想要“裸奔”光是去除 .css 文件是远远不够的,那么有没有一种强制的方法呢?我昨晚就在想这样一种方法。于是被我想到了。也就是本文介绍如何 “强制脱衣” ,也就是教你如何强制去除网站的 CSS !
实现原理:众所周知,CSS 调用有三种方法,一种是 link 方式,一种是 <style></style> 包裹方式,最后一种就是直接且暴力的 style=”" 方式,通过 Javascript 代码,强制禁用 type=”text/css” 的 link 或者 让 link 链接 css 的 href=”" 为空,且让 <style></style>
被清除或者禁用,且让 style=”" 为空 或者去除。
这里提供两种方法,一种是最普通的 Javascript 来实现,另外一种是通过目前的最流行的 Javascript 库 jQuery 来实现。
第一种(普通版):
<script type="text/JavaScript"> // 用style方式引用的css var style=document.getElementsByTagName('style'); var s='Style:' + style.length; for (i=0; i<style.length; i++) { /*s += style.item(i) + '|';*/ style.item(i).disabled=true; } // 用link方式引用的css var link = document.getElementsByTagName('link'); s += 'Link:' + link.length; for (i=0; i<link.length; i++) if ('text/css' == link.item(i).type) { /*s += link.item(i).href + "|\\n";*/ link.item(i).disabled=true; } // 任意对象的style="" var obj = document.getElementsByTagName('body').item(0).childNodes; var obj = document.getElementsByTagName('*'); s += 'Obj:' + obj.length; for (i=0; i<obj.length; i++) { obj1 = obj.item(i); if (obj1.attributes.getNamedItem('style')) { s += obj1.nodeName + obj1.attributes.getNamedItem('style').value + "\\n"; obj1.attributes.getNamedItem('style').value = ""; } } </script>
只需将以上这段 JS 代码插入你的网页中即可。
接着是第二种(jQuery版)
<script type="text/JavaScript"> $(document).ready(function(){ // 用link方式引用的css $("link").attr("type", function() { if ($(this).attr("type") == "text/css") $(this).attr("href",""); }); // 任意对象的style="" $("*").removeAttr("style"); // 用style方式引用的css $("style").remove(); }); </script>
如果你的网站启用了 jQuery 库的话,那么毫不犹豫地用第二种吧,你看代码是何其简洁啊!
最后祝大家裸奔愉快!

Pingback: RSSA频道 » Blog Archive » 桌面便签小软件ATnotes – 提醒你勿忘临时小需求!
Pingback: RSSA频道 » Blog Archive » 魔兽世界同人动画片《我叫MT》
Pingback: 2010 年 CSS 裸奔节 - Leeiio Chaos Made.
Pingback: 2011 年 CSS 裸奔节 ! - Leeiio Chaos Made.