我需要将我的2个区块拆分为4个区块。我的意思是calibrate
,connect
,train
,analyze
需要分开,但是在我的代码中calibrate
和connect
在一个块中,和train
和analyze
在另一个带有boxshadow的块中相同。我拆分了它们,但是在这种情况下,我的动画无法正常工作。如何在不丢失动画的情况下拆分它们并使它们紧贴图像?
.div-wrap {
display: flex;
align-items: center;
flex-flow: column nowrap;
justify-content: space-between;
text-align: center;
}
:root {
--time: 24;
}
.div-txt p.label {
color: #0065de;
font: bold 16px 'Arial';
animation-duration: calc(var(--time) * 1s);
animation-iteration-count: infinite;
animation-name: color-change;
}
.div-txt:nth-child(1) p.label:nth-child(2) {
animation-delay: 0s;
}
.div-txt:nth-child(1) p.label:nth-child(5) {
animation-delay: calc(var(--time) / 4 * 1s);
}
.div-txt:nth-child(3) p.label:nth-child(2) {
animation-delay: calc(var(--time) / 2 * 1s);
}
.div-txt:nth-child(3) p.label:nth-child(5) {
animation-delay: calc(var(--time) / 1.33 * 1s);
}
.div-img {
position: relative;
height: 600px;
width: 600px;
/* border: 2px solid #ccc;*/
/* background: radial-gradient(ellipse at center, rgba(153,153,153,1) 0%,rgba(0,0,0,1) 100%);*/
}
.div-img img {
position: absolute;
top: 0;
left: 50%;
display: block;
transform: translateX(-50%);
opacity: 0;
animation-duration: calc(var(--time) * 1s);
animation-iteration-count: infinite;
animation-name: fade;
}
.div-img img:nth-child(1) {
animation-delay: 0s;
}
.div-img img:nth-child(2) {
animation-delay: calc(var(--time) / 8 * 1s);
}
.div-img img:nth-child(3) {
animation-delay: calc(var(--time) / 4 * 1s);
}
.div-img img:nth-child(4) {
animation-delay: calc(var(--time) / 2.66 * 1s);
}
.div-img img:nth-child(5) {
animation-delay: calc(var(--time) / 2 * 1s);
}
.div-img img:nth-child(6) {
animation-delay: calc(var(--time) / 1.6 * 1s);
}
.div-img img:nth-child(7) {
animation-delay: calc(var(--time) / 1.33 * 1s);
}
.div-img img:nth-child(8) {
animation-delay: calc(var(--time) / 1.14 * 1s);
}
.div-txt {
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
width: 300px;
margin: 0 auto;
}
@keyframes color-change {
0%,
25%,
100% {
color: black;
}
1%,
24% {
color: #ED0400;
}
}
@keyframes fade {
0%,
20%,
100% {
opacity: 0;
z-index: auto;
}
1%,
99% {
z-index: 1;
}
8%,
12% {
opacity: 1;
}
}
@media all and (min-width: 1170px) {
.div-wrap {
flex-flow: row nowrap;
justify-content: space-around;
}
}
@media all and (max-width: 600px) {
.div-img {
max-width: 100%;
}
}
<div class="div-wrap">
<div class="div-txt">
<img src="img/svgforlia/connect.svg" style="width: 36px; height: 36px;">
<p class="label" style="margin-top: 15px;">Connect</p>
<p>Wear Lia device on the shoulders, <br>turn on it and connect application <br>with device.</p>
<img src="img/svgforlia/calibrate.svg" style="width: 36px; height: 36px;">
<p class="label" style="margin-top: 15px;">Calibrate</p>
<p>After connection, set up calibration to <br>help device remember your upright <br>and slouch positions.</p>
</div>
<div class="div-img">
<img src="img/mockups/2.png" title="Image 1">
<img src="img/mockups/3.png" title="Image 2">
<img src="img/mockups/5.png" title="Image 3">
<img src="img/mockups/6.png" title="Image 4">
<img src="img/mockups/7.png" title="Image 5">
<img src="img/mockups/8.png" title="Image 6">
<img src="img/mockups/9.png" title="Image 7">
<img src="img/mockups/10.png" title="Image 8">
</div>
<div class="div-txt">
<img src="img/svgforlia/train.svg" style="width: 36px; height: 36px;">
<p class="label" style="color: #0065de; margin-top: 10px;">Train</p>
<p>Train your posture anytime you want, <br>set up daily goal to improve gradually <br>your posture.</p>
<img src="img/svgforlia/analyze.svg" style="width: 36px; height: 36px;">
<p class="label" style="margin-top: 15px;">Analyze</p>
<p>Statistics let you track and analyze <br>the progress you’ve made from first <br>training to the last.</p>
</div>
</div>
请帮助我解决这个问题。
答案 0 :(得分:0)
首先,您应该从准备正确的布局结构开始。
正如您提到的,我们需要全部内联的 [SIDEBAR] [动画] [SIDEBAR] 。
让我们尝试一下。
.container > div {
display: flex;
justify-content: center;
align-items: center;
font-size: 1.5em;
color: #ffeead;
}
html, body {
box-sizing: border-box;
background-color: #ffeead;
height: 100%;
padding: 10px;
margin: 0px;
}
* {
box-sizing: border-box;
}
.container > div:nth-child(1n) {
background-color: #96ceb4;
}
.container > div:nth-child(3n) {
background-color: #88d8b0;
}
.container > div:nth-child(2n) {
background-color: #ff6f69;
}
.container {
height: 100%;
display: grid;
grid-template-columns: minmax(200px, 1fr) repeat(4, minmax(200px, 1fr)) minmax(200px, 1fr);
grid-template-areas: 's1 a a a a s2'
}
.animation {
grid-area: a;
}
.block1, .block2 {
align-items: center;
justify-content: center;
background: #ffad3d;
display: flex;
flex: 1;
height: 100%;
margin: 0 5px;
padding: 10px;
}
.left-sidebar, .right-sidebar {
padding: 10px;
}
.left-sidebar {
grid-area: s1;
}
.right-sidebar {
grid-area: s2;
}
<div class='container'>
<div class='left-sidebar'>
<div class='block1'>block 1</div>
<div class='block1'>block 2</div>
</div>
<div class='animation'>ANIMATION</div>
<div class='right-sidebar'>
<div class='block1'>block 1</div>
<div class='block1'>block 2</div>
</div>
</div>
这是我们的起点 ,从现在开始,您可以继续进行所需的事情,例如侧边栏内容或动画。
您正在寻找什么吗?
答案 1 :(得分:0)
.div-wrap {
display: flex;
align-items: center;
flex-flow: column nowrap;
justify-content: space-between;
text-align: center;
}
:root { --time: 24; }
.div-txt {
width: 300px;
margin: 20px auto;
padding: 10px 5px 3px;
box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}
.div-txt img {
width: 36px;
height: 36px;
}
.div-txt p.label {
margin-top: 5px;
color: #0065de;
font: bold 16px 'Arial';
animation-duration: calc(var(--time) * 1s);
animation-iteration-count: infinite;
animation-name: color-change;
}
.div-wrap-txt:nth-child(1) .div-txt:nth-child(1) p.label { animation-delay: 0s; }
.div-wrap-txt:nth-child(1) .div-txt:nth-child(2) p.label { animation-delay: calc(var(--time) / 4 * 1s); }
.div-wrap-txt:nth-child(3) .div-txt:nth-child(1) p.label { animation-delay: calc(var(--time) / 2 * 1s); }
.div-wrap-txt:nth-child(3) .div-txt:nth-child(2) p.label { animation-delay: calc(var(--time) / 1.33 * 1s); }
.div-img {
position: relative;
height: 600px;
width: 600px;
}
.div-img img {
position: absolute;
top: 0;
left: 50%;
display: block;
transform: translateX(-50%);
opacity: 0;
animation-duration: calc(var(--time) * 1s);
animation-iteration-count: infinite;
animation-name: fade;
}
.div-img img:nth-child(1) { animation-delay: 0s; }
.div-img img:nth-child(2) { animation-delay: calc(var(--time) / 8 * 1s); }
.div-img img:nth-child(3) { animation-delay: calc(var(--time) / 4 * 1s); }
.div-img img:nth-child(4) { animation-delay: calc(var(--time) / 2.66 * 1s); }
.div-img img:nth-child(5) { animation-delay: calc(var(--time) / 2 * 1s); }
.div-img img:nth-child(6) { animation-delay: calc(var(--time) / 1.6 * 1s); }
.div-img img:nth-child(7) { animation-delay: calc(var(--time) / 1.33 * 1s); }
.div-img img:nth-child(8) { animation-delay: calc(var(--time) / 1.14 * 1s); }
@keyframes color-change {
0%, 25%, 100% { color: black; }
1%, 24% { color: #ED5F8A; }
}
@keyframes fade {
0%, 20%, 100% { opacity: 0; z-index: auto; }
1%, 99% { z-index: 1; }
8%, 12% { opacity: 1; }
}
@media all and (min-width: 1170px) {
.div-wrap { flex-flow: row nowrap; justify-content: space-around; }
}
@media all and (max-width: 600px) {
.div-img { max-width: 100%; }
}
body { margin: 0; padding: 0; }
<div class="div-wrap">
<div class="div-wrap-txt">
<div class="div-txt">
<img src="img/svgforlia/connect.svg">
<p class="label">Connect</p>
<p>Wear Lia device on the shoulders, <br>turn on it and connect application <br>with device.</p>
</div>
<div class="div-txt">
<img src="img/svgforlia/calibrate.svg">
<p class="label">Calibrate</p>
<p>After connection, set up calibration to <br>help device remember your upright <br>and slouch positions.</p>
</div>
</div>
<div class="div-img">
<img src="//picsum.photos/600/600?image=998" title="Image 1">
<img src="//picsum.photos/600/600?image=535" title="Image 2">
<img src="//picsum.photos/600/600?image=593" title="Image 3">
<img src="//picsum.photos/600/600?image=219" title="Image 4">
<img src="//picsum.photos/600/600?image=841" title="Image 5">
<img src="//picsum.photos/600/600?image=1011" title="Image 6">
<img src="//picsum.photos/600/600?image=1016" title="Image 7">
<img src="//picsum.photos/600/600?image=976" title="Image 8">
</div>
<div class="div-wrap-txt">
<div class="div-txt">
<img src="img/svgforlia/train.svg">
<p class="label">Train</p>
<p>Train your posture anytime you want, <br>set up daily goal to improve gradually <br>your posture.</p>
</div>
<div class="div-txt">
<img src="img/svgforlia/analyze.svg">
<p class="label">Analyze</p>
<p>Statistics let you track and analyze <br>the progress you’ve made from first <br>training to the last.</p>
</div>
</div>
</div>