CSS 实现电影信息卡片

CSS 实现电影信息卡片

效果展示

CSS 知识点

  • CSS 综合知识运用

页面整体布局

html 复制代码
<div class="card">
  <div class="poster">
    <img src="./poster.jpg" />
  </div>
  <div class="details">
    <img src="./avtarlogo.png" class="logo" />
    <h3>Directed by James Cameron</h3>
    <div class="rating">
      <i class="fa-solid fa-star"></i>
      <i class="fa-solid fa-star"></i>
      <i class="fa-solid fa-star"></i>
      <i class="fa-solid fa-star"></i>
      <i class="fa-regular fa-star"></i>
      <span>4/5</span>
    </div>
    <div class="tags">
      <span>Sci-fi</span>
      <span>Action</span>
    </div>
    <div class="info">
      <p>
        Lorem ipsum, dolor sit amet consectetur adipisicing elit. A magnam
        quisquam consequuntur mollitia blanditiis voluptate.
      </p>
    </div>
    <div class="cast">
      <h4>Cast</h4>
      <ul>
        <li><img src="./cast1.jpg" /></li>
        <li><img src="./cast2.jpg" /></li>
        <li><img src="./cast3.jpg" /></li>
        <li><img src="./cast4.jpg" /></li>
        <li><img src="./cast5.jpg" /></li>
      </ul>
    </div>
  </div>
</div>

实现电影信息卡片整体布局

css 复制代码
.card {
  position: relative;
  width: 320px;
  height: 450px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.25);
}

.card .poster {
  position: relative;
  overflow: hidden;
}

.card .poster img {
  width: 100%;
  transition: .5s;
}

添加电影卡片鼠标悬停效果

css 复制代码
.card .poster::before {
  content: '';
  position: absolute;
  bottom: -180px;
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, #1064a6 50%, transparent);
  transition: .5s;
  z-index: 1;
}

.card:hover .poster::before {
  bottom: 0px;
  transition: .5s;
}

.card:hover .poster img {
  transform: translateY(-50px);
  filter: blur(5px);
}

实现电影卡片Logo样式

css 复制代码
.card .details {
  position: absolute;
  bottom: -175px;
  left: 0;
  padding: 20px;
  width: 100%;
  z-index: 2;
  transition: .5s;
}

.card:hover .details {
  bottom: 0px;
}

.card .details .logo {
  max-width: 180px;
}

编写电影卡片标题和评分样式

css 复制代码
.card .details h3 {
  font-size: 0.8em;
  color: #FFF;
}

.card .details .rating {
  position: relative;
  padding: 5px 0;
}

.card .details .rating .fa-star {
  color: #f7f406;
  font-size: 1em;
}

.card .details .rating span {
  color: #FFF;
  margin-left: 5px;
}

编写电影卡标签样式

css 复制代码
.card .details .tags {
  position: relative;
  margin-top: 5px;
}

.card .details .tags span {
  padding: 2px 5px;
  color: #FFF;
  background: #03a8f5;
  border-radius: 4px;
}

.card .details .tags span:nth-child(2) {
  background: #ff5722;
}

编写电影卡片信息样式

css 复制代码
.card .details .info {
  color: #FFF;
  margin-top: 20px;
}

编写电影卡演员列表图片样式

css 复制代码
.card .details .cast {
  position: relative;
}

.card .details .cast h4 {
  color: #FFF;
  margin-top: 10px;
}

.card .details .cast ul {
  position: relative;
  display: flex;
  margin-top: 10px;
  gap: 10px;
}

.card .details .cast ul li {
  list-style: none;
  width: 35px;
  height: 35px;
  overflow: hidden;
  border-radius: 50%;
  border: 2px solid #fff;
}

.card .details .cast ul li img {
  width: 100%;
} 

完整代码下载

完整代码下载

相关推荐
不好听6132 小时前
从一行 JSX 到屏幕像素:前端开发者必须懂的浏览器渲染管线
前端
恒拓高科WorkPlus2 小时前
企业级内网即时通讯建设模型:BeeWorks内网IM四层架构
前端
前端小李子3 小时前
前端环境变量裸奔?我用 EnvShield 给它穿了件防弹衣
前端
youtootech3 小时前
HarmonyOS《柚兔学伴》项目实战25-我的页面、Web 嵌入与项目总结
前端·华为·harmonyos
小林ixn4 小时前
从零到一理解 React 父子组件通信:手写一个 Todo 应用带你彻底搞懂单向数据流
前端·javascript·react.js
醇氧5 小时前
CountDownLatch / CyclicBarrier / Semaphore 面试高频问答清单
前端·面试·职场和发展
qetfw7 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
甲维斯7 小时前
我要开始吹牛逼了!Kimi K3 “宇宙无敌”!
前端·人工智能
a1117767 小时前
微光小屋-前端养成小游戏 开源项目
前端