css 画图之质感盒子

news2024/11/25 14:31:46

20230226184250.png

前言

css 众所周知可以做很多的事情,比如:界面效果、特效、独特的样式等。今天给各位朋友带来的是以box-shadow来画一个很有质感效果的一个盒子。

之前在网上冲浪的时候,发现了这样的一个效果,所以来记录一下。

下面是实现后的效果图。

20230226184250.png

看着还是不错吧,各位铁子。让我一起往文章下面看看他的实现过程吧。

box-shadow 主角描述

什么是box-shadow

属性用于在元素的框架上添加阴影效果。你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。该属性可设置的值包括阴影的 X 轴偏移量、Y 轴偏移量、模糊半径、扩散半径和颜色。

box-shadow 属性使用说明

box-shadow 接收 6 个属性值,当存在多个阴影时则每条阴影以,分割,如下:

box-shadow: 属性A 属性B 属性C 属性D 属性E 属性F,
            属性A 属性B 属性C 属性D 属性E 属性F;

属性值说明

  • A:值为:inset,表示阴影的扩散状态,不填则 向外扩散,常称 外阴影;当存在值并且为inset时,则向内扩散, 常称 内阴影。
  • B:X 轴偏移量, 可为 负数。
  • C:Y 轴偏移量, 可为 负数。
  • D:模糊半径, 可为 负数。
  • E:扩散半径, 可为 负数。
  • F:阴影颜色。

实现过程

全程实现方案以 box-shadow 实现。

搭建基础布局

<div class="content">
    <div class="box"></div>
</div>
 * {
    margin: 0;
    padding: 0;
}
.content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    background-color: rgba(171, 189, 207, 1);
}
.box {
    width: 300px;
    height: 300px;
    background-color: rgba(201, 212, 223, 1);
    border-radius: 35px;
}

效果图:
image.png

添加阴影

这里我们先添加一条 外阴影

其 x、y 轴坐标为 15 个像素,然后我们设置它的 模糊半径 为 30 个像素,扩散半径 为 -10 个像素。

大概成效位置图:

image.png

.box {
    width: 300px;
    height: 300px;
    background-color: rgba(201, 212, 223, 1);
    border-radius: 35px;
    box-shadow: 15px 15px 30px -10px rgba(0, 0, 0, 0.2);
}

效果图:

image.png

扩散半径 为负数时 说明:

当 扩散半径 为负数的时候,它会根据设定的 值 往回收一定的范围。

添加一条 白色 内阴影,像 一束光一样照在我们的盒子上

其 x、y 轴坐标为 20 个像素,然后我们设置它的 模糊半径 为 15 个像素。

大概成效位置图:

image.png

.box {
    width: 300px;
    height: 300px;
    background-color: rgba(201, 212, 223, 1);
    border-radius: 35px;
    box-shadow: 15px 15px 30px -10px rgba(0, 0, 0, 0.2),
                inset 20px 20px 15px rgba(255, 255, 255, 0.7)
                ;
}

效果图:

image.png

添加一条 白色 外阴影,来 散射 我们的 光

其 x、y 轴坐标为 -15 个像素,然后我们设置它的 模糊半径 为 35 个像素。

大概成效位置图:

image.png

.box {
    width: 300px;
    height: 300px;
    background-color: rgba(201, 212, 223, 1);
    border-radius: 35px;
    box-shadow: 15px 15px 30px -10px rgba(0, 0, 0, 0.2),
                inset 20px 20px 15px rgba(255, 255, 255, 0.7),
                -15px -15px 35px rgba(255, 255, 255, 0.7)
                ;
}

效果图:

image.png

添加一条 黑色 内阴影,来 凸显我们的盒子 的边界感

这里我们需要将这条阴影画在 右下角。

其 x、y 轴坐标为 -1 个像素,然后我们设置它的 模糊半径 为 10个像素。

大概成效位置图:

image.png

.box {
    width: 300px;
    height: 300px;
    background-color: rgba(201, 212, 223, 1);
    border-radius: 35px;
    box-shadow: 15px 15px 30px -10px rgba(0, 0, 0, 0.2),
                inset 20px 20px 15px rgba(255, 255, 255, 0.7),
                -15px -15px 35px rgba(255, 255, 255, 0.7),
                inset -1px 1px 10px rgba(0, 0, 0, 0.5)
                ;
}

效果图:

image.png

全部代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .content {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100vh;
            background-color: rgba(171, 189, 207, 1);
        }
        .box {
            width: 300px;
            height: 300px;
            background-color: rgba(201, 212, 223, 1);
            border-radius: 35px;
            box-shadow: 
                15px 15px 30px -10px rgba(0, 0, 0, 0.2),
                inset 20px 20px 15px rgba(255, 255, 255, 0.7),
                -15px -15px 35px rgba(255, 255, 255, 0.7),
                inset -1px 1px 10px rgba(0, 0, 0, 0.5)
                ;
        }
    </style>
</head>
<body>
    <div class="content">
        <div class="box"></div>
    </div>
    
</body>
</html>

结语

以上就是 css 画图之质感盒子 这篇文章的全部内容。

若朋友你有更好的建议或者想法,可以评论在下方,一起探讨哦。

我是 桃小瑞,公众号 @ 桃小瑞。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/373574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Zookeeper源码环境搭建

前言 一、IEDA导入zk源码 git clone -b release-3.7.0 gitgithub.com:apache/zookeeper.git二、切换到稳定分支 通过命令行切换zk分支到3.8.1稳定版。 git checkout -b branch-3.8.1三、编译项目 执行maven命令编译项目 mvn clean install -Dmaven.test.skiptrue三、集群搭…

【计算机网络】高并发业务必备的Linux网络IO模型

IO的操作也就是应用程序从TCP缓冲区中读取数据的时候。网络I/O的本质是socket的读取&#xff0c;socket在linux中被抽象为流&#xff0c;I/O可以理解为对流的操作。对于一次I/O访问&#xff0c;数据会先被拷贝到操作系统的内核的缓冲区中&#xff0c;然后才会从操作系统内核的缓…

Java EE|TCP/IP协议栈之应用层协议DNS详解

文章目录一、对DNS的感性认识简介特点一些常见疑问二、DNSDNS域名结构域名的分级三、域名服务器四、域名解析过程参考一、对DNS的感性认识 简介 DNS&#xff0c;即Domain Name System,是域名系统的简称。它是Internet上解决网上机器命名的一种系统。 TCP/IP中的IP地址是由四…

C语言结构体对齐

1. 结构体对齐 要点 变量只能存储在他的长度的整数倍地址上结构体整体对齐跟他的最长的字段整数倍对齐 栗子1 struct Example1 {char a; //1个字节int c; //4个字节short b; //2个字节 };std::cout << sizeof(Example1 ) << std::endl; // 12 std::cout &…

JVM篇之垃圾回收

一.如何判断对象可以回收 1.引用计数法 只要一个对象被其他变量所引用&#xff0c;就让它的计数加1&#xff0c;被引用了两次就让它的计数变成2&#xff0c;当这个变量的计数变成0时&#xff0c;就可以被垃圾回收&#xff1b; 弊端&#xff1a;当出现如下图的情况&#xff0…

4.OCR文本识别Connectionist Temporal Classification(CTC)算法

文章目录1.基础介绍2.Connectionist Temporal Classification(CTC)算法2.1 什么是Temporal Classification2.2 CTC问题描述2.2关于对齐2.3 前向后向算法2.4 推理时3.pytorch中的CTCLOSS参考资料欢迎访问个人网络日志&#x1f339;&#x1f339;知行空间&#x1f339;&#x1f3…

【react】react创建项目与引入AntD组件库:

文章目录一、初始化项目&#xff1a;【1】创建项目【2】暴露项目配置文件【3】安装依赖【4】配置less二、快捷键&#xff1a;【1】rcctab三、安装AntD组件库&#xff1a;【1】安装【2】index.js【3】问题&#xff1a;【4】效果&#xff1a;一、初始化项目&#xff1a; 【1】创…

【基于增强上下文注意网络:超分】

Enhanced Context Attention Network for Image Super Resolution &#xff08;基于增强上下文注意网络的图像超分辨率&#xff09; 深度卷积神经网络&#xff08;CNN&#xff09;极大地提高了图像超分辨率&#xff08;SR&#xff09;的性能。尽管图像随机共振的目标是恢复高频…

Mysql视图,存储过程,触发器,函数以及Mysql架构

一,视图视图是基于查询的一个虚拟表 , 也就是将sql语句封装起来, 要用的时候直接调用视图即可, select语句查询的表称为基表, 查询的结果集称为虚拟表, 基本表数据发生了改变, 那么视图也会发生改变, 使用视图就是为了简化查询语句.1.CREATE VIEW view_admin AS SELECT * FROM…

聊一聊过度设计!

文章目录什么是过度设计&#xff1f;过度设计的坏处如何避免过度设计充分理解问题本身保持简单小步快跑征求其他人的意见总结新手程序员在做设计时&#xff0c;因为缺乏经验&#xff0c;很容易写出欠设计的代码&#xff0c;但有一些经验的程序员&#xff0c;尤其是在刚学习过设…

top -p pid为什么超过100%

CPU&#xff1a;Cores, and Hyper-Threading 超线程&#xff08;Hyper-Threading &#xff09; 超线程是Intel最早提出一项技术&#xff0c;最早出现在2002年的Pentium4上。单个采用超线程的CPU对于操作系统来说就像有两个逻辑CPU&#xff0c;为此P4处理器需要多加入一个Logic…

Spring Cache的基本使用与分析

概述 使用 Spring Cache 可以极大的简化我们对数据的缓存&#xff0c;并且它封装了多种缓存&#xff0c;本文基于 redis 来说明。 基本使用 1、所需依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

redis秒杀

redis优惠券秒杀 为什么订单表订单ID不采用自增长&#xff1f; id规律性太明显&#xff0c;容易被用户猜测到&#xff08;比如第一天下订单id10&#xff0c;第二天下订单id100&#xff0c;在昨天的1天内只卖出90商品&#xff09;受单表数据量限制&#xff08;订单数据量大&am…

Redis高级删除策略与数据淘汰

第二章&#xff1a;Redis高级 学习目标 目标1&#xff1a;能够说出redis中的数据删除策与略淘汰策略 目标2&#xff1a;能够说出主从复制的概念&#xff0c;工作流程以及场景问题及解决方案 目标3&#xff1a;能够说出哨兵的作用以及工作原理&#xff0c;以及如何启用哨兵 …

《分布式技术原理与算法解析》学习笔记Day23

分布式数据复制 我们在进行分布式数据存储设计时&#xff0c;通常会考虑对数据进行备份&#xff0c;以提高数据的可用性和可靠性&#xff0c;“数据复制技术”就是实现数据备份的关键技术。 什么是数据复制技术&#xff1f; 在分布式数据库系统中&#xff0c;通常会设置主备…

Java StringBuilder类(为什么更高效、常用方法、构造器)

StringBuilder类一、引言二、StringBuilder类特点三、StringBuilder构造方法四、StringBuilder常用方法五、StringBuilder为什么高效率六、StringBuffer类一、引言 为什么要引入StringBuilder类 提高字符串操作效率&#xff0c;尤其是涉及大量字符串拼接 //获取1970年1月1日0时…

2023年三月份图形化一级打卡试题

活动时间 从2023年3月1日至3月21日&#xff0c;每天一道编程题。 本次打卡的规则如下&#xff1a; 小朋友每天利用10~15分钟做一道编程题&#xff0c;遇到问题就来群内讨论&#xff0c;我来给大家答疑。 小朋友做完题目后&#xff0c;截图到朋友圈打卡并把打卡的截图发到活动群…

土著刷题新功能上线:根据每日学习时间,制定专属学习计划,多种数据统计维度追踪计划进度

吐槽社区的一个小伙伴在用土著刷题微信小程序进行碎片化学习&#xff0c;同时进行多科目题库练习的时候&#xff0c;不好追踪学习进度&#xff0c;希望有个能制定每日目标的功能。因此土著刷题微信小程序v1.11迭代开发了 学习计划 模块功能&#xff0c;学习计划是一个可以设置题…

HTML#3图片,音频,视频标签

一. 介绍1.标签与描述标签 描述<img> 定义图片<audio> 定义音频<video> 定义视频2.标签的详细介绍img:定义图片src:规定显示图像的 URL (统一资源定位符)height:定义图像的高度width:定义图像的宽度audio: 定义音频。支持的音频格式: MP3、WAV、OGGsrc:规定音…

角度制与弧度制的相互转换np.deg2radnp.rad2deg

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】角度制与弧度制的相互转换np.deg2radnp.rad2deg选择题以下关于python代码表述错误的一项是?import numpy as npprint("【执行】np.rad2deg(np.pi)")print(np.rad2deg(np.pi))print(&…