学习记录:背景色+背景图混合模式

本文介绍了CSS中的background-blend-mode属性,如何使用它结合渐变色和背景图创建独特的视觉效果,特别关注了lighten模式的应用实例。
摘要由CSDN通过智能技术生成

CSS background-blend-mode 属性(混合模式)

定义和用法:

background-blend-mode 属性定义了背景层的混合模式(图片与颜色)

CSS语法:

background-blend-mode: normal|multiply|screen|overlay|darken|lighten|color-dodge|saturation|color|luminosity;

属性说明:

描述
normal默认值。设置正常的混合模式。
multiply正片叠底模式。
screen滤色模式。
overlay叠加模式。
darken变暗模式。
lighten        变亮模式。
color-dodge颜色减淡模式。
saturation饱和度模式。
color颜色模式。
luminosity亮度模式。

示例:

很多时候我们在做后台管理项目的时候,顶部的导航栏会需要一些背景色或者背景图。

我们先创建一个基本的顶部导航栏:

<template>
  <div class="xxx">
    <div class="test">
      <div class="left">
        <img src="@/assert/login/logo@2x.png" style="width:50px;margin-right:10px" alt="" />
        XXX应用平台
      </div>
      <div ref="topMenu" class="topMenu">
        <div v-for="(item,index) in items" :key="index" class="topitemmenu" :class="{ 'check': checkedId===item.id }">
          <i :class="item.source"></i>
          <span>{{"操作平台"+(index+1)}}</span>
        </div>
      </div>
      <div class="right">
        <span style="margin-right: 10px;">XXX中心</span>
        <img src="@/assert/menu/change.png" alt="" />
      </div>
    </div>
  </div>
</template>

写上基本样式:

<style lang='scss' scoped>
.xxx {
  height: 100%;
  display: flex;
  align-items: center;
}
.test {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 1600px;
  height: 64px;
  color: #fff;
  font-size: 24px;
  padding: 0 10px;
  .left {
    display: flex;
    align-items: center;
  }
  .right {
    display: flex;
    align-items: center;
  }
  .topMenu {
    display: flex;
    .topitemmenu {
      padding: 0 20px;
      height: 64px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      color: white;
    }
    i {
      flex: 1;
      line-height: 32px;
      font-size: 16px;
      text-align: center;
    }
    span {
      flex: 1;
      line-height: 24px;
      font-size: 16px;
    }
  }
}
.check {
  background-color: rgba(17, 35, 94, 0.5);
}
.topitemmenu:hover {
  cursor: pointer;
  background-color: rgba(17, 35, 94, 0.2);
}

</style>

此时我们设置一个单独的背景色:

.test{
  background-color: #4561bd;
}

是不是感觉有点单调,这时我们想到把背景色换成背景图:

.test{
  background: url('~@/assert/menu/topBg.png') no-repeat;
  background-size: cover;
}

好了很多,那么用上面的混合模式试试效果(渐变色+背景图):

.test {
  background: linear-gradient(to right, #489ef2, #4561bd),
    url('~@/assert/menu/topBg.png') no-repeat;
  box-sizing: border-box;
  background-size: cover;
  background-blend-mode: lighten;
}

只能说效果很好,这里选择的是background-blend-mode: lighten模式,有兴趣的可以自己去试试其他几个模式的效果~~

这次记录就到这啦~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值