relative absolute无法冲破的等级问题解决第1/3页_经验交流

前段时间记得好像是谁在群里提出了一个实在是让大家都觉得很不理解的一个问题: 

复制代码 代码如下:

<ul>  
<li>第一块</li>  
<li><span>第二块</span></li>  
<li>第三块</li>  
<li>第四块</li>  
<li>第五块</li>  
</ul> 

 
       如果我我们设定LI为position:relative;设置span为position:absolute;那么我们会发现无论SPAN的z-index值设置得再高都将永远在后面父级的下面。 

复制代码 代码如下:

*{margin:0; padding:0; list-style:none;}  
li {width:100px; height:100px; margin:0 5px 0 0; background:#000; float:left; position:relative; z-index:1;}  
li span {width:200px; height:100px; background:#c00; position:absolute; top:0; left:100px; z-index:1000;}  

       试一下很容易发现我们的子级,z-index的值达到了1000的被设定了position:absolut;子级都被档在了父级的下面。我想了很久,我觉得其根本问题是:设置同样的position:relative/absolute;同级标签之间的等级是无法用z-index超越的。我们上面的例子中的第一个LI的等级永远都要小于后一个LI的等级,所以我们在LI里的子级身上设置了position:absolute;,给了非常高的z-index值。 

       也许你会这样来想:只要针对有span的LI设置position:relative;不就好了吗?非常正确。当其它的LI都不设置position:relative;那么我们需要的那个子级就可以浮在所有的内容之上。但是如果实际上,所有的LI中都要有span,并且属性都需要一样怎么办?当然我们不大会需要有这样的效果。但是我们需要有这样的效果:子级全部是隐藏的,当有鼠标反应时出现并且浮在所有的内容之上。我们要知道,这确实是件让人头疼的事,因为我们上面见识到了,子级在显示的时候都被压在了下一个父级标签的下面。下面我们来实现一下这个鼠标反应的定位效果: 

复制代码 代码如下:

<ul>  
<li><a href="" title=""><span>第一块</span></a></li>  
<li><a href="" title=""><span>第二块</span></a></li>  
<li><a href="" title=""><span>第三块</span></a></li>  
<li><a href="" title=""><span>第四块</span></a></li>  
<li><a href="" title=""><span>第五块</span></a></li>  
</ul>  

我们通过链接的鼠标事件来完成这个显示隐藏效果: 

复制代码 代码如下:

*{margin:0; padding:0; list-style:none;}  
li {height:100px; margin:0 5px 0 0; float:left; width:100px;}  
li a {position:relative; z-index:1; display:block; height:100px; width:100px; background:#000;}  
li a:hover {background:#000000;}  
li span {display:none;}  
li a:hover span {display:block; background:#c00; width:200px; height:200px; position:absolute; top:0; left:100px; z-index:1000;} 

当前1/3页 123下一页阅读全文

时间: 2024-10-15 13:45:01

relative absolute无法冲破的等级问题解决第1/3页_经验交流的相关文章

position:relative/absolute无法冲破的等级

前段时间记得好像是有人提出了一个实在是让大家都觉得很不理解的一个问题: <ul> <li>第一块</li> <li><span>第二块</span></li> <li>第三块</li> <li>第四块</li> <li>第五块</li> </ul> 如果我我们设定LI为position:relative;设置span为position:ab

Position:Relative/Absolute无法冲破的等级

前段时间记得好像是谁在群里提出了一个实在是让大家都觉得很不理解的一个问题: <ul><li>第一块</li><li><span>第二块</span></li><li>第三块</li><li>第四块</li><li>第五块</li></ul> 如果我我们设定LI为position:relative;设置span为position:absolu

position:relative/absolute无法冲破的等级_经验交流

第一块 第二块 第三块 第四块 第五块

position:relative absolute无法冲破

前段时间记得好像是谁在群里提出了一个实在是让大家都觉得很不理解的一个问题: <ul>  <li>第一块</li>  <li><span>第二块</span></li>  <li>第三块</li>  <li>第四块</li>  <li>第五块</li>  </ul>  如果我我们设定LI为position:relative;设置span为po

CSS定位中Positoin、absolute、Relative的一些研究_经验交流

Positoin属性有四个值: static.fixed.absolute和relative,后面两个在布局中的定位里是经常用到的,顾名思义,absolute是指绝对定位,即将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位,而其层叠通过z-index属性定义.此时对象不具有边距,但仍有补白和边框.ralative是指相对定位,就是依据left,right,top,bottom等属性在正常文档流中偏移位置. 但是,怎么个绝对法,又怎么个相对法呢?以前我一直没有

css常见问题解决方法小结_经验交流

1. 检查HTML元素是否有拼写错误.是否忘记结束标记  即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检查一下有无错误.  2. 检查CSS是否正确  检查一下有无拼写错误.是否忘记结尾的 } 等.可以利用CleanCSS来检查 CSS的拼写错误.CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误.  3. 确定错误发生的位置  如果错误影响了整体布局,则可以逐个删除div块,直到删除某个div块后显示恢复正常,即可确定错误发生的位置.  4. 利用b

CSS 浏览器的等宽空格问题解决_经验交流

但是   也不是很可靠,比如空格间距非常大,那么我们必须增加多个占位符,同时页面的体积会变得非常大. 同时,注意到 Safari 中的   宽度是已设定字符的空格宽度(Safari 的默认字体为 Times),也就是说一个中文字符需要两个占位符. 具体情况如下图所示: 其实,这不是 Safari 的问题,而是字体的问题.解决的方式就是使用下面的属性 font-family: '宋体';将 Safari 的默认字体设置成"宋体"等中英文等宽的字体,就能解决.Windows 版本的 Saf

xhtml+css网页制作中常见问题解决方法_经验交流

无论是谁,在制作页面的过程都是会碰到这样或者那样的问题,出了问题就肯定要解决.解决问题的前提是要知道问题出在什么地方,对于新手来说不一定一看到问题就知道问题出在哪里.比如在IE6中"多了一只猪"的问题,对于一些问题需要更多的经验交流分享吸收后才能更好的成长. 在网络中我想大家都有提过问题,需要别人解答的时候,但往往是你的一个问题却得不到任何人给你的解答,或者说是完全被无视了.对于这个时候的你,是不是在想"难道是因为我这个问题太简单了,他们都不想回答""他们

CSS中相对/绝对之relative/absolute介绍

absolute属性配合left/top/right/bottom属性具有极强的定位性.这种功能特性是如此的明显与强烈,可能会让页面重构人员很单纯的被这一特性"捕获",而产生迷失. 一板一眼的描述可能难以理解,举个通俗点的例子吧: 一个脸蛋不错身材超好的姑娘穿上超PP的衣服后是如此的光艳动人,对于我们这类常年困居于深宅大院的光棍男来讲,这种美艳是如此的迷人,以至于我们的精力多集中在这沉鱼落雁的美貌上,而忽略了其他一些东西,例如知性,善良,贤惠等.很容易的,我们以后一想到此女子,第一反应