一个由hasLayout引起的渲染例子
有伴侣告急,说是某个a标签配置了display:block属性,单是放鼠标上去,就是没有回响,闲着没事,就帮着调了一下,闲着把题目的发明到办理总结一下,利便其后人,同时有不敷之处,还请各人多多指正。 正文: 先看页面截图:
赤色标志的就是题目地址,其相干html代码是: Copy to Clipboard引用的内容:[www.veryhuo.com] <DIV id="content"> <A class="btnBack" href="#">回到首页</A><DIV class="sec08"> <H3><IMG src="./images/t.jpg" width="300" height="47" alt=""></H3> <P><IMG src="./images/p01.jpg" width="425" height="92" alt=""></P> <P><IMG src="./images/p02.jpg" width="518" height="128" alt=""></P> </DIV> </DIV> PS:XHTML中,标签应该小写,既然赏识器不介怀,加上这不是本次的接头重点,这些就不接头了,但愿新部下次写代码要留意一下这个。再来看看谁人A标签的CSS代码: Copy to Clipboard引用的内容:[www.veryhuo.com] #content{background:url(../images/c.jpg) no-repeat 0 0; min-height:548px; _height:548px; position:relative; } .btnBack{ display:block; width:100px; height:40px; position:absolute; right:80px; top:10px; text-indent:-999em; border:1px solid red; } .sec08{ text-align:center; } .sec08 h3{ padding:25px 0 40px; zoom:1; } .sec08 p{ margin:0 0 30px; } 可以看出,a标签并没有行使配景图,仅仅是行使相对定位,团结父层的配景图模仿点击。 题目是:在FF这种较量尺度的赏识器中没有题目,但在IE6和IE7却有题目,这个题目较量奇怪,因为我也不是很有此方面的履历,就用笨要领一点点调试。 起首,定位题目代码。也就是把代码一点点地删减,直到题目消散,最后把题目定位到a标签下面的div > h3 此时,认为也许是h3把a标签盖住了,为了验证本身的设法,将代码精简为: Copy to Clipboard引用的内容:[www.veryhuo.com] <div id="content"> <a class="btnBack" href="#">a</a><div class="sec08"> <h3>h3</h3> </div> </div> 同时在CSS加了一些调试代码,测试结果图如下:
如上图,我将a标签配置了赤色边框,同时h3标签配置了绿色边框,此时,在赤色框内,绿色线上的地区无点击结果(鼠标放上去的时辰输入光标,应该是在响应h3标签),而绿色线下面的地区则正常,声名白a标签正是被h3标签盖住了。 凭证层叠优先法则,动态定位的优先,但在IE内里却呈现了相反的环境,纵然把a标签的代码已到h3的后头,也依然云云。针对这个IE特有的题目,一开始想到的就是hasLayout特征,于是,回收最简朴的要领,直接在h3的CSS加了zoom属性,题目办理。 但着实依然没有完全办理,环境如下:
当鼠标放在绿色边框上时,依然没有点击结果,对付追求美满的措施员,这依然是不能接管的,又况且zoom不是尺度的CSS属性,以是在此,继承改造。 针对本身“h3遮挡了a标签”这种设法,做了一些实行,但最后都没有乐成,至于缘故起因,预计只能问IE的开拓职员了,以是最后我照旧回到计划图上,换一种办理要领。针对h3地址层,回收的办理方案是: 这样就停止了有元素盖住a标签,导致的一系列标签。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |