css中dispaly:hidden怎样样其子元素一起隐藏?

查看:139
本文介绍了css中dispaly:hidden怎样样其子元素一起隐藏?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

写了一段demo,想要.team .shadow{

    position: absolute;
    left: 0;
    top:  0;
    width: 400px;
    height: 400px;
    display: hidden;
    background: rgba(0,0,0,0);
    z-index: 1000;

}
.team .shadow .content{
    /*position: absolute;
    top:165px;
    left: 90px;*/
    width: 70px;
    height: 70px;
    opacity: 0.8;
    background: red;
    border-radius: 35px;
}
.team .shadow:hover{
    display: block;
    background: rgba(0,0,0,0.6);

}
<div class="shadow">

        <div class="content">详情</div>
        <div class="edit">编辑</div>
    </div>
hover前后,content的内容一直都显示了出来,display属性不影响它的子元素吗?


如图,现在这是用上面代码写出来的hover前后的效果,图中红色的区块是shadow的子元素,但是它在hover前就已经出现了,有没有办法纯用css把这个写来呢

解决方案

visibility属性是隐藏元素但保持元素的浮动位置,而display实际上是设置元素的浮动特征。

visibility属性用来确定元素是显示还是隐藏,这用visibility="visible|hidden"来表示,

visible表示显示,

hidden表示(仅)隐藏,不可恢复。

当visibility被设置为"hidden"的时候,元素虽然被隐藏了,

1、仍然占据它原来所在的位置。visibility会保留元素的位置.

2、元素被隐藏之后,就不能再接收到其它事件了,当其被设为"hidden"的时候,就不能再接收响应到事件了,因此也就无法通过JS令其显示出来。

display属性就有一点不同了。

none隐藏(元素消失),可恢复

inline,block显示

1、display被设置为block(块)时,容器中所有的元素将会被当作一个单独的块,就像<div>元素一样,它会在那个点被放入到页面中。(实际上你可以设置<span>的display:block,使其可以像<div>一样工作。

2、display设置为inline,将使其行为和元素inline一样---即使它是普通的块元素如<div>,它也将会被组合成像<span>那样的输出流。最后是display被设置:none,这时元素实际上就从页面中被移走,它下面所在的元素就会被自动跟上填充。

这篇关于css中dispaly:hidden怎样样其子元素一起隐藏?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆