1.px em rem
px
(1) IE无法调整那些使用px作为单位的字体大小;
(2)国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;
(3)Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。
px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。
em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。
EM特点
(1)em的值并不是固定的;
(2) em会继承父级元素的字体大小。
rem是[CSS3]新增的一个相对单位(root em,根em),这个单位引起了广泛关注。这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位的声明。这些浏览器会忽略用rem设定的字体大小。
2.单击li,输出当前li在列表的序号
<ul id="list"><li>序号1</li><li>序号2</li><li>序号3</li><li>序号4</li><li>序号5</li><li>序号6</li><li>序号7</li><li>序号8</li><li>序号9</li><li>序号10</li></ul>
第一种:使用事件委托
var ul = document.getElementById('list');
var li = ul.getElementsByTagName('li');
ul.onclick = function(e){
var e = e || window.event,
target = e.target || e.srcElement;
for(var s in li){
if(target == li[s]){
s = parseInt(s)+1;
alert(s);
break;
}
}
}
第二种:闭包
function msg(index){
li[index].onclick = function(){
alert(index);
}
}
for (var i = 0; i< li.length; i++){
msg(i);
}
msg = null;
第三种:jquery的index()
li.on("click",function(){var index = $(this).index();alert(index);}