position: fixed;这个属性用起来确实很方便,可以轻松的实现固定位置的浮动层效果。但是,它不支持IE6及以下版本。于是很多同学使用JS模拟。今天写了一个DEMO,涉及左侧、右侧。及上下两边,共四种位置的固定,与以往的教程不同的地方是,它使用CSS表达式来兼容IE5、IE6,且避免了js模拟时,拖动滚动条时出现抖动的问题,另外在IE5或者怪癖模式下也完全正常,没有任何问题。如果你有更好的方案,欢迎来喷我。 下面是代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 <!DOCTYPE HTML > <html > <head > <meta charset ="utf-8" > <title > position: fixed</title > <style type ="text/css" > * { padding : 0 ;margin : 0 ;} #content {height : 5000px ;width : 50% ;border-right : 10px dotted red;} #demo_t , #demo_b , #demo_l , #demo_r {background : #f90 ;position : fixed;} #demo_t , #demo_b {left : 0 ;width : 100% ;} #demo_l , #demo_r {width : 50px ;top : 300px ;} #demo_t {top : 0 ;} #demo_b {bottom : 0 ;} #demo_l {left : 0 ;} #demo_r {right : 0 ;} </style > </head > <body > <div id ="demo_t" > 此处显示 id "demo" 的内容</div > <div id ="demo_b" > 此处显示 id "demo" 的内容</div > <div id ="demo_l" > 此处显示 id "demo" 的内容</div > <div id ="demo_r" > 此处显示 id "demo" 的内容</div > <div id ="content" > </div > </body > </html >
建议在实际使用时,将IE条件注释中的代码放在单独的css文件中,以便节约其他浏览器的流量。