解决td标签上的position:relative属性在各浏览器中的兼容性问题

在css中的position属性规定了页面元素的定位类型,它有以下几个值:

absolute:绝对定位,相对于static以外的第一个父元素进行定位;

fixed:生成绝对定位的元素,相对于浏览器窗口进行定位;

relative:生成相对定位的元素,相对于其正常位置进行定位;

static:默认值,没有定位;

inherit:继承父元素的position值;

如果一个块A要在块B中进行绝对定位,则我们可以把块A的position值定为absolute,把块B的属性值定为relative,这样,块A就会相对于块B进行绝对定位。

最近在项目中碰到一个这样的问题,table元素的其中一个td的里面会生成一个div,这个div相对于该td进行定位,如下图:

td的position值为relative,div的position值为absolute。这样做在chrome里面没有任何问题,但到了firefox和ie中,就出现问题了,如下图:

在图中可以看到,该td元素的边框没有了。而如果我把td元素的position:relative这个样式给去掉,它又能正常显示了。后来查了些资料,初步估计是td元素和div元素对position:relative样式在各浏览器中的支持和表现形式不一致。解决方法是这样的,在td里面再套一个div元素,这个div元素具有position:relative这个样式。如下图:

然后再换到页面,就会发现这个问题解决了。

参考资料:http://www.w3school.com.cn/cssref/pr_class_position.asphttp://blog.csdn.net/netpet/article/details/5223496

时间: 2024-11-06 07:04:04

解决td标签上的position:relative属性在各浏览器中的兼容性问题的相关文章

CSS中"position:relative"属性与文档流的关系

前言 近期遇到一个问题--"position:relative"到底会不会导致元素脱离文档流?主流观点是不会,但都给不出一个有说服力的论据.最后我自己佐证了一番,总算有了个结果:"position:relative"不会导致元素脱离文档流. 博文地址:CSS中"position:relative"属性与文档流的确切关系 "relative"与文档流 说到标准,最权威的自然莫过于CSS标准文档.经过一番繁琐的查找之后(w3c网站

readonly属性在各浏览器中的区别

有个项目需求是正常显示时为只读,不可修改: 点击修改按钮后,可修改表单元素. 首先想到的是readonly属性,其用于规定输入字段为只读,不能修改.在javascript中消除readonly值,可将输入字段切换为可编辑状态.如下面的写法 <input type="text" name="email" readonly="readonly"> 写完后在浏览器中测试时发现如下: IE浏览器:可以获得焦点,光标可进入,但不能输入.获得焦点

ibatis 当查询的结果集列明动态变化时,需要在select等标签上加上 remapResults=&quot;true&quot;属性.

eg: <!-- 根据给定的参数查询出对应的月度活跃用户数据 --> <select id="listActiveStaffReportByMap" parameterClass="java.util.Map" resultClass="java.util.HashMap" remapResults="true"> select uir.REGION_NAME as PROVINCENAME, uir2

HTML5新属性在Google浏览器中不能显示的问题

这两天在学习HTML5新属性时遇到了如下问题,很是不解: 例如在学习使用canvas时,需要绘制一个红色的原点,代码如下: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>HTML5画布</title> 6 </head> 7 8 <body> 9 <!--定义一块画布--> 10 <

绝对定位 position:absolute,相对定位 position:relative

<1> 当我们要使用绝对定位的时候,必须要有两个条件 1>必须给父元素加定位属性,一般建议使用 position:relative(即:给父元素设为相对定位); 2>给子元素,加绝对定位position:absolute(给子元素设置为绝对定位); 同时加方向属性(top ,left,rigth,bottom) 绝对定位是以父元素为基准点,进行定位(如果他没有父元素,或者它的父元素没有设置position:relative属性)它就会以<body>为基准点进行定位.绝对

position 的属性值

理论上来说,全部 position 的取值有8个 包括:position:static | relative | absolute | fixed | sticky |  initial | inherit | unset 其中最常用的是 static .relative.absolute.fixed 和 sticky initial.inherit.unset 是css的关键字,任何css属性的取值都可以设置这几个值 position: static 默认值,在正常流中,对设置的 top .l

td标签内的内容过长导致的问题的解决办法

问题描述:在开发过程中,td标签中的有一个cell格中的内容过长,导致td标签高度增加,从而导致整个页面内容的不协调: 当td标签高度增加,而表格所在的div高度又固定的时候,会导致最后一行的内容丢失. 解决方法: 给td标签加style属性: style="white-space:nowrap;word-break:keep-all;text-overflow:ellipsis;overflow:hidden;" width="200" 解释: 使用text-ov

【webQD】☆★之详解position: absolute、relative属性

[webQD]☆★之详解position: absolute.relative 首先我们来看一下W3C对position的解释: 我们再看,W3C对position属性值的解释: ok,我们需要了解的是: 其中absolute和relative是最常用的,fixed用得也比较多(其中IE6并不支持fixed). 1.absolute(绝对定位) absolute是生成觉对定位的元素,脱离了文本流(即在文档中已经不占据位置),参照浏览器的左上角通过top,right,bottom,left(简称T

解决IE6不支持position:fixed属性

最近在优化网站浮动广告时候遇见了IE6不支持position:fixed属性.上网收集了一下解决方案 比较好的方案就是利用css表达式进行解决 补充:CSS Expression (CSS 表达式),是一种使用动态设置 CSS 属性的方式,并且被 IE5 以上的版本所支持,但是 IE8 的标准模式已不再支持 CSS 表达式了 IE7和以上的浏览器都支持position:fixed: 之前写过一篇介绍过固定页脚的文字,那时候没在ie6下测试 方法一 <!--[if IE 6]> <styl