css3元素重叠,css关于发生元素重叠后2D转换的动作执行问题。

1.问题情况:

本人前端小白一枚,正在学习html+css。正在学习css中有关2D变换的一些属性,因此想做一个翻转菜单来增强自己的理解。但是发现一个无法理解的现象,特来请教大神们。具体问题下图:

bVTXNb?w=901&h=554

动作为鼠标移动到一级菜单后对应的二级菜单显示。(visibility属性从hidden变为visible)

此时将鼠标移动到1所示位置,2处此时没有元素(即此时无元素重复),该列二级菜单没有收回。

bVTXNO?w=801&h=558

此时鼠标仍移动到1位置,2位置此时已经添加一个div,因为此时还未对二级菜单设置position属性,未脱离文档流,所以有元素重叠。觉得奇怪的现象出现了:当鼠标焦点在文本时,二级菜单没有收回,但当鼠标焦点在二级菜单时(因为设置为a标签,所以此时鼠标会变成手势),二级菜单反而收回了!对这个结果我是有点懵的。。。。要是反过来我倒还能接受了。。

真心求教各位大神答疑解惑了!

2.代码如下:

2D综合练习-翻转菜单

/*企业开发不推荐如此写法*/

* {

margin: 0;

padding: 0;

}

.box1 {

margin: 0 auto;

margin-top: 100px;

width: 400px;

height: 300px;

border: 1px solid #ccc;

box-sizing: border-box;

}

.content {

width: 400px;

height: 260px;

background-color: #a7ffff;

}

ul li {

list-style: none;

}

/*一级菜单样式*/

.first-menu {

width: 400px;

height: 40px;

background-color: #a7ffff;

/*margin:0 auto;*/

}

.first-menu > li {

width: 120px;

height: 40px;

text-align: center;

line-height: 40px;

background-color: #ffb2a2;

float: left;

margin-left: 10px;

/*position: relative;*/

}

/*二级菜单样式*/

.second-menu {

/*为了重现这种情况,先将定位属性注释掉*/

/*position: absolute;*/

/*left: 0;*/

/*top: 40px;*/

}

.second-menu li {

width: 120px;

height: 40px;

line-height: 40px;

background-color: #ccc;

text-align: center;

transform: rotateY(180deg);

transition: all 1s;

visibility: hidden;

opacity: 0;

}

/*二级菜单展现样式*/

.first-menu > li:hover .second-menu li {

/*height: 40px;*/

transform: none;

visibility: visible;

opacity: 1;

}

.first-menu > li:hover .second-menu li:nth-child(1) {

transition-delay: 0ms;

}

.first-menu > li:hover .second-menu li:nth-child(2) {

transition-delay: 200ms;

}

.first-menu > li:hover .second-menu li:nth-child(3) {

transition-delay: 400ms;

}

.first-menu > li:hover .second-menu li:nth-child(4) {

transition-delay: 600ms;

}

.first-menu > li:hover .second-menu li:nth-child(5) {

transition-delay: 800ms;

}

/*二级菜单收回样式*/

.first-menu > li .second-menu li:nth-child(1) {

transition-delay: 800ms;

}

.first-menu > li .second-menu li:nth-child(2) {

transition-delay: 600ms;

}

.first-menu > li .second-menu li:nth-child(3) {

transition-delay: 400ms;

}

.first-menu > li .second-menu li:nth-child(4) {

transition-delay: 200ms;

}

.first-menu > li .second-menu li:nth-child(5) {

transition-delay: 0ms;

}

a {

display: block;

width: 120px;

height: 40px;

background-color: #3fff6c;

}

我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字我是文字

要是能在其他方面也提点一二,更是在此感激不尽啦!~

第一次提问,新手上路,好紧张啊~~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值