我尝试通过
编辑带有过滤类别的投资组合库https://www.w3schools.com/howto/howto_js_portfolio_filter.asp
我想通过选择类别来添加动画,但是失败了。
这是我的代码:
/*Portfolio-gallery*/
/* Add padding BETWEEN each column (if you want) */
.row,
.row > .column {
}
/* Create three equal columns that floats next to each other */
.column {
float: left;
width: 398px;
display: none; /* Hide columns by default */
-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
/* Clear floats after rows */
.row:after {
content: "";
display: table;
clear: both;
-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
/* Content */
.content {
background-color: white;
padding: 10px;
-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
/* The "show" class is added to the filtered elements */
.show {
display: block;
-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
答案 0 :(得分:1)
transition
属性将不适用于display
属性。
但是您可以通过使用height
和visibility
/* Create three equal columns that floats next to each other */
.column {
float: left;
width: 33.33%;
visibility: hidden;
height: 0px;
-webkit-transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
transition: all 600ms cubic-bezier(0.645, 0.045, 0.355, 1);
}
/* The "show" class is added to the filtered elements */
.show {
visibility: visible;
height: 325px;
}
但是在这里,您必须定义此处显示的卡片的高度。
答案 1 :(得分:0)
我无法发表评论,所以我不得不这样做。
我将此代码用于我的投资组合,效果很好!
HTML
<div class="container">
<div class="row">
<div class="col-lg-12">
<div class="portfolioFilter clearfix">
<a href="#" data-filter="*" class="current">All Categories</a>
<a href="#" data-filter=".webTemplates">Web Templates</a>
<a href="#" data-filter=".logos">Logos</a>
<a href="#" data-filter=".drawings">Drawings</a>
<a href="#" data-filter=".ui">UI Elements</a>
</div>
</div>
<div class="portfolioContainer">
<div class="webTemplates objects">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/cc99b535336825.Y3JvcCwxMzk1LDEwOTEsMCw3ODA.png" alt="image">
</div>
<div class="drawings places">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/d4cfa934191261.Y3JvcCw2MTMsNDc5LDQsMjA0.jpg" alt="image">
</div>
<div class="webTemplates food">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/11893193.5482088f6f391.png" alt="image">
</div>
<div class="logos drawings">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/be4b9728308865.55b92edb950fc.jpg" alt="image">
</div>
<div class="webTemplates">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/12963199.548365055868a.png" alt="image">
</div>
<div class="ui">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/20342607.5434c04b49254.png" alt="image">
</div>
<div class="drawings">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/b11bbb26474383.555f91fd42584.jpg" alt="image">
</div>
<div class="webTemplates">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/14385875.548573dae7a09.jpg" alt="image">
</div>
<div class="drawings">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/14569777.5485b3876a1b9.png" alt="image">
</div>
<div class="logos">
<img src=" https://mir-s3-cdn-cf.behance.net/projects/202/1d854a24500155.5505cccd057a4.jpg" alt="image">
</div>
<div class="ui">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/f9b95b26406487.555cc1fded76f.jpg" alt="image">
</div>
<div class="logos">
<img src="https://mir-s3-cdn-cf.behance.net/projects/202/181a7b35469661.Y3JvcCw3NjUsNTk5LDY3LDA.png" alt="image">
</div>
</div>
</div>
</div>
CSS
body {
font-family: Arial;
}
a:focus {
outline: none;
}
.portfolioFilter {
padding: 15px 0;
}
.portfolioFilter a {
margin-right: 6px;
color: #666;
text-decoration: none;
border: 1px solid #ccc;
padding: 4px 15px;
border-radius: 50px;
display: inline-block;
}
.portfolioFilter a.current {
background: #1e1e1e;
border: 1px solid #1e1e1e;
color: #f9f9f9;
}
.portfolioContainer{
border: 1px solid #eee;
border-radius: 3px;
}
img {
margin: 5px;
max-width:100%;
}
.isotope-item {
z-index: 2;
}
.isotope-hidden.isotope-item {
pointer-events: none;
z-index: 1;
}
.isotope,
.isotope .isotope-item {
/* change duration value to whatever you like */
-webkit-transition-duration: 0.8s;
-moz-transition-duration: 0.8s;
transition-duration: 0.8s;
}
.isotope {
-webkit-transition-property: height, width;
-moz-transition-property: height, width;
transition-property: height, width;
}
.isotope .isotope-item {
-webkit-transition-property: -webkit-transform, opacity;
-moz-transition-property: -moz-transform, opacity;
transition-property: transform, opacity;
}
JS
$(window).load(function(){
var $container = $('.portfolioContainer');
$container.isotope({
filter: '*',
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
});
$('.portfolioFilter a').click(function(){
$('.portfolioFilter .current').removeClass('current');
$(this).addClass('current');
var selector = $(this).attr('data-filter');
$container.isotope({
filter: selector,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
});
return false;
});
});
希望它将对您有帮助,祝您好运!