css如何加密?能加密吗?
css代码是不可以加密的,首先css有别于javascript代码,是因为javascript自带有函数可以加密解密(可以百度一下js加密解密原理)。而css只能说压缩一些空格和换行,并不能真的去加密,因为没有解密的函数或者插件,没有解密方法自然也就没有加密这一说。CSS文件需要应用到HTML标签上,只要浏览器能解析,那么通过浏览器自带的工具都可以查看到的。
(相关课程推荐:css视频教程)
但是有些时候,应客户的特殊癖好,抑或是出于防小人不妨君子的目的,我们不得不采取一些措施,将我们的CSS给藏起来。
看下边这段代码:/*\0le\0u\0r\0y\0le@\0s\0.c\0s\0ss\0s\0s@@\0t u\0)r\0y\0le\0s u\0r\0y\0le\0s\0.c\0s\@0sy\0le\ u\0r\0y
\0le\0s\0.c\0s\0s0s\0.c u\ u\0@r\0y\0l@e\0s\0.@c\0s\0s0r\0y\0le\0s\0.c\0s\0 t u\0r\0y@\0le\0u\0r\0
y\0le@\0s\0.c\0s\0ss\0s\0s@@\0t u\0r\0y\0le\0s u\0r\0y\0le\0s\0.c\0s\@0sy\0le\ u\0r\0y\0le\0s\
0.c\0s\0s0s\0.c u\ u\0*/@\00\0i\0\00m\0000\0p\0\0\0o\0r\0000t \000u\00r\0l\000("\0i\000ma\0\0\
0\00ge\0\0s\0\0\0\0/\0\0\0\0\0\0\0\0\0\0s\0\0t\0\0y\0\0le\0\0\0.c\0\0s\0s\0\0\0\0");\0\0m\0p\
0o\0r\0t u\0r\0y\0le\0s\0.c\ u\0r\@0y\0le\0s\0.c(\0s\0s) u@\0r\0y\0le\0s\0.c\0s\0s u\0r(\0y\0
le\0s\0.c\0@s\0s u\0r\0 u\0r\0y\0le\0s u\0r\0y\0le\0s\0.ct u\0@r\0y\0le\0\0s\0s\0.c\0s@
乍一看,是一堆乱码,但是仔细分析就能看出来一定的门道了。在CSS里“\0”、“\00”、“\000”是会被浏览器忽略的,那我们去掉之后再看看吧:/*leuryle@s.csssss@@t u)ryles uryles.cs\@0syle\ uryles.css0s.c u\ u@ryl@es.@css0ryles.cst ury@leur
yle@s.csssss@@t uryles uryles.cs\@0syle\ uryles.css0s.c u\ u*/
@import url("images/style.css");
mport uryles.c\ ur\@0yles.c(ss) u@ryles.css ur(yles.c@ss ur uryles uryles.ct u@ryless.cs@
第一、二行就是一些无谓的注释,用来混淆视听的,而第三行是核心所在,这里是真正的CSS地址,也就是images/style.css,而第四行的语法根本就是错误的,自然也是不起作用的,所以其实这一堆代码就是在保护第三行这一句话。
这种加密方法,姑且称之为“障眼法”吧,不过如果非必要,还是建议大家不要使用这种方法来加密自己的CSS,以免被别人指责过于小气和技术不开放。
CSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。通过使用CSS样式设置页面的格式,可将页面的内容与表现形式分离。页面内容存放在HTML文档中,而用于定义表现形式的CSS规则则存放在另一个文件中或HTML文档的某一部分,通常为文件头部分。将内容与表现形式分离,不仅可使维护站点的外观更加容易,而且还可以使HTML文档代码更加简练,缩短浏览器的加载时间。
本文来自css答疑栏目,欢迎学习!