私は効果を持つウェブサイトにsection
を持っています。クライアントは、がfront-to-back
から1つの自動フリップに制限され、次にback-to-front
にカーソルが削除されてからが発生するのがclick
であると尋ねました。基本的には、1回のサイト訪問でアクションが自動的に発生し続けることを望んでいません。私は彼らがユーザーがサイトをナビゲートしているときに起こっている場合、それは少し迷惑になるかもしれないと思っていると思う。 これも可能ですか?もしそうなら、どうしたらいいですか?それが立つようCSS - フリップホバー効果は一度だけ発生する
は、ここでのコードだ -
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,500,800);
body {
font-family: 'Montserrat', sans-serif !important;
}
#whatwedo {
width: 100%;
max-width: 100%;
height: auto;
}
/* Parallax flipping cards - Codepen */
/* *{
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
box-sizing: border-box;
} */
h1 {
font-size: 3rem;
font-family: 'Montserrat';
font-weight: normal;
color: #000;
text-align: center;
margin: 0;
padding-bottom: 0px;
}
.container-fluid {
/* width: 90%; */
margin: 0px auto;
/* max-width: 80rem; */
}
.cols {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
.col-sm-3 {
/* width: calc(25% - 2rem); */
/* margin: 1rem; */
height: 300px;
width: 300px;
float: left;
margin: 0 20px 0 0;
/* padding: 10px; */
cursor: pointer;
}
.container {
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-perspective: 1000px;
perspective: 1000px;
}
.front,
.back {
background-size: cover;
background-position: center;
-webkit-transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
-o-transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1), -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
text-align: center;
/* size of box */
min-height: 300px;
width: 300px;
height: 300px;
border-radius: 10px;
color: #000;
font-size: 1rem;
}
.back {
/* background: #fff;
background: -webkit-linear-gradient(45deg, #cedce7 0%,#596a72 100%);
background: -o-linear-gradient(45deg, #cedce7 0%,#596a72 100%);
background: linear-gradient(45deg, #cedce7 0%,#596a72 100%); */
}
.front:after {
position: absolute;
top: 0;
left: 0;
z-index: 1;
width: 300px;
height: 300px;
content: '';
display: block;
/* background shade - was .6 originally */
opacity: .;
background-color: #fff;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
border-radius: 10px;
border: 0px solid;
}
.container:hover .front,
.container:hover .back {
-webkit-transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
-o-transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
transition: transform .7s cubic-bezier(0.4, 0.2, 0.2, 1), -webkit-transform .7s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.back {
position: absolute;
top: 0;
left: 0;
width: 300px;
font-size 1rem;
text-align: left;
}
.inner {
-webkit-transform: translateY(-50%) translateZ(60px) scale(0.94);
transform: translateY(-50%) translateZ(60px) scale(0.94);
top: 50%;
position: absolute;
left: 0;
width: 100%;
padding: 2rem;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: 1px solid transparent;
-webkit-perspective: inherit;
perspective: inherit;
z-index: 2;
}
.container .back {
-webkit-transform: rotateY(180deg);
transform: rotateY(180deg);
/* -webkit-transform-style: preserve-3d;
transform-style: preserve-3d; */
}
.container .front {
-webkit-transform: rotateY(0deg);
transform: rotateY(0deg);
/* -webkit-transform-style: preserve-3d;
transform-style: preserve-3d; */
}
.container:hover .back {
-webkit-transform: rotateY(0deg);
transform: rotateY(0deg);
/* -webkit-transform-style: preserve-3d;
transform-style: preserve-3d; */
}
.container:hover .front {
-webkit-transform: rotateY(-180deg);
transform: rotateY(-180deg);
/* -webkit-transform-style: preserve-3d;
transform-style: preserve-3d; */
}
.front .inner p {
font-size: 3rem;
margin-bottom: 2rem;
position: relative;
}
.front .inner p:after {
content: '';
width: 4rem;
position: absolute;
background: #000;
display: block;
left: 0;
right: 0;
margin: 0 auto;
bottom: ;
}
<section id="whatwedo">
<div class="container-fluid">
<h1>What we do</h1>
<div class="cols">
<div class="row">
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Brand Identity</p>
</div>
</div>
<div class="back">
<div class="inner">
<p> Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</br> Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Graphic Design</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Editorial Design</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Brand Guidelines</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Print Management</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Signage</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Creative Direction</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
<div class="col-sm-3" ontouchstart="this.classList.toggle('hover');">
<div class="container">
<div class="front">
<div class="inner">
<p>Illustration & Animation</p>
</div>
</div>
<div class="back">
<div class="inner">
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Alias cum repellat velit quae suscipit c.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
クラスをいくつか作成し、それにアニメーションを移動します。 JavaScriptでそのクラスを削除し、mouseroverが発生しているかどうかを確認するクラスを設定します。 –
JSでアニメーションを制御します。完了したらホバーattrを削除し、クリックイベントをバインドします。 – Aslam