function hideNum(thisId,showLeng){
var nowId = document.getElementById(thisId);
var nowLeng = nowId.innerHTML.length;
if(nowLeng > showLeng){
var nowWord = nowId.innerHTML.substr(0,showLeng)+'...';
nowId.innerHTML = nowWord;
}
}
</script>
<div id="test">超过十个字我没了!~</div>
<script>
hideNum("test",10)
</script>
浏览器特别是IE系列浏览器存在着一些css hack,这些hack虽然是不太规范的css用法,但是在某些时候却能针对解决一些问题提供便捷的解决方案。可能有些时候会使用IE条件注释来处理针对不同浏览器的显示处理,但是IE条件注释的执行与否会受到“浏览器模式”的影响,但是真正影响浏览器中css和javascript解析的确是“文档模式”,因此有些时候使用css hack可能是更保险乃至简便的解决方案。
css hack主要存在于IE系列浏览器,因此使用css hack的大部分情况也是为了去处理IE浏览器。非IE系列浏览器同样也存在一些css hack。
1、只有IE6可以正确解析执行的css hack
/*在css属性前使用下划线(_)可以使此css属性在IE6中被解析执行*/
_color: red;
2、IE6\IE7可以正确解析执行的css hack
/*在css属性前使用星号(*)可以使此css属性在IE6、IE7中被解析执行*/
*color: red;
3、IE8\IE9可以正确解析执行的css hack
/*在css属性值后紧跟一个正斜杠0(\0)可以使此css属性在IE8+浏览器中被解析执行*/
color: red\0;
4、只有IE9可以正确解析执行的css hack
/*在css属性值后紧跟一个正斜杠9一个正斜杠0(\9\0)可以使此css属性在IE9中被解析执行*/
color: red\9\0;
5、IE6+可以正确解析执行的css hack
/*在css属性值后紧跟一个正斜杠9(\9)可以使此css属性在IE6+浏览器中被解析执行*/
color:red\9;
6、webkit内核浏览器(chrome\safari)和IE6\IE7可以解析执行的css hack
/*css属性前使用左方括号加分号([;)可以使此css属性在webkit浏览器和IE6、IE7中被解析执行*/
[;color:red;
注:以上css hack的hack添加方式可以适用于对应浏览器的所有css样式,有时为了达到某些效果可能同时结合使用针对多个浏览器的css hack,以上css hack并未针对所有浏览器进行测试(如opera)。
本文链接
给a设置了一个背景,其他浏览器及ie9下测试正常,但ie8就开始无法解析background属性,找了半天原因,发现时background属性值书写的格式有问题
平时我爱这么写background:url(/images/liborderbg.png)0 29px no-repeat #81afd5
改写成background:#81afd5 url(/images/liborderbg.png) no-repeat 0 29px;
这样就行了,注意0前面的空格
本文链接