如果我感到困惑,请告诉我,但在可见性上进行转换有什么意义吗?当然,不透明度会产生整洁的效果。但没有人可以阻止的变化将立即从nada变为full。也许我们可以在一段时间内的某个时间内传播它的发生,但这种转变会同时发生。还是我错了?
这是我正在创建的代码。我应该保留第一种风格的最后三行吗?
div.contentItem{
border: 2px solid #00bb00;
border-radius: 20px;
background-color: Beige;
padding: 10px;
-webkit-transition: visibility 3.0s, opacity 3.0s;
-moz-transition: visibility 3.0s, opacity 3.0s;
-o-transition: visibility 3.0s, opacity 3.0s;
}
div.contentItemHidden{
opacity: 0;
}
div.contentItemVisible{
opacity: 1;
}
以前,我在最后两个子句中有块样式,但这实际上破坏了不透明度的转换(可能是因为display:none导致元素根本不可不透明)。
div.contentItemHidden{
display: none;
opacity: 0;
}
div.contentItemVisible{
display: block;
opacity: 1;
}
是的,在visibility
上进行转换是有意义的。如果你只在一个元素上使用opacity
,该元素仍然存在,并会阻止点击和悬停在它下面的任何东西上。使用visibility: hidden
,该元素将不再可见(类似于opacity: 0
),但无法点击。
以下链接有助于更详细地解释为什么visibility
和opacity
一起使用可能是必要的,以及如何正确使用:http://www.greywyvern.com/?post=337
顺便说一句,我注意到您在问题中提到了visibility
,但在代码中有display
。我想指出的是,可见性和显示之间是有区别的。特别地,元件visibility: hidden
是不可见的,但是仍然占据空间。具有display: none
的元素不可见,但不占用空间。