国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
完美解決IE6不支持position:fixed的bug
廢話不多說,先看一下下面這段代碼:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>IE6 position:fixed bug</title>
<style>
*{padding:0;margin:0}
p{height:2000px}
#gs{border:1px solid #000;position:fixed;right:30px;top:120px}
</style>
<!--[if IE 6]>
<style type="text/css">
html{overflow:hidden}
body{height:100%;overflow:auto}
#gs{position:absolute}
</style>
<![endif]-->
</head>
<body>
<div id="rightform">
<p>11111111111111111</p>
<input id="gs" name="gs" type="text" value=""  />
</div>
</body>
</html>
以上這段代碼在網(wǎng)上很常見,通過設(shè)置html{overflow:hidden}和body{height:100%;overflow:auto}來實(shí)現(xiàn)ie6下position:fixed效果,但這種辦法有個(gè)缺陷,那就是:這會使頁面上原有的absolute、relation都變成fixed的效果,在這里我就不做demo了,如果有懷疑,可以自己去試驗(yàn)一下。
于是我找了下資料,發(fā)現(xiàn)可以通過一條Internet Explorer的CSS表達(dá)式(expression)來完美的實(shí)現(xiàn)ie6下position:fixed效果,css代碼如下:
/* 除IE6瀏覽器的通用方法 */
.ie6fixedTL{position:fixed;left:0;top:0}
.ie6fixedBR{position:fixed;right:0;bottom:0}
/* IE6瀏覽器的特有方法 */
* html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));top:expression(eval(document.documentElement.scrollTop))}
* html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}
上面代碼可以直接使用了,如果要設(shè)置元素懸浮邊距,要分別為設(shè)置兩次,比如我要讓某個(gè)元素距頂部10個(gè)像素,距左部也是10個(gè)像素,那就要這樣子寫:
/* 除IE6瀏覽器的通用方法 */
.ie6fixedTL{position:fixed;left:10px;top:10px}
/* IE6瀏覽器的特有方法 */
* html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft+10));top:expression(eval(document.documentElement.scrollTop+10))}
這樣一來,IE6下實(shí)現(xiàn)position:fixed的效果解決了,而且也不會影響到其他的absolute、relation,但還有一個(gè)問題,就是懸浮的元素會出現(xiàn)振動
IE有一個(gè)多步的渲染進(jìn)程。當(dāng)你滾動或調(diào)整你的瀏覽器大小的時(shí)候,它將重置所有內(nèi)容并重畫頁面,這個(gè)時(shí)候它就會重新處理css表達(dá)式。這會引起一個(gè)丑陋的“振動”bug,在此處固定位置的元素需要調(diào)整以跟上你的(頁面的)滾動,于是就會“跳動”。
解決此問題的技巧就是使用background-attachment:fixed為body或html元素添加一個(gè)background-image。這就會強(qiáng)制頁面在重畫之前先處理CSS。因?yàn)槭窃谥禺嬛疤幚鞢SS,它也就會同樣在重畫之前首先處理你的CSS表達(dá)式。這將讓你實(shí)現(xiàn)完美的平滑的固定位置元素!
然后我發(fā)現(xiàn)background-image無需一張真實(shí)的圖片,設(shè)置成about:blank就行了。
下面附上完整代碼
/* 除IE6瀏覽器的通用方法 */
.ie6fixedTL{position:fixed;left:0;top:0}
.ie6fixedBR{position:fixed;right:0;bottom:0}
/* IE6瀏覽器的特有方法 */
/* 修正IE6振動bug */
* html,* html body{background-image:url(about:blank);background-attachment:fixed}
* html .ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft));top:expression(eval(document.documentElement.scrollTop))}
* html .ie6fixedBR{position:absolute;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)))}
至于demo我想大家都看到了吧:)
IE6完美兼容position:fixed
IE6完美兼容position:fixed
手機(jī)收藏該文章
作者:胡尐睿丶
出處:http://www.cnblogs.com/hooray
如果你讀了我的文章,覺得有幫助,你可以選擇:支付寶贊助
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
更多
分類:前端技術(shù)
標(biāo)簽:css,expression,position,fixed,懸浮,ie6
綠色通道:好文要頂關(guān)注我收藏該文與我聯(lián)系
胡尐睿丶
關(guān)注 - 8
粉絲 - 1244
+加關(guān)注
8
2
(請您對文章做出評價(jià))
博主上一篇:【轉(zhuǎn)載】通過JS破解圖片防盜鏈限制
博主下一篇:借助Google Translate API實(shí)現(xiàn)網(wǎng)站多國語言翻譯功能
首頁上一篇:實(shí)例講解遺傳算法——基于遺傳算法的自動組卷系統(tǒng)【實(shí)踐篇】
首頁下一篇:(譯)如何使用cocos2d制作一個(gè)打地鼠的游戲:(第二部分。完)
posted @ 2011-05-20 18:42胡尐睿丶 閱讀(34189) 評論(38)編輯收藏
評論列表
#1樓 2011-05-20 21:33sxwgf 
這種方法用了expression,請教lz有不用expression的方法嗎?
支持(0)反對(0)
#2樓[樓主] 2011-05-20 22:49胡尐睿丶 
@sxwgf
不用expression就是我文章開頭那短代碼,設(shè)置html{overflow:hidden}和body{height:100%;overflow:auto},但這樣會造成頁面上所有absolute都變成fixed的效果,所以還是推薦用expression
支持(0)反對(0)
#3樓 2011-05-21 07:21劉覽器 
文章很有深度,簽定完畢。。。
支持(0)反對(0)
#4樓 2011-05-21 09:52john23.net 
恩學(xué)習(xí)了
支持(0)反對(0)
#5樓 2011-05-21 10:57鈞梓昊逑 
我認(rèn)為這不算是BUG
支持(0)反對(0)
#6樓 2011-05-21 11:45超級奶崽 
不錯(cuò)啊
支持(0)反對(0)
#7樓 2011-05-21 12:17賣身葬小強(qiáng) 
禁用javascript這段css表達(dá)式會不會失效?
支持(0)反對(0)
#8樓[樓主] 2011-05-21 12:43胡尐睿丶 
@賣身葬小強(qiáng)
這問題不錯(cuò),我沒測試過,應(yīng)該是會失效的,我沒考慮到,看來還是得留個(gè)備用方案,當(dāng)IE6在禁用js的情況下,采用我文章中的第一種辦法
支持(0)反對(0)
#9樓 2011-05-21 21:49西狐 
堅(jiān)定不移的,拋棄IE6
支持(0)反對(0)
#10樓 2011-08-16 15:24ilbefun 
請問50%邊距要怎么寫呢
支持(0)反對(0)
#11樓[樓主] 2011-08-16 15:30胡尐睿丶 
@ilbefun
什么叫50%邊距?
支持(0)反對(0)
#12樓 2011-08-30 22:08翼飛 
relative寫成relation了 汗一個(gè) 這個(gè)真不應(yīng)該有
支持(0)反對(0)
#13樓[樓主] 2011-08-30 22:23胡尐睿丶 
@翼飛
我的錯(cuò),絕對是我的錯(cuò)。
支持(0)反對(0)
#14樓 2011-09-22 10:04Rex.He 
真沒看出有什么完美的..expression基本都不會使用的...
樓主一點(diǎn)都不考慮性能問題...
支持(0)反對(0)
#15樓[樓主] 2011-09-22 10:08胡尐睿丶 
@Rex.He
真要考慮性能,那就只能屏蔽IE6了,或者不管IE6了,但這真的是為用戶考慮么?這又回到的開頭的問題,我們考慮性能的最終目的還不是為了用戶考慮。
支持(0)反對(0)
#16樓 2011-09-22 10:15Rex.He 
@胡尐睿丶
屏蔽IE6? 做東西就是為了滿足客戶需求...
expression性能損耗太大,使用position:absolute模擬會比較好
支持(0)反對(0)
#17樓[樓主] 2011-09-22 10:19胡尐睿丶 
@Rex.He
是用position:absolute模擬的啊,文章里我都寫的很清楚了,但是top,left的值你要怎么計(jì)算?還不是要用JS實(shí)時(shí)計(jì)算出來。不然你怎么實(shí)現(xiàn)?
支持(0)反對(0)
#18樓 2011-09-22 10:23Rex.He 
expression 和 JS計(jì)算模擬 在性能上的問題
在于頻率,expression在你任何位置任何時(shí)候微小的移動都會計(jì)算很多次,你可以測試下.... JS只針對在你的使用范圍內(nèi),所以前端才不建議使用expression
支持(0)反對(0)
#19樓[樓主] 2011-09-22 10:33胡尐睿丶 
@Rex.He
原來是這樣,受教了,我一直以為expression和js沒區(qū)別,就干脆把js代碼用expression寫在css里了
支持(0)反對(0)
#20樓 2011-11-23 10:49nono_jia 
會和其他的js有沖突..單用還是可以的..
支持(0)反對(0)
#21樓 2012-02-21 13:58Zigzag 
真正最完美的方式,假設(shè)box需要fixed,如下
1
2
3
<div class="box">
這是需要絕對定位的文字。
</div>
使用以下css來實(shí)現(xiàn)ie6的fixed:
1
2
3
4
5
6
7
.box {
position: fixed;
}
* html .box {
position: absolute;
}
支持(0)反對(0)
#22樓 2012-04-05 10:45象牛 
引用Zigzag:
真正最完美的方式,假設(shè)box需要fixed,如下
1
2
3
<div class="box">
這是需要絕對定位的文字。
</div>
使用以下css來實(shí)現(xiàn)ie6的fixed:
1
2
3
4
5
6
7
.box {
position: fixed;
}
* html .box {
position: absolute;
}
厲害?。。。。?!
支持(0)反對(0)
#23樓[樓主] 2012-04-05 10:51胡尐睿丶 
@Zigzag
你這哪里解決ie6 position: fixed; 的問題了?
支持(0)反對(0)
#24樓[樓主] 2012-04-05 10:51胡尐睿丶 
@象牛
演員?
支持(0)反對(0)
#25樓 2012-04-05 10:54象牛 
引用Zigzag:
真正最完美的方式,假設(shè)box需要fixed,如下
1
2
3
<div class="box">
這是需要絕對定位的文字。
</div>
使用以下css來實(shí)現(xiàn)ie6的fixed:
1
2
3
4
5
6
7
.box {
position: fixed;
}
* html .box {
position: absolute;
}
呃。。。。。。。。發(fā)現(xiàn)問題了。。。發(fā)現(xiàn)IE6下不會隨屏幕動。。。或者是我沒有理解你的意思吧
支持(0)反對(0)
#26樓 2012-04-13 10:03象牛 
引用胡尐睿丶:
@象牛
演員?
你說話用的著這么偏激嗎?
支持(0)反對(0)
#27樓 2012-04-28 10:39前端組qianduanzu.com 
這樣比較耗資源,有沒有更好的解方案呢?
支持(0)反對(0)
#28樓[樓主] 2012-04-28 10:41胡尐睿丶 
@前端組qianduanzu.com
不管IE6是最好的解決方案=D
支持(1)反對(0)
#29樓 2012-04-28 10:42前端組qianduanzu.com 
@胡尐睿丶
哈哈,我博客就是。沒管它IE6
支持(0)反對(0)
#30樓 2012-05-03 10:28chloe_t 
QAQ可惜老板用的IE6啊…………
支持(1)反對(0)
#31樓 2012-06-04 11:14天地人廣告 
為什么我的下面的定位也總是跟著動??? WHY??
支持(0)反對(0)
#32樓[樓主] 2012-06-04 11:16胡尐睿丶 
@天地人廣告
fixed不就是跟隨滾動的
支持(0)反對(0)
#33樓 2012-06-04 11:18天地人廣告 
@胡尐睿丶
我只要頂部跟著滾?。?我用你的方法下面的那些用了絕對定位的也是和頂部一樣的滾了!
支持(0)反對(0)
#34樓[樓主] 2012-06-04 11:19胡尐睿丶 
@天地人廣告
檢查你的樣式,肯定有沖突了
支持(0)反對(0)
#35樓 2012-06-04 11:24天地人廣告 
.ie6fixedTL{position:absolute;left:expression(eval(document.documentElement.scrollLeft+10));top:expression(eval(document.documentElement.scrollTop+10))}
是只要把這句放上就行了吧! 把.ie6fixedTL 改成我的??
支持(0)反對(0)
#36樓 2012-10-11 14:52iamzou 
Body如果本身有背景呢 而且不能fixed呢?
支持(0)反對(0)
#37樓 2012-10-25 22:33偷懶小小貓 
使用以下css來實(shí)現(xiàn)ie6的fixed:
7 .box {
position: fixed;
}
* html .box {
position: absolute;
}
* html .box 這種寫法是專門針對IE6 嗎 可是我記得hack是_box{。。}吧
支持(0)反對(0)
#38樓26128432013/2/2 10:39:13 2013-02-02 10:39Moon_Jacob 
想不到今天在這邊把遇到的問題解決了,哈哈
ps:當(dāng)初沒和你們好好學(xué)習(xí)真是我的損失啊
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
你是如何讓position:fixed在IE6中工作的 - huanyq2008 - JavaEye技術(shù)網(wǎng)站
完美IE6 fixed解決方案
div固定定位完美兼容如回頂部圖標(biāo)
[css] 第63天 說說position的absolute和fixed共同與不同點(diǎn)分別是什么?
騰訊技術(shù)文!淺議內(nèi)滾動布局的概念與實(shí)現(xiàn)方法
兼容性好,自動置頂?shù)奶詫殤腋」ぞ邫?DIV絕對置頂(兼容IE,FF) - 李小波
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服