技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
服务器技术
操作系统
网站运营

分类目录

热门标签

赞助商

搜索

如何让某一DIV层显示在上面?z-index解决问题

作者:admin    时间:2017-7-28 14:18:26    浏览:

在网页设计时,有时遇到某个DIV内容被其他层覆盖挡住了,怎么办呢?我们如何让某一DIV层显示在上面?其实,使用css属性 z-index 就能解决问题。

设置z-index让div层wrap2在上面

设置z-index让div层wrap2在上面

html代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>z-index 设置层上下位置</title>
<style>
.wrap1, .wrap2, .wrap3{width:200px; height:200px;}
.wrap1{
  background:#fcc;
  position:absolute;
  top:80px;
  left:200px;
  z-index:300; /* 设置层上下位置 */
}
.wrap2{
  background:#cfc;
  position:absolute;
  top:50px;
  left:150px;
  z-index:500; /* 设置层上下位置 */
}
.wrap3{
  background:#ccc;
  position:absolute;
  top:20px;
  left:100px;
  z-index:100; /* 设置层上下位置 */
}
</style>
</head>

<body>
<div class="wrap1">
  这里是wrap1
</div>
<div class="wrap2">
  这里是wrap2
</div>
<div class="wrap3">
  这里是wrap3
</div>
</body>
</html>

execcodegetcode

代码分析:

1、设置三层上下位置的属性是 z-index,数值小的在下面,数值大的在上面。

2、css属性 z-index 兼容所有浏览器,不用担心在IE8浏览器上不起作用。

注意问题:

在IE浏览器上,即使设置 z-index 也不能让div位于下拉菜单控件 select 的上面,同样也不能位于flash的上面,但是在Firefox、Chrome、360等主流浏览器上是没有问题的。

如何用Javascript设置div的z-index?

JavaScript 语法是:

object.style.zIndex="1"

假如div的id是 div1 ,则Javascript就可以这样写:

document.getElementById("div1").style.zIndex="1";

注意 zIndex 的大小写要正确。

有关z-index的一些知识

z-index 定义和用法

z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。该属性设置一个定位元素沿z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远。

z-index:auto | number

默认值:auto 堆叠顺序与父元素相等

number:无单位的整数值,可为负数

JavaScript 语法: object.style.zIndex="1"

注意问题

z-index 属性适用于那些被定义了除 position:static 外任意属性的元素中。即 z-index 仅能在定位元素上奏效(position: absolute | relative | fix)。

stacking context & stack level & z-index 是什么

stacking context 堆叠上下文

每个定位元素都归属于一个stacking context(即堆叠上下文,以下统一用堆叠上下文),最初的堆叠上下文(即根部堆叠上下文)是由根元素产生(一般页面的根元素是body),而其他的堆叠上下文则由定位元素产生(此定位元素的z-index 被定义一个非auto 的z-index 值),定位子元素会以这个基准堆叠上下文为参考,用相同的规则来决定层叠顺序。

触发stacking context

1. 定位元素并且定义了z-index为非auto;

2. FF, Safari, Chrome下元素设置opacity属性(1除外)会产生stacking context;(除了Opera)

3. IE6,7下的定位元素,无论设置了z-index,或无论z-index设置成什么值,都会产生新的 stacking context。

stack level 堆叠级别

在一个堆叠上下文中的每个box ,都有一个stack level(即堆叠级别,以下统一用堆叠级别),它决定着在同一堆叠上下文中每个box 在z 轴上的显示顺序。同一堆叠上下文中,堆叠级别值大的显示在上,堆叠级别值小的显示在下,同一堆叠级别遵循后来居上的原则(back-to-front )。不同堆叠上下文中,子元素显示顺序以父级的堆叠上下文的堆叠级别来决定显示的先后情况。于自身堆叠级别无关。说白了就是父元素的堆叠上下文的堆叠级别决定了子元素堆叠级别将来的发展,父元素堆叠级别低,则子元素堆叠级别就必然比父元素堆叠级别高的子元素堆叠级别低,即使这个子元素在他父元素内部的堆叠级别再高也无济于事。

z-index

页面中元素在z轴方向上的排列,先由堆叠上下文决定,如果是相同的堆叠上下文那么由堆叠级别决定(后来居上原则),如果又是相同的堆叠级别(同一个父元素),则由z-index 决定。

这里最容易搞混的就是堆叠级别和z-index ,大多数时候觉得他们是同一个东西,而事实上他们还是有区别的,个人认为,当没有z-index 时候,我们所依靠的准则是以堆叠级别的后来居上的原则来判定顺序。如果在一个堆叠上下文,一般就是在body 下,俩个不同的z-index 的时候,以z-index 大小来判定上下顺序,而我们平时印象里留意的最多的就是z-index ,所以往往误解了堆叠级别和z-index 的区别。

Tags: css  z-index  
荷塘月色论坛社区 电脑主机 新2皇冠 博文资讯 圈网你我他 天府新区 连云港市人民政府国有资产监督管理委员会 网站大丰收鱼庄 渝茶网 牛牛代理 鸿运国际娱乐网站16素材网 优博网址 多宝官网 bbin平台 丰收之家视频网址 姚记娱乐网 888真人备用网址 长沙文艺网 雅酷卡 四川新闻网甘孜频道 小易胜博官方网站 乐博开户 天上人间网址 牛哈备用金管理制度网 e世博网址 易胜博赔率特点 美高梅代理 质检仪器装备网 中华企业录 复兴新闻网 博狗网站 汶川招聘网 美高梅网站 易胜博 优博官网 php教程 中研网 888真人赌博 888真人备用 中国物通网 会嘉网 二八杠玩法 博彩公司评级 365bet 高清MV免费下载 全讯网新 中国财经 IT行业最新动态 威廉希尔 Xi'an Jiaotong 澳门百家乐 pc蛋蛋 365体育投注 365bet官网 pc蛋蛋预测 365体育在线 皇冠比分 365bet 必赢亚洲 皇冠比分网 葡京娱乐场 新2网址 dafa888 金沙 澳门金沙 365体育 申博 五湖四海全讯网 鸿运国际 澳门新葡京 世爵娱乐 澳门银河官网 真人娱乐 tt娱乐 皇冠新2 博狗娱乐 bwin 澳门赌场 世爵 银河娱乐 澳门新葡京娱乐场 皇冠即时比分 申博官网 大发 网络赌博 博狗 利来国际 皇冠开户网 优博 皇冠新2网址 沙巴体育 网上轮盘 美高梅 大发888赌场 二八杠 明升体育 明升 bbin 伟德国际 赌大小 和记娱乐 新葡京娱乐 澳门赌博网站 188bet 俄罗斯转盘 百家乐技巧 大发体育 立即博 赌博网站 皇冠体育 澳门新濠天地 澳门博彩有限公司 亚洲娱乐网 开心8 世爵娱乐平台 网上娱乐 皇冠篮球比分网 即时比分网 凯时娱乐 365bet体育在线 易胜博 日博 新濠天地 皇冠足球比分 新葡京娱乐场 黄金城 沙龙365 优德娱乐 澳门现金网 易胜博官网 皇冠娱乐网 澳门美高梅 888真人网址 外围网站 游艇会 赌球 世爵平台 m88 博彩公司 电子游戏 全讯网新2 金沙网址 新葡京官网 新2 宝马会 波音平台 12bet备用网址 博狗体育 澳门博彩 赌博游戏 真人网上娱乐 多宝娱乐 皇冠娱乐 多宝平台 澳门彩票 赌博网 太阳城申博 真钱二八杠 新濠娱乐城 澳门美高梅官网 澳门足球博彩 大发国际 真钱21点 现金牛牛 网上赌博 888真人平台 真人游戏 现金游戏 永盈会 申博开户 赌场游戏 澳门赌场玩法 葡京棋牌 任你博 外围赌球 皇冠现金 注册送体验金 娱乐城 外围足球 多宝娱乐平台 葡京国际 二八杠游戏 足球外围 dafa888娱乐场 赌博技巧 赌球规则 皇冠国际 互博国际 凤凰娱乐平台 博彩导航 888真人赌博 真钱棋牌 888真人备用网址 新利 缅甸赌场 真钱扑克 现金赌博 澳门娱乐城 太阳城娱乐城 大发888 优博平台 滚球 足球开户 老挝赌场 网上真钱游戏 体育投注 现金网 现金二八杠 博彩网址大全 88娱乐 澳门葡京赌场 99真人 赌球网 太阳娱乐城 澳门新濠天地官网 赌球网址 新利棋牌 博彩网 真钱游戏平台 永利棋牌 体育在线 博彩公司排名 澳门赌球 bodog 明升88 澳门博彩网站 威廉希尔中文网站 网上赌球 888真人官网 盈禾国际 888真人开户 澳门网络博彩 太阳城娱乐 澳门足球 现金炸金花 澳门赌博技巧 博狗注册 网络赌球 明升国际 m88明升 足球开户网 大发888娱乐城 纸牌赌博 多宝 12bet 澳门葡京赌场官网 澳门网 澳门美高梅官方网站 美高美 娱乐真人 12博 足球投注