关于css在不同类上触发transition过渡问题_html/css_WEB
通过点击一个类触发事件,使另一个类发生display从none到block从而产生height的变化。 在各个类下面添加transition:height 2s;都没有效果 要怎样设置才能使该变化有过渡效果。
回复讨论(解决方案)设置高度
设置高度 我的页面是用百分比设置的,能不能在不设置px的情况下使用呢 百分比也可以。比如height: 0%;到height: 100%;
百分比也可以。比如height: 0%;到height: 100%; 我的height是auto;在下面设置transition没效果; 是那种点击出下拉栏的那种效果,有三层,所以高度变化有三层,点击事件使通过JS添加的。 所以我只有个变化的DIV,和none类{display:none}控制出现和消失 不知道要怎么做才能加过渡效果QAQ 听你的描述,貌似是出在display:none到block的问题吧,你过渡都没声明这个属性,怎么会有从无到有的效果(PS:过渡不支持这个属性)。所以你只要把display:none去掉就行了,让元素的高度变化就行 简单一点说就是我元素本身是display:block,然后通过js 增删none类{display:none}来达到下拉栏的效果;
简单一点说就是我元素本身是display:block,然后通过js 增删none类{display:none}来达到下拉栏的效果; 别用js去增删none类,改变高度就行。因为你加了这个所有没有效果。 一↓
别用js去增删none类,改变高度就行。因为你加了这个所有没有效果。 那不就得全部重做了 已经不打算纠结display了,但是为什么.none {height:0%!important;}不起作用,!important不是最高级了吗,还是被其他css高度覆盖了 transition过渡功能有局限性,其过渡属性的起始值和终止值都必需是数值型的值。而且必需明确的设定为固定的数值。不能用auto,none,block等属性做过渡
transition过渡功能有局限性,其过渡属性的起始值和终止值都必需是数值型的值。而且必需明确的设定为固定的数值。不能用auto,none,block等属性做过渡 那已经没办法了吗 ~ 能不能不用css也能做出平滑下拉的效果~
看看这个 http://stackoverflow.com/questions/3508605/how-can-i-transition-height-0-to-height-auto-using-css
看看这个 http://stackoverflow.com/questions/3508605/how-can-i-transition-height-0-to-height-auto-using-css 谢谢,我把一些重要的高度改成max-height和transition:max-height 2x;后可以了! |