CSS 中使用径向渐变实现卡券效果

关于“CSS 中使用径向渐变实现卡券效果”的攻略,以下是完整的详细讲解和两条示例说明。

准备工作

在进行效果实现前,我们需要准备以下内容:

  • 一个 HTML 文档
  • 一个 CSS 文档

步骤一:背景设置

首先,我们可以在 CSS 文件中使用 radial-gradient 函数来设置背景颜色,以下是一个示例:

background-image: radial-gradient(circle at 50% -10%, #FFDD93 60%, #FFC48C);
  • radial-gradient:径向渐变函数,用于将一个颜色值渐变为另一个颜色值。
  • circle:指定渐变的形状为圆形。
  • at 50% -10%:指定渐变圆心坐标为横坐标 50%,纵坐标 -10%。
  • #FFDD93 60%, #FFC48C:指定渐变的起始颜色和结束颜色。

步骤二:卡片设定

接下来我们将使用 div 元素创建一个卡片:

<div class="card"></div>

然后我们对卡片进行设定:

.card {
  width: 300px;
  height: 180px;  
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(circle at 50% -10%, #FFDD93 60%, #FFC48C);
  background-size: 120% 120%;
  background-position: center;
  border-radius: 10px;
  overflow: hidden;
}
  • width: 300px; height: 180px:设置卡片的宽度和高度。
  • box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2):设定卡片阴影,让卡片看起来更有立体感。
  • background-size:指定渐变的尺寸为原来的 1.2 倍,让渐变更加明显。
  • border-radius: 10px:设置圆角,让卡片看起来更加圆润。
  • overflow: hidden:设定卡片内容超出部分不显示。

步骤三:添加卡片内容

最后,我们可以在卡片中添加一些内容,例如添加标题和描述:

<div class="card">
  <div class="inner">
    <h1>优惠券</h1>
    <p>快来领取我们的新品优惠券,限时优惠!</p>
  </div>
</div>
.inner {
  padding: 30px;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(0,0,0,0.5);
  text-align: center;
}
.inner h1 {
  margin-top: 0;
}
.inner p {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 24px;
}
  • padding: 30px:设定内部的 padding,让内容与边框之间留出空白。
  • color: #fff:设定标题和描述的文字颜色为白色。
  • position: absolute:将内容设置为绝对定位,让其在卡片中水平居中。
  • bottom: 0; left: 0; width: 100%:设定内容的位置和宽度。
  • background-color: rgba(0,0,0,0.5):添加一层半透明的背景,使文字更加突出。
  • text-align: center:将文本居中对齐。

示例一

以下是一个具有“饼干”的卡片效果示例:

<div class="card-with-cookie">
  <div class="inner">
    <h1>Cookie</h1>
    <p>新到饼干,快来尝一尝!</p>
  </div>
</div>
.card-with-cookie {
  width: 300px;
  height: 180px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(circle at 50% -10%, #FFDD93 60%, #FFC48C);
  background-size: 120% 120%;
  background-position: center;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.card-with-cookie:after {
  content: '';
  position: absolute;
  bottom: 0px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
  border: 10px solid #F2B354;
}

在这个示例中,我们添加了卡片后面的饼干形状,使用 CSS 中的 :after 伪元素创建。具体来说,我们新增加了:

  • .card-with-cookie:新增一个具有饼干的卡片类
  • :after:在新增类上使用 :after 添加 border 和宽度高度,形成圆圈

示例二

以下是一个更加贴近商业活动的卡片效果示例:

<div class="card-for-sale">
  <div class="inner-for-sale">
    <h1>超级特卖</h1>
    <p>让我们一起超值享受!</p>
  </div>
</div>
.card-for-sale {
  width: 300px;
  height: 180px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
  background-image: radial-gradient(circle at 50% -10%, #FFDD93 60%, #FFC48C);
  background-size: 120% 120%;
  background-position: center;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.inner-for-sale {
  padding: 30px;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  background-color: #E64545;
  z-index: 2;
}
.card-for-sale:before {
  content: '超级特卖';
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  background-color: #fff;
  color: #E64545;
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  line-height: 80px;
  border: 10px solid #E64545;
  border-radius: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  z-index: 2;
}
.card-for-sale:after {
  content: '';
  position: absolute;
  top: 0px;
  right: 0px;
  width: 60px;
  height: 60px;
  background-color: #fff;
  z-index: 1;
  clip-path: polygon(0 0, 80% 0, 80% 100%, 0 100%);
  transform: translate(50%, -50%);
}

在这个示例中,我们又新增加了更多右侧文字及图案,具体新增的内容有:

  • .card-for-sale:新增了又图案又文字的卡片类
  • .inner-for-sale:修改内部参数,增加 z-index 属性,使其置于两个图案之上
  • :before:使用 :before 伪元素添加一个旋转的圆圈,作为文字的背景
  • :after:同样使用伪元素 :after 创造三角形状的效果,覆盖卡片右侧部分。使用 clip-path 属性使元素只占总宽度 80% 的上半部分,因为这部分不能遮挡之前的圆形图案。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS 中使用径向渐变实现卡券效果 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS中position定位的个熟悉示例介绍

    下面我来详细讲解一下”CSS中position定位的个熟悉示例介绍”的攻略。 一、position定位 在CSS中,position用于指定元素的定位方式,包括static、relative、absolute和fixed等。 static(默认值):元素的位置不受top、bottom、left、right等属性的影响,按照页面正常流布局。 relative:…

    css 2023年6月9日
    00
  • css 背景半透明最佳实践

    下面是关于“CSS 背景半透明最佳实践”的攻略: 1. 为什么要使用半透明背景? 在实际的网页设计中,使用半透明背景可以给页面带来细致、柔和、优美的视觉体验,增强用户对页面的美感和舒适感,增强用户对信息的吸引和记忆。同时,在舒适的视觉环境中,用户的体验和使用效果也会有所提升。 2. 如何实现 CSS 背景半透明? 实现半透明背景需要使用 CSS 的 opac…

    css 2023年6月9日
    00
  • 纯CSS3实现3D旋转书本效果

    下面是详细讲解”纯CSS3实现3D旋转书本效果”的完整攻略: 1. 相关概念介绍 要实现3D旋转书本的效果,首先需要了解以下几个概念: transform-style: 用于定义子元素如何在3D空间中定位。其属性值有flat和preserve-3d。 transform-origin: 用于设置元素变化的基点。默认值是50% 50% 0。 transform…

    css 2023年6月10日
    00
  • CSS使用calc()获取当前可视屏幕高度的实现

    要在CSS中获取当前可视屏幕的高度,可以使用calc()函数在Height中混合百分比和像素单位。下面是实现的步骤: 1. 确定当前视口高度 要获取当前视口的高度,需要使用ViewPort单元 (VW)。ViewPort单元的一个单位等于视口宽度的1%,所以100 VW 抵押一定等于整个视口的宽度。通过把视口高度设置为 calc(100vw / X),其中的…

    css 2023年6月9日
    00
  • JavaScript让网页出现渐隐渐显背景颜色的方法

    首先,在HTML文件中创建一个简单的页面结构,包含一个作为背景的div元素。例如: <!DOCTYPE html> <html> <head> <title>渐隐渐显背景颜色</title> <style> body { margin: 0; padding: 0; overflow: …

    css 2023年6月9日
    00
  • CSS教程 彻底掌握Z-index属性

    下面是CSS教程:彻底掌握Z-index属性的完整攻略。 什么是Z-index属性 Z-index是CSS中用于控制叠放顺序的属性。在HTML中,各个元素是以层叠的方式存在的,排列顺序决定了各个元素在页面中的显示效果,而Z-index属性可以调整元素在层叠上的位置。 基本用法 Z-index属性只作用于定位元素,即需要先设置元素的position属性为rel…

    css 2023年6月9日
    00
  • js实现Element中input组件的部分功能并封装成组件(实例代码)

    关于“js实现Element中input组件的部分功能并封装成组件(实例代码)”的攻略,我会从以下几个方面进行详细说明: 确定功能需求 实现代码逻辑 封装成组件 示例说明 1. 确定功能需求 首先,我们需要明确要实现哪些input组件的功能。这里以Element UI中的input组件为例,常用的功能有以下几种: 基础功能:包括输入框的样式、占位符、禁用等 …

    css 2023年6月9日
    00
  • 使用CSS3来实现滚动视差效果的教程

    使用CSS3来实现滚动视差效果的教程 滚动视差效果指在页面滚动时,背景和前景以不同的速度滚动,产生出迷人的视觉效果。在CSS3中,可以使用一些属性和技巧来实现滚动视差效果。本文将详细讲解如何使用CSS3来实现滚动视差效果。 第一步:CSS的准备 在HTML文件中,可以通过<link>标签将CSS文件引入。在CSS文件中,需要先设置body和htm…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部