CSS浮动定位:引起文本重影的怪异问题

2016-02-20 00:08 98 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享CSS浮动定位:引起文本重影的怪异问题吧。

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

事物绝非十全十美总有强差人意的一面,之前针对浮动分析了其引起文本重影的怪异问题,而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。

围绕着定位列出的种种问题,对某些情况只是作出了分析而暂时没有找到有解决方案,但既然知道问题所在,我们可以尽可能的采取其它措施避免这现象。

position:relative;属性值导致overflow:hidden;失效。

 

问题:在IE6/7中子级设置position:relative;属性值后,导致父级的overflow:hidden;失效。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

分析:与定位的层级关系有关,IE6/7解析为内容已经跳出文档流,以致父级误以为没有包含内容。

解决方案:
对于IE6可以为父级添加定位属性纠正问题,但IE7依然无效。

overflow充当了position:relative的角色

 

问题:在IE6或IE quirks模式中设定overflow:auto/hidden/scroll属性值后,元素显示效果相当于position:relative的相对定位效果。

分析:在怪异模式与标准模式下的页面对CSS的解析会有一定的差异甚至是扭曲了其属性的作用,对这现象暂时还没有冲破的能力,也只能记录与回避了。

没有实渲染导致绝对定位的错误

 

问题:在IE6中,子级元素绝对定位于父级元素时,当动态改变父级宽高时,子级位置没有发生变化。

分析:估计是动态改变父级宽度时,IE6并没有实时对浏览器渲染。暂时没有CSS能解决这问题,但可尝试使用JS对改变改模块高度进行刷新解决这问题。

IE6中position:relative;属性值无效

 

问题:在IE6及以下版本,父级元素已设置position:relative;属性值,但子级绝对定位元素没有生效。

分析:原因在于父级元素没有触发haslayout(相关资料请搜索On having layout),IE7及以上的高级浏览器则不存在这问题。

解决方案:
在父级元素中添加让其触发haslayout的CSS属性值。

奇数引起定位的1pxBUG

 

问题:在IE6及以下版本,父级元素宽度高度为奇数时,子级元素绝对定位于(right:0;bottom:0;),会出现往内偏移1px的错误。

分析:其真正原因还得问IE6的开发者了。但从例子中可以观察到左上角的子级元素显示正常,其原因为盒子拉伸扩展为上至下左至右,估计于此以至靠左边或顶部的位置不会发生移动的变化。

来源:http://www.tulaoshi.com/n/20160220/1631346.html

延伸阅读
标签: Web开发
我总觉得,CSS中背景图片的定位有些似是而非,这个问题困扰我很久了,今天总算搞懂了,一定要记下来,防止忘记。 在CSS中,背景图片的定位方位有3种: 1)关键字:background-position: top right; 2)像素:background-position: 0px 0px; 3)百分比:background-position: 0% 0%; 上面这三句语句,都将图片定位...
标签: Web开发
在做项目开发时遇到了一个怪异现象整段内容被重影的问题,一般来说这类问题在IE6中表现的比较多,但这次出人意料的是IE7也殃及在内。在早前互联网上就有分享过使用HTML注释会引起类似的文字倒影问题,但此时的页面却是没有任何注释~,持续地测试分析问题变得越来越有趣了 测试结果为当不适当地使用float:left/right; width:100%; displa...
        在这一节里,我们来看一个利用z-index定位的例子,这个例子的效果 在这里 。 我们看到例子中的两幅图片和一段文字分别处于不同的空间位置,文字覆盖在那朵花的图片上,而挥动小旗的小老鼠却又覆盖在文字的上面。那么这种效果是怎样实现的呢?这里利用了CSS定位的z-index属性,代码如下: <html ...
标签: Web开发
什么是浮动? 浮动是 css 的定位属性。我们可以看一下印刷设计来了解它的起源和作用。印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为文本环绕。 这是一个例子: 在排版软件里面,存放文字的盒子可以被设置为允许图文混排,或者无视它。无视图文混排将会允许文字出现在图片的上面,就像它甚至不会在那里一样。这就是图片是否...
标签: Web开发
基于浮动的布局利用了float(浮动)属性来并排定位元素,并在网页上创建列。可以利用这个属性来创建一个环绕在周围的效果,例如环绕在照片周围,但是当你把它应用到一个div标签上时,浮动就变成了一个强大的网页布局工具。float属性把一个网页元素移动到网页(或者其他包含块)的一边。任何显示在浮动元素下方的HTML都在网页中上移,并环绕在浮...

经验教程

578

收藏

48
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部