手写CSS之可翻页banner的需求实现
2021/8/18 23:12:16
本文主要是介绍手写CSS之可翻页banner的需求实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
需求:
- 可横划banner 2个为1组
- 标签和标题在同一行展示,限制标题展示2行,居中展示。
- 数据动态获取。背景图片动态获取。
细节实现:
-
swiper组件
-
同行居中展示且限制2行
//HTML部分 <div class="blockHeight"> <div class="upBlock"> <span class="topicWord" v-if="item.tag" v-text="item.tag">热</span> <span class="topicTitle" v-if="item.adviceTitle" v-text="item.adviceTitle"></span> <span class="topicTitle" v-else>此文案未配置</span> </div> </div> //CSS部分 .blockHeight{ display: flex; align-items: center; height: 2.5rem; } .upBlock{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break: break-all; margin: .5rem; padding-top: 0.7rem; } .topicWord{ background-color:rgb(251, 92, 95); border-radius: 0.2rem; float: left; text-align: center; width: 0.8rem; height: 0.85rem; margin-right: 0.5rem; font-size: 0.5rem; color: white; } .topicTitle{ color: black; font-size: .6rem; }
-
背景图片动态获取
:style="item.imageUrl?'background:url('+item.imageUrl+');background-size: 100% 100%;':''"
成果展示
效果如下图
最终实现
HTML部分
<div class="swiper-banner swiper-container" > <div class="swiper-wrapper"> <div class="swiper-slide bannerSlide" v-for="(item,index) in recommendData[1]"> <div class="moduleBlock" :style="item.imageUrl?'background:url('+item.imageUrl+');background-size: 100% 100%;':''" v-if="(item.adviceCategory==2)||(item.adviceCategory==1)||(!item.adviceCategory)" @click='gotoRec(item)'> <div class="blockHeight"> <div class="upBlock"> <span class="topicWord" v-if="item.tag" v-text="item.tag">热</span> <span class="topicTitle" v-if="item.adviceTitle" v-text="item.adviceTitle"></span> <span class="topicTitle" v-else>此文案未配置</span> </div> </div> <div class="commentList"> <span class="commentContent" v-if="item.adviceDesc" v-text="item.adviceDesc"></span> <span class="commentContent" v-else>此文案未配置</span> </div> </div> <div class="moduleBlock" :style="item.imageUrl?'background:url('+item.imageUrl+');background-size: 100% 100%;':''" v-if="(item.adviceCategory==4)||(item.adviceCategory==5)" @click='gotoRec(item)'> <div class="blockHeight"> <div class="upBlock"> <span class="topicWord" v-if="item.tag" v-text="item.tag">热</span> <span class="topicTitle" v-if="item.adviceTitle" v-text="item.adviceTitle"></span> <!-- <div class="topicTitle" v-else v-text="getTitle(item.adviceRelateId)"></div> --> </div> </div> <div class="commentList" v-if="item.adviceDesc"> <span class="commentContent" v-if="item.adviceDesc" v-text="item.adviceDesc"></span> <!-- <span class="commentContent" v-else v-text="getComment(item.adviceRelateId)"></span> --> </div> </div> </div> </div> <div class="bannerPage swiper-pagination"></div> </div> </div>
CSS部分
.swiper-banner { width: 100%; height: 135px; background-color: #fff; margin-bottom: .5rem; } .moduleBlock{ height: 5rem; border-radius: 0.4rem; margin: 0.8rem; background-color: rgb(255,247,247); background-size: 100% 100%; } .blockHeight{ display: flex; align-items: center; height: 2.5rem; } .upBlock{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; word-break: break-all; margin: .5rem; padding-top: 0.7rem; } .topicWord{ background-color:rgb(251, 92, 95); border-radius: 0.2rem; float: left; text-align: center; width: 0.8rem; height: 0.85rem; margin-right: 0.5rem; font-size: 0.5rem; color: white; } .topicTitle{ color: black; font-weight: bold; font-size: .6rem; } .commentList{ margin:0.7rem } .commentContent{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; word-break: break-all; font-size: 0.5rem; }
这篇关于手写CSS之可翻页banner的需求实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14CSS-Module学习:轻松入门指南
- 2024-11-12CSS9资料入门指南
- 2024-11-12CSS浮动资料详解:初学者指南
- 2024-11-12CSS选择器资料详解与实战教程
- 2024-11-12CSS样式资料:初学者必备指南
- 2024-11-11CSS项目实战:从入门到上手
- 2024-11-11CSS定位项目实战:新手指南
- 2024-11-11CSS浮动项目实战:初学者指南
- 2024-11-11CSS选择器项目实战:从入门到上手
- 2024-11-11CSS样式项目实战:新手入门指南