firefox 浏览器对 table 中绝对定位元 ka
-
资源ID:89124148
资源大小:32.33KB
全文页数:4页
- 资源格式: DOC
下载积分:12金贝
快捷下载
账号登录下载
微信登录下载
微信扫一扫登录
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
|
下载须知 | 常见问题汇总
|
firefox 浏览器对 table 中绝对定位元 ka
Firefox 浏览器对 TABLE 中绝对定位元 kaFirefox 浏览器对 TABLE 中绝对定位元素包含块的判定有错误,某些情况下会导致绝对定位元素位置跟其他浏览器中有差异 2010年10月01日关于绝对定位元素的定位,依赖于其包含块。也就是说,当绝对定位元素的"top"、"left"值被设置之后,绝对定位元素会根据这两个值,相对于其包含块产生位移。见:http:/www.w3.org/TR/CSS2/visuren.html#absolute-po sitioning 关于包含块的概念,在帖子:【分享】说说标准 - 可视化格式模型(visual formatting model)之一 - 包含块(containing block)已经做了详细的说明,其中,W3C CSS2.1规范中规定,绝对定位元素的包含块(containing block),由离它最近的position特性值是"absolute"、"fixed"、"relative"之一的祖先元素组成;如果这个祖先元素不存在,则包含块是初始包含块。 但是,这个规则在Firefox里好像不大管用。 本来想做一个很华丽丽的效果,需要把一个绚丽的图片针对表格的左上角定位,本来在其他浏览器中好好的,但是到Firefox中就不灵了 HTML code <!- Code highlighting produced by Actipro CodeHighlighter (freeware) http:/www.CodeHighlighter.com/ -><div style="width:200px; height:200px; position:absolute; background-color:silver;"><table style="position:absolute; width:100px; height:100px; top:100px; left:100px; background-color:green;"><tr><td><div style="position:absolute; width:50px; height:50px; top:50px; left:50px; background-color: gold;"> TEXT </div></td></tr></table></div> 本来是要想让金色的绝对定位 DIV 相对于 TABLE 来定位,但事与愿违,在 Firefox 里,变成了这样: 金色的 DIV 没有相对于绿色 TABLE 的左上角定位,跑偏了,相对于灰色的 DIV 定位了,当TABLE 不存在,哈! 其他浏览器中,就这样子: 可见,在Firefox中,TABLE 中好像创建不了包含块。 所以,在Firefox里,绝对定位元素的包含块是"position"特性值为"absolute"、"fixed"、"relative"之一的非table类型的祖先元素。定位的时候,也就会出现意想不到的效果。 这个问题,还可能会影响绝对定位元素的自动宽度计算。 所以,想相对于 TABLE 元素定位的同学小心了。 这是 Firefox 的一个 bug,绝对定位元素无法根据 'display' 特性是 'table' 且是绝对定位的祖先元素定位。 所以,不要采用这种结构。 为达到相同的效果,可以采用如下方式替代: 改变元素的 containing block:让绝对定位元素相对于 TABLE 元素的单元格定位,即,在 TD 上设置 'position:absolute' ; 改变元素的定位方式:把绝对定位元素的 'absolute' 改为 'relative' ,用相对定位。 还有就是table 用div形式来表现 <html> <head> <style type="text/css"> .row div border:1px solid black; height:20px; width:24%; float:left; margin-right:-1px; margin-top:-1px; text-align:center; font-weight:bold; display:block; #head div background-color:#CCFFFF; margin-top:0; </style> <style type="text/css"> <!- /*重点:固定行头样式*/ .scrollRowTheadposition: relative; left: expression(this.parentElement.parentElement.parent Element.parentElement.scrollLeft);z-index:0; /*重点:固定表头样式*/ .scrollColThead position: relative;top: expression(this.parentElement.parentElement.parent Element.scrollTop);z-index:2; /*行列交叉的地方*/ .scrollCR z-index:3; /*div外框*/ .scrollDiv height:400px;clear: both; border: 1px solid #EEEEEE;OVERFLOW: scroll;width: 900px; /*行头居中*/ .scrollColThead td,.scrollColThead th text-align: center ; /*行头列头背景*/ .scrollRowThead,.scrollColThead td,.scrollColThead thbackground-color:EEEEEE; /*表格的线*/ .scrolltableborder-bottom:1px solid #CCCCCC; border-right:1px solid #CCCCCC; /*单元格的线等*/ .scrolltable td,.scrollTable thborder-left: 1px solid #CCCCCC; border-top: 1px solid #CCCCCC; padding: 5px; .scrollTable thead thbackground-color:#EEEEEE;font-weight:bold;posit ion:relative; -> </style> <script language="javascript"> function changeplace(x) document.getElementById('scrollRowThead').style.le ft=x+"px" /alert(document.getElementById('scrollRowThead'). style.left); </script> <head> <body> <div id="scrollDiv" class="scrollDiv" onscroll="changeplace(document.getElementById('scr ollRowThead').parentNode.parentNode.scrollLeft)"> <div class="row" id="head" style="width:200%" class="scrollColThead"> <div class="scrollRowThead scrollCR">标题1</div><div>标题2</div><div>标题3</div><div>标题4</div> </div> <div class="row" id="row1" style="width:200%;" onmousedown="move(this)"> <div class="scrollRowThead" id="scrollRowThead">haha</div><div></div><div></div><div></div> </div> </div> </html>