CSS3关于z-index不生效问题的解决


Posted in HTML / CSS onFebruary 19, 2020

最近写CSS3和js结合,遇到了很多次z-index不生效的情况:

1.在用z-index的时候,该元素没有定位(static定位除外)

2.在有定位的情况下,该元素的z-index没有生效,是因为该元素的子元素后来居上,盖住了该元素,解决方式:将盖住该元素的子元素的z-index设置为负数

下拉框例子:

1.盖住的时候:

CSS3关于z-index不生效问题的解决

2.将下拉框的z-index设置为负数

CSS3关于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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。 

HTML / CSS 相关文章推荐
CSS3实现跳动的动画效果
Sep 12 HTML / CSS
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
今天学到的CSS最新技术(与图片背景相关)
Dec 24 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 HTML / CSS
CSS3实现可爱的小黄人动画
Jul 11 HTML / CSS
CSS3下的渐变文字效果实现示例
Mar 02 HTML / CSS
使用Html5、CSS实现文字阴影效果
Jan 17 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
May 27 HTML / CSS
html5的新增的标签和废除的标签简要概述
Feb 20 HTML / CSS
HTML5本地存储之Web Storage详解
Jul 04 HTML / CSS
Canvas制作旋转的太极的示例
Mar 09 HTML / CSS
iframe在移动端的缩放的示例代码
Oct 12 HTML / CSS
css3针对移动端卡顿问题的解决(动画性能优化)
Feb 14 #HTML / CSS
css3实现圆锥渐变conic-gradient效果
Feb 12 #HTML / CSS
css3翻牌翻数字的示例代码
Feb 07 #HTML / CSS
css3使用animation属性实现炫酷效果(推荐)
Feb 04 #HTML / CSS
CSS3中新增的对文本和字体的设置
Feb 03 #HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 #HTML / CSS
如何用border-image实现文字气泡边框的示例代码
Jan 21 #HTML / CSS
You might like
各种战术和打法的原创者
2020/03/04 星际争霸
apache+php+mysql安装配置方法小结
2010/08/01 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
jQuery.lazyload+masonry改良图片瀑布流代码
2014/06/20 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
JS产生随机数的用法小结
2016/12/10 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
OpenCV 模板匹配
2019/07/10 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
政府信息公开实施方案
2014/05/09 职场文书
员工保密承诺书
2014/05/28 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
民主生活会汇报材料
2014/12/15 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL