css 用多个阴影做出光斑投影的效果 box-shadow

css 用多个阴影做出光斑投影的效果 box-shadow

你首先需要知道的一点是 box-shadow 可以接收多个值,也就是可以设置多个阴影,这样就可以做一个类似光斑投影的效果。

一、效果

在这里插入图片描述

二、代码

里面用到了我一些 scss 工具方法,不过不影响,如果你只想用 css,可以把它改写成 css 的值就好了,区别不大。

SCSS

// 工具方法

// box-shadow
@mixin box-shadow($value ...){
   
    -webkit-box-shadow:  $value;
    -moz-box-shadow:  $value;
    box-shadow:  $value;
}

// border-radius
@mixin border-radius($corner: 5px){
   
    -webkit-border-radius: $corner;
    -moz-border-radius: $corner;
    border-radius: $corner;
}
@mixin transition($value){
   
    -webkit-transition: $value;
    -moz-transition: $value;
    -ms-transition: $value;
    -o-transition: $value;
    transition: $value;
}

// Colors
$green        : #4CD964;
$cyan         : #5AC8FA;
$blue         : #007AFF;
$purple       : #5856D6;
$magenta      : #FF2D70;
$red          : #FF3B30;
$orange       : #FF9500;
$yellow       : #FFCC00;
$gray         : #8E8E93;
$grass        : #8BC34A;
$sky-blue     : #1BADF8;
$light-purple : #CC73E1;
$brown        : #A2845E;
$color-main: #FFCC00;


.avatar{
   
    margin: 0 auto;
    width: 60px;
    height: 60px;
    @include border-radius(50px);
    outline-width: 1px;
    overflow: hidden;
    img{
   
        width: 100%;
        display: block;
    }
    @include box-shadow(0px 0px 0 transparentize(black, 0.6));
    @include transition(all 0.3s);
    &:hover{
   
        $timer: 1;  // 控制散开的距离大小,倍率
        @include transition(all 0.3s);
        @include box-shadow(
                3px*$timer 3px*$timer 0 transparentize(black, 0.6),
                -5px*$timer -8px*$timer 3px*$timer transparentize($color-main, 0.3),
                -15px*$timer 13px*$timer 4px*$timer transparentize($green, 0.3),
                -45px*$timer 8px*$timer 10px*$timer transparentize($cyan, 0.5),
                15px*$timer -15px*$timer 10px*$timer transparentize($blue, 0.1),
                65px*$timer 65px*$timer 30px*$timer transparentize($yellow, 0.6),
                20px*$timer 45px*$timer 15px*$timer transparentize($magenta, 0.2),
                -20px*$timer -45px*$timer 15px*$timer transparentize($red, 0.6),
                -105px*$timer 38px*$timer 20px*$timer transparentize($green, 0.5),
                15px*$timer -105px*$timer 10px*$timer transparentize($blue, 0.6),
                140px*$timer 45px*$timer 15px*$timer transparentize($magenta, 0.6),
                -20px*$timer -145px*$timer 40px*$timer transparentize($yellow, 0.6),
                60px*$timer -65px*$timer 40px*$timer transparentize($magenta, 0.2),
        );
    }
}

三、另一个实例

实例: https://kylebing.cn/diary/ 点 试用演示账户 就能看到。

在这里插入图片描述

移动端的时候如果散射这么严重就会不太好看,所以把因数调小, timer = 0.2 效果如下:
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. css——box-shadow阴影效果

    2023-12-30 18:30:04       53 阅读
  2. css:阴影效果box-shadow

    2023-12-30 18:30:04       43 阅读
  3. CSSbox-shadow

    2023-12-30 18:30:04       26 阅读
  4. cssbox-shadow详解

    2023-12-30 18:30:04       37 阅读
  5. 探索光影魔法:WebKit中CSS文本阴影效果

    2023-12-30 18:30:04       18 阅读
  6. box-shadow

    2023-12-30 18:30:04       21 阅读
  7. csstext-shadow详解

    2023-12-30 18:30:04       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-30 18:30:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-30 18:30:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-30 18:30:04       82 阅读
  4. Python语言-面向对象

    2023-12-30 18:30:04       91 阅读

热门阅读

  1. Linux面试题 5

    2023-12-30 18:30:04       46 阅读
  2. python cgi获取前端传送json

    2023-12-30 18:30:04       58 阅读
  3. 【Linux 程序】1. 程序构建

    2023-12-30 18:30:04       53 阅读
  4. Android Studio导入现有项目的方法

    2023-12-30 18:30:04       56 阅读
  5. MyBatisPlus之逻辑删除

    2023-12-30 18:30:04       62 阅读
  6. Miniconda 与 Anaconda 的区别

    2023-12-30 18:30:04       50 阅读
  7. 动态计算高度实现展示更多逻辑

    2023-12-30 18:30:04       46 阅读
  8. MYSQL无法用指令备份,出现异常

    2023-12-30 18:30:04       60 阅读
  9. 在Linux中进行ZooKeeper集群搭建

    2023-12-30 18:30:04       49 阅读
  10. PaddleOCR环境搭建

    2023-12-30 18:30:04       58 阅读
  11. gorm 使用sql方法

    2023-12-30 18:30:04       50 阅读
  12. c++day3

    2023-12-30 18:30:04       50 阅读
  13. 杨辉三角型打印

    2023-12-30 18:30:04       53 阅读