你可以用 深度(z-index)试试。下面是举的一个小例子: #a{ position:absolute; top:80px; left:100px; z-index:1; } #b{ position:absolute; top:70px; left:160px; z-index:0; } ### 最顶层div被flash或者下拉列表遮挡的问题解决 在网页设计中,有时会出现顶层的div元素被其他元素如Flash或下拉列表遮挡的情况。这种遮挡问题通常是由于CSS定位属性设置不当造成的,尤其是`z-index`值的设置不合理。本文将详细探讨这一问题,并提供解决方案。 #### z-index属性简介 `z-index`属性用于控制HTML元素的堆叠顺序。具有更高`z-index`值的元素会显示在具有较低`z-index`值的元素之上。默认情况下,`z-index`只对设置了`position`属性(`relative`、`absolute`或`fixed`)的元素有效。 #### 示例分析 假设页面中有两个div元素:`#a`和`#b`,它们的位置和`z-index`属性如下所示: ```css #a{ position:absolute; top:80px; left:100px; z-index:1; } #b{ position:absolute; top:70px; left:160px; z-index:0; } ``` 在这个例子中,`#a`的`z-index`值为1,而`#b`的`z-index`值为0。因此,在重叠区域,`#a`将显示在`#b`之上。这是通过调整`z-index`值来控制元素堆叠顺序的基本方法。 #### Flash与div元素的遮挡问题 在早期的Web开发中,Flash是非常流行的多媒体技术之一。然而,由于Flash和HTML元素的渲染机制不同,两者之间的遮挡问题比较常见。为了解决这个问题,可以通过以下两种方法进行处理: 1. **设置Flash的透明模式**:当Flash嵌入到网页时,可以通过设置`wmode`参数来改变其渲染模式。例如: ```html <object> <param name="wmode" value="transparent"> </object> ``` 当`wmode`设置为`transparent`时,Flash会变得半透明,允许底层的HTML元素显示出来。这对于解决Flash遮挡问题非常有用。 2. **调整div的`z-index`值**:另一种方法是确保div元素的`z-index`值足够高,以覆盖Flash对象。例如,如果Flash对象没有指定`z-index`值,则可以将div元素的`z-index`值设置为一个较高的正数值,使其显示在Flash对象之上。 #### 实际案例 考虑下面的代码示例: ```html <div style="z-index:-1"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://xxx.xxx.xxx" width="200" height="115"> <param name="movie" value="media.swf"> <param name="quality" value="high"> <embed src="media.swf" quality="high" pluginspage="http://xxx.xxx.xxx" type="application/x-shockwave-flash" width="200" height="115"></embed> <param name="wmode" value="Opaque"> </object> </div> ``` 在这个例子中,为了确保Flash不遮挡其他HTML元素,我们采取了以下措施: - 将包含Flash的`div`元素的`z-index`值设置为-1。 - 设置Flash的`wmode`参数为`Opaque`,使得Flash成为不透明的背景层。 #### 总结 通过合理设置`z-index`属性以及调整Flash的渲染模式,我们可以有效地解决顶层div元素被Flash或其他元素遮挡的问题。这不仅能够提升用户体验,还能确保页面布局的一致性和完整性。希望本文能帮助开发者更好地理解和解决这类问题。
0
推荐对于下拉列表,只要在层中加入一个和层相同大小的<Iframe>就可以了。具体做法如下:
<DIV>
<!--//原来的内容//-->
<IFRAME width="100%" height="100%" style="position:absolute; top:0px; z-index:-1; border-style:none;"></IFRAME>
</DIV>
这个方法对于透明的或外形不规则的层无效。
--------------------------------------------
FLASH默认是在DIV层之上的,这样会使置最顶层的DIV被flash遮挡,我们可以作下面设置,在FLASH的两个object之间加一个,就行flash置于div之下了
<object>
<param name="wmode" value="Opaque">
<param name="wmode" value="transparent">
</object>
如何将DIV置于最顶层请看
div+css使flash置于顶层
你可以用 深度(z-index)试试。下面是举的一个小例子:
#a{
position:absolute;
left:100px;
z-index:1;
}
#b{
position:absolute;
top:70px;
left:160px;
z-index:0;
}
以z-index的数值大小为准,大值对象的层级位于小值对象之上。
flash透明代码是:<param name="wmode" value="transparent">
有时在网页中需要将flash所在层设为底层,以免flash将其它div覆盖,具体方法如下,主要分两步:1将flash所在div的z-index值设为-1; 2将flash设置为不透明.
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 31
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助