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日

相关文章

  • JavaScript变量详解

    JavaScript变量是指在程序中用来存储数据的容器。在JavaScript中,变量的声明需要使用关键字var、let或const来标识。 1. 变量声明和赋值 变量声明和赋值可以在同一行完成,也可以分开进行。 使用var声明变量: var age; age = 30; 或者在同一行完成: var age = 30; 使用let声明变量: let age;…

    Web开发基础 2023年3月30日
    00
  • 通过canvas转换颜色为RGBA格式及性能问题的解决

    下面是关于通过canvas转换颜色为RGBA格式及性能问题的解决的完整攻略。 什么是RGBA格式? 在Web开发中,我们经常需要使用颜色值来设置页面元素的外观,如背景色、边框色、字体颜色等。而RGBA是指RGB颜色模式下,加上了Alpha通道透明度控制的颜色表示方式。RGBA颜色格式是由红、绿、蓝和透明度四个通道组成的,其取值范围均为0-255,其中透明度范…

    css 2023年6月9日
    00
  • 如何用js控制css中的float的代码

    要用 JavaScript 控制 CSS 中的 float 属性,我们可以使用 DOM 操作来访问和修改元素的样式。下面是一个完整攻略,包含了如何使用 JavaScript 控制 CSS 中的 float 属性的过程和两个示例说明。 使用 JavaScript 控制 CSS 中的 float 属性 步骤一:使用 JavaScript 访问元素 要使用 Jav…

    css 2023年5月18日
    00
  • 表格边框的css语法

    下面是关于表格边框的css语法的完整攻略: 语法 在CSS中,我们可以使用 border 属性来设置表格边框的样式。border 属性由三个子属性组成,分别是 border-width、 border-style和 border-color。下面是 border 属性的完整语法: border: border-width border-style borde…

    css 2023年6月9日
    00
  • CSS framework日常开发的经验总结

    CSS framework日常开发的经验总结 简介 CSS framework是一种前端技术,旨在提供一套可以重复使用的通用样式,以便快速开发响应式网站和web应用程序。在日常开发中,使用CSS framework可以有效地提高开发效率,减少代码量,并且大量减少设计和开发所需的时间。下面是我的经验之谈。 选择合适的CSS framework 在选择CSS f…

    css 2023年6月9日
    00
  • 浅谈浏览器的兼容性(必看篇)

    浅谈浏览器的兼容性(必看篇) 什么是浏览器兼容性 浏览器兼容性指的是同一份网页,在不同的浏览器以及不同的浏览器版本下,是否能够正常显示和运行。由于不同浏览器之间存在一定的差异,因此在开发网页时需要考虑到浏览器兼容性问题。 浏览器兼容性的重要性 浏览器兼容性对于网站的用户体验和网站的流量十分重要。如果一个网站在某个浏览器下无法正常打开或运行,很可能造成用户流失…

    css 2023年6月10日
    00
  • 书写css伪类时冒号后多个空格导致该规则失效

    当书写 CSS 伪类时,如果在冒号后面紧跟多个空格,这样的空格将会被视为无效字符,从而导致该规则失效,这是因为 CSS 语法不支持在伪类选择器中使用多个空格来隔开伪类选择器和样式规则。 解决该问题有两种解决方案: 1.删除多余空格 将书写伪类时冒号和伪类名后的空格删除,确保其后没有多余的空格,如下所示: /* 错误写法,冒号后多个空格 */ a:hover …

    css 2023年6月9日
    00
  • 通过css旋转字体示例代码

    CSS 可以用来旋转字体,例如将文本旋转 90 度或 180 度。下面是一个完整攻略,包含了如何使用 CSS 旋转字体的过程和两个示例说明。 旋转字体 步骤一:使用 transform 属性 要旋转字体,我们可以使用 CSS 中的 transform 属性。该属性可以用来旋转元素,包括文本。我们可以使用该属性来将文本旋转 90 度或 180 度。 步骤二:设…

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