网页图像渐变的方法(HTML+CSS) (渐变与切换)
网页图像渐变的方法(HTML+CSS)(渐变与切换)
Date: 2024.03.27
参考
- 色彩 runoob-渐变色工具
渐变 - 水平多图
-
效果
-
HTML
<div class="conBox pubCon">
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
</div>
- CSS
img{ border: none; height: 250px; width: 250px; border-radius: 2% }
.pubCon{ width: 1000px; margin: auto } /* exp1: if you donot need, ignnore */
.conBox{ display: flex; justify-content: space-around } /* exp2: if you have more images */
.imgBox{ height: 250px; width: 250px } /* exp3: fit flex */
.imgBox img{ position: absolute } /* exp4: about position */
.imgBox .img1{ background: linear-gradient(-45deg, #a8cecf, #cee4da) } /* exp5: gave images a color, if you have src value, ignore */
.imgBox .img2{ background: linear-gradient(45deg, #c6ffdd, #f7797d) } /* exp5: gave images other color, if you have src value, ignore */
.imgBox img:first-child{ animation: am 20s ease-in-out infinite; z-index: 1 } /* exp6: about 'z-index' */
@keyframes am {
0%, 40% { opacity: 1 }
50%, 90% { opacity: 0 }
}
- CSS 说明:
- 这只是一个控制水平宽度和居中的模板,不需要可以忽略。
- 当你有多组图片需要进行一起切换时,可以这样,让图像组分散在水平方向。
- 当设置了
flex
和justify-content
时,你需要子元素有宽度,以控制它的位置。参考 MDN-flexible 和 参考 MDN-justify-content position
: 让表层与里层进行切换展示,需要图片重叠,你需要将图像img
设置为绝对位置参考 MDN-position。- 如果你的图像有
src
可以不用设置背景,这里只是由于替代img
内容。 - 当你使用
opacity
属性控制了第一个img
元素透明,将改变其层叠上下文参考 MDN-opacity,需要将其优先设置在上层,使得其opacity
恢复后能再显示在上层,覆盖掉第二章图。
切换 - 水平多图
- 效果
- HTML
<div class="conBox pubCon">
<div class="outBox">
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
</div>
<div class="outBox">
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
</div>
<div class="outBox">
<div class="imgBox">
<img class="img1" src="" />
<img class="img2" src="" />
</div>
</div>
</div>
- CSS
img{ border: none; height: 250px; width: 250px; border-radius: 2% }
.pubCon{ width: 1000px; margin: auto } /* exp1: if you donot need, ignnore */
.conBox{ display: flex; justify-content: space-around } /* exp2: if you have more images */
.outBox{ width: 250px; height: 250px; border-radius: 2%; overflow: hidden } /* exp3: control the width height */
.imgBox{ width: 500px; display: flex } /* exp4: make imgs inline */
/* .imgBox{ float:left; display: flex } /* exp4: other way */
.imgBox .img1{ background: linear-gradient(-45deg, #a8cecf, #cee4da) } /* exp5: gave images a color, if you have src value, ignore */
.imgBox .img2{ background: linear-gradient(45deg, #c6ffdd, #f7797d) } /* exp5: gave images other color, if you have src value, ignore */
.imgBox{ animation: am 10s ease-in-out infinite }
@keyframes am {
0%, 40% { margin-left: 0 }
50%, 90% { margin-left: -250px }
}
- CSS 说明:
- 这只是一个控制水平宽度和居中的模板,不需要可以忽略。
- 当你有多组图片需要进行一起切换时,可以这样,让图像组分散在水平方向。
- 你需要设置一个外部的边界大小,以控制图像显示的内容,即让暂时不需要显示的内容先隐藏起来。
- 如果你有很多图片,需要让外框里的图像显示在一行中,这样可以左右切换(当然你可以设置为上下切换,会更方便,这里左右切换只是作为需要的参考)。你可以试着使用 'other way',我不知道如何解释
float
对整个盒子中内容的影响,你可以参考参考 MDN-float(当然,为什么不删除float
呢?只有flex
可不能让你的图像显示正常,参考参考 MDN-flexible)。 - 如果你的图像有
src
可以不用设置背景,这里只是由于替代img
内容。
热门相关:伏天剑尊 我真的是正派 军少夜宠:小甜妻,乖! 功夫圣医 明尊