沃梦达 / IT编程 / 前端开发 / 正文

html+css实现响应式卡片悬停效果

下面是“html+css实现响应式卡片悬停效果”的完整攻略:

下面是“html+css实现响应式卡片悬停效果”的完整攻略:

一、准备工作

在开始制作之前,需要先明确一下制作的目标、效果和功能,同时需要准备好所需的工具和文件。

  1. 目标和效果:实现一个响应式卡片布局,当鼠标悬停在卡片上时,卡片会有一定的动态效果,以增加用户的体验感。
  2. 功能:页面响应式布局、卡片悬停效果、CSS3动画。
  3. 工具和文件:文本编辑器(如Sublime Text)、浏览器调试工具、HTML和CSS文件。

二、HTML布局

在HTML文件中,需要先定义并创建一个外层的容器,为整个卡片布局提供统一的基础样式。然后,利用HTML5中的语义化标签,如<figure><figcaption>等,来分别定义卡片内部的图像和文字内容,从而构建卡片的整体布局结构。

<div class="container">
  <figure>
    <img src="image.jpg" alt="卡片图像">
    <figcaption>卡片标题</figcaption>
  </figure>
</div>

三、CSS样式

在CSS文件中,需要为容器和内部元素分别设置基本样式和布局样式,以及响应式布局和动态效果。

1.基本样式和布局样式

.container {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1),
              0 10px 20px rgba(0, 0, 0, .1);
  border-radius: 4px;
}

figure {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
}

figcaption {
  text-align: center;
  font-size: 18px;
  color: #333;
  margin: 16px 0 0;
  padding: 0 8px;
}

2.响应式布局

@media screen and (min-width: 640px) {
  /* 在窗口宽度大于等于640px时,容器最大宽度为50% */
  .container {
    max-width: 50%;
  }
}

@media screen and (min-width: 768px) {
  /* 在窗口宽度大于等于768px时,容器最大宽度为360px */
  .container {
    max-width: 360px;
  }
}

3.动态效果

figure:hover {
  /* 鼠标悬停在figure元素上时,应用下面的样式 */
  box-shadow: 0 12px 24px rgba(0, 0, 0, .15),
              0 20px 40px rgba(0, 0, 0, .15);
  transform: translateY(-6px);
}

四、示例说明

示例一:基本卡片效果

基本卡片效果是制作此效果的入门版本,代码简单,易于理解。

HTML布局:

<div class="container">
  <figure>
    <img src="image.jpg">
    <figcaption>卡片标题</figcaption>
  </figure>
</div>

CSS样式:

.container {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1),
              0 10px 20px rgba(0, 0, 0, .1);
  border-radius: 4px;
}

figure:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, .15),
              0 20px 40px rgba(0, 0, 0, .15);
  transform: translateY(-6px);
}

示例二:响应式卡片效果

响应式卡片效果是卡片效果的升级版,增加了响应式布局功能。

HTML布局:

<div class="container">
  <figure>
    <img src="image.jpg">
    <figcaption>卡片标题</figcaption>
  </figure>
</div>

CSS样式:

.container {
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 24px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .1),
              0 10px 20px rgba(0, 0, 0, .1);
  border-radius: 4px;
}

@media screen and (min-width: 640px) {
  .container {
    max-width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .container {
    max-width: 360px;
  }
}

figure:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, .15),
              0 20px 40px rgba(0, 0, 0, .15);
  transform: translateY(-6px);
}

以上是“html+css实现响应式卡片悬停效果”的完整攻略,希望对您有所帮助。

本文标题为:html+css实现响应式卡片悬停效果