CSS3--关于z-index不生效问题
最近写CSS3和js结合,遇到了很多次z-index不生效的情况:
1.在用z-index的时候,该元素没有定位(static定位除外)
2.在有定位的情况下,该元素的z-index没有生效,是因为该元素的子元素后来居上,盖住了该元素,解决方式:将盖住该元素的子元素的z-index设置为负数
下拉框例子:
1.盖住的时候:
2.将下拉框的z-index设置为负数
代码:
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>无标题文档</title>
- <style type="text/css">
- * {
- padding: 0;
- margin: 0;
- list-style: none;
- }
- .all {
- width: 330px;
- height: 120px;
- overflow: hidden;
- background: url(img/bg.jpg) no-repeat;
- margin: 100px auto;
- line-height: 30px;
- text-align: center;
- padding-left: 10px;
- margin-bottom: 0;
- }
- .all ul {
- position: relative;
- height: 30px;
- width: 100%;
- }
- .all ul li {
- width: 100px;
- height: 30px;
- background: url(img/libg.jpg);
- float: left;
- margin-right: 10px;
- position: relative;
- cursor: pointer;
- }
- .all ul ul {
- position: absolute;
- left: 0;
- top:-90px;
- /*display: none; 是一瞬间的事*/
- transition: all 1s;
- opacity: 0;
- /*后来的盒子会盖住前面的盒子,就算前面的盒子z-index再大也会被盖住,
- 不过可以设置后来的盒子的z-index为负数就行了*/
- z-index:-1;
- }
- .all ul .lvTow {
- top:-90px;
- opacity: 0;
- }
- .all ul .show{
- top:30px;
- opacity: 1;
- }
- </style>
- </head>
- <body>
- <div class="all" id="list">
- <ul>
- <li>一级菜单
- <ul >
- <li>二级菜单</li>
- <li>二级菜单</li>
- <li>二级菜单</li>
- </ul>
- </li>
- <li>一级菜单
- <ul >
- <li>二级菜单</li>
- <li>二级菜单</li>
- <li>二级菜单</li>
- </ul>
- </li>
- <li>一级菜单
- <ul >
- <li>二级菜单</li>
- <li>二级菜单</li>
- <li>二级菜单</li>
- </ul>
- </li>
- </ul>
- </div>
- </body>
- </html>
- <script>
- // 获取对象 遍历对象操作 显示模块 隐藏模块
- function List(id) { // 获取对象
- this.id = document.getElementById(id);
- // 取 id 值
- this.lis = this.id.children[0].children; // 获取一级菜单所有的li
- }
- // init 初始化
- List.prototype.init = function() { // 遍历所有的li 显示和隐藏
- var that = this;
- for(var i=0;i<this.lis.length;i++)
- {
- this.lis[i].index = i;
- this.lis[i].onmouseover = function() {
- that.show(this.children[0]); // 显示出来
- }
- this.lis[i].onmouseout = function() {
- that.hide(this.children[0]); // 隐藏起来
- }
- }
- }
- // 显示模块
- List.prototype.show = function(obj) {
- // obj.style.display = "block";
- obj.className = "show";
- }
- // 隐藏模块
- List.prototype.hide = function(obj) {
- // obj.style.display = "none";
- obj.className = "lvTow";
- }
- var list = new List("list"); // 实例化了一个对象 叫 list
- list.init();
- </script>
CSS3--关于z-index不生效问题的更多相关文章
- css3的calc属性不生效问题
css3的 calc:计算属性.由于自己做的项目中这个属性不常用到,偶尔用一次还没效果. 后来研究了下是因为运算符两边没加空格. 错误示例:.content{width:calc(100%-50px) ...
- 来看看css3中的box-shadow
不谈IE,只谈谈box-shadow的具体使用方法 语法: E {box-shadow: <length> <length> <length>?<length ...
- 如何让IE 低版本下支持 css3属性
依赖源 该文件为 ie-css3.htc (特别提示.htc为二进制文件,只会在ie中识别,让IE浏览器支持CSS3的一些属性) 以下为依赖文件源码 通过源码我们可以看到 该文件在一定程度上 ...
- CSS/CSS3语法新特性笔记
CSS层叠样式表 三大特性 层叠性:相同的样式会覆盖 继承性:属性可向下继承 优先级:范围越小权重越高 选择器 基础选择器 标签选择器 1 body { 2 color:#fff; 3 } 类选择器 ...
- CSS3鼠标滑过动画线条边框特效
基于CSS属性animation动画制作,效果流畅弹性十足 效果展示 http://hovertree.com/texiao/css3/32/ 源码下载:http://hovertree.com/h/ ...
- 深入理解CSS中的层叠上下文和层叠顺序(转)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...
- 深入理解CSS中的层叠上下文和层叠顺序
零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在C ...
- [转]深入理解CSS中的层叠上下文和层叠顺序
http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ 零.世间的道理都是 ...
- CSS中的层叠上下文和层叠顺序
一.什么是层叠上下文和层叠水平 层叠上下文和层叠水平有一点儿抽象.我们可以吧层叠上下问想象成一张桌子,如果有另一个桌子在他旁边,则代表了另一个层叠上下文. Stacking context 1由文件根 ...
- CSS ------ 样式学习 (一)
CSS 指层叠样式表 (Cascading Style Sheets) :定义如何显示 HTML 元素(一套自定义的衣服) 语法: 由选择器和声明(可以是一条或多条)构成, 声明以大括号({})括起来 ...
随机推荐
- linux负载均衡(什么是负载均衡)
linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...
- Delphi代码规范
1. 前言 本文档主要是为Delphi开发人员提供一个源代码书写标准,以及程序和文件的命名标准,使他们在编程时有一致格式可遵循.这样,每个编程人员编写的代码能够被其他人理解. 2. 源程序书写规范 2 ...
- Bootstrap.之模态框 显示在遮罩层后面
Bootstrap.之模态框 显示在遮罩层后面 问题描述: 在使用bootstrap模态框,弹出的窗口在遮罩层后面,见图: 解决方案: 保证模态框的代码,所在的上一级(父元素)是body标签,即可.例 ...
- 入门servlet:request获取请求体数据
@WebServlet("/RequestDemo5") public class RequestDemo5 extends HttpServlet { protected voi ...
- UVA11107 Life Forms SA模板
Life Forms Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 16827 Accepted: 4943 Descr ...
- MySQL系列(八)--数据库分库分表
在互联网公司或者一些并发量比较大的项目,虽然有各种项目架构设计.NoSQL.MQ.ES等解决比较高的并发访问,但是对于数据库来说,压力 还是太大,这时候即使数据库架构.表结构.索引等都设计的很好了,但 ...
- html5绘图工具选择
1. Chart.js 基于html5, 完全开源免费 功能过于简单,只有6种图,能满足小系统需求,使用简便,效果比较炫. http://www.bootcss.com/p/chart.js/ 2. ...
- JS引擎查找属性的原理
原型继承的原理 不断向上查找 funciton getProperty(obj,prop){ if(obj.hasOwnProperty(prop){ return obj[prop]; }else ...
- vue组件与路由的使用步骤
router:根据不同的地址跳转到不同的页面一.vue-router的使用 1.下载路由模块 npm vue-router --save 2.在router.js中 先引入路由 imp ...
- loading遮罩
.loading{ position: relative; cursor: default; point-events: none; text-shadow: none!important; colo ...