全文目录:

    • 开篇语
      • **前言**
      • **1. CSS3 渐变 (Gradient)**
        • **1.1 线性渐变 (linear-gradient)**
        • **1.2 径向渐变 (radial-gradient)**
      • **2. CSS3 阴影 (Shadow)**
        • **2.1 盒子阴影 (box-shadow)**
        • **2.2 文本阴影 (text-shadow)**
      • **3. CSS3 遮罩 (Mask)**
        • **3.1 基本遮罩 (mask-image)**
        • **3.2 遮罩其他属性**
        • **3.3 支持的浏览器和前缀**
      • **总结**
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

CSS3 提供了丰富的视觉效果,包括渐变(gradient)、阴影(shadow)和遮罩(mask)等功能,可以极大地增强网页的视觉表现力。在现代Web设计中,这些技术被广泛应用来实现高质量的用户界面。

1. CSS3 渐变 (Gradient)

渐变是指颜色在一段区域内逐渐变化,通常用于背景、按钮等元素的装饰。CSS3 支持线性渐变(linear-gradient)和径向渐变(radial-gradient)两种常见的渐变方式。

1.1 线性渐变 (linear-gradient)

线性渐变从一个方向上渐变颜色,可以指定渐变的角度或者方向。

基本语法

background: linear-gradient(direction, color1, color2, ...);
  • direction:渐变的方向,可以是角度或方向关键词(如to leftto bottom等)。
  • color1, color2:渐变的颜色,可以指定多个颜色。

例子

/* 从上到下的线性渐变 */
background: linear-gradient(to bottom, #ff7e5f, #feb47b);/* 从左上角到右下角的线性渐变 */
background: linear-gradient(45deg, #ff7e5f, #feb47b);/* 多个颜色的渐变 */
background: linear-gradient(to right, #ff7e5f, #feb47b, #6a82fb);
1.2 径向渐变 (radial-gradient)

径向渐变是从中心向外逐渐变化的颜色。

基本语法

background: radial-gradient(shape size at position, color1, color2, ...);
  • shape:渐变的形状,可以是circle(圆形)或ellipse(椭圆形)。
  • size:定义渐变的大小,如closest-sidefarthest-corner等。
  • position:渐变的起始位置(默认为中心center)。
  • color1, color2:渐变的颜色。

例子

/* 从中心向外的圆形径向渐变 */
background: radial-gradient(circle, #ff7e5f, #feb47b);/* 从顶部左侧的椭圆形渐变 */
background: radial-gradient(ellipse at top left, #ff7e5f, #feb47b);

2. CSS3 阴影 (Shadow)

阴影效果可以让元素在视觉上浮动,增加深度感。CSS3 提供了 box-shadow(盒子阴影)和 text-shadow(文本阴影)两种阴影效果。

2.1 盒子阴影 (box-shadow)

box-shadow 属性为元素添加阴影效果。

基本语法

box-shadow: h-offset v-offset blur-radius spread-radius color inset;
  • h-offset:阴影水平偏移(正值表示向右偏移,负值表示向左偏移)。
  • v-offset:阴影垂直偏移(正值表示向下偏移,负值表示向上偏移)。
  • blur-radius:阴影的模糊半径,值越大阴影越模糊。
  • spread-radius:阴影的扩展半径,值为正时阴影会扩展,值为负时阴影会收缩。
  • color:阴影的颜色,可以是任何合法的颜色值。
  • inset:如果使用inset,阴影会被绘制在元素的内部,而不是外部。

例子

/* 简单的阴影 */
box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3);/* 多重阴影 */
box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2), -5px -5px 10px rgba(0, 0, 0, 0.2);/* 内阴影 */
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
2.2 文本阴影 (text-shadow)

text-shadow 属性为文本添加阴影效果。

基本语法

text-shadow: h-offset v-offset blur-radius color;
  • h-offset:阴影的水平偏移。
  • v-offset:阴影的垂直偏移。
  • blur-radius:阴影的模糊半径。
  • color:阴影的颜色。

例子

/* 简单文本阴影 */
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);/* 多重文本阴影 */
text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3), -2px -2px 5px rgba(255, 255, 255, 0.3);

3. CSS3 遮罩 (Mask)

遮罩允许你控制元素的透明度、形状和渐变,从而创建复杂的视觉效果。CSS3 的 mask 属性可以通过图片、渐变等方式创建遮罩。

3.1 基本遮罩 (mask-image)

mask-image 属性指定用作遮罩的图片或渐变。

基本语法

mask-image: url('mask.png');
  • url('mask.png'):指定一个图像作为遮罩。图像中的透明部分会显示背景,而不透明部分会隐藏。

例子

/* 使用图片遮罩 */
.element {mask-image: url('mask.png');-webkit-mask-image: url('mask.png'); /* 兼容旧版浏览器 */
}/* 使用渐变遮罩 */
.element {mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}
3.2 遮罩其他属性
  • mask-size:设置遮罩图片的大小。
  • mask-repeat:控制遮罩图片是否平铺。
  • mask-position:设置遮罩图片的位置。

例子

/* 使用遮罩和渐变结合 */
.element {mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 70%);-webkit-mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 40%, rgba(0, 0, 0, 0) 70%);
}
3.3 支持的浏览器和前缀

mask-image 和其他相关属性在不同的浏览器中有不同的支持情况。为了确保兼容性,可能需要使用 -webkit- 前缀。


总结

  • 渐变:CSS3 渐变是通过 linear-gradientradial-gradient 属性来创建的,支持线性和径向渐变。
  • 阴影:通过 box-shadowtext-shadow 可以给元素或文本添加阴影效果。
  • 遮罩:CSS3 的 mask 属性允许通过图像或渐变来为元素应用遮罩效果。

这些CSS3特性可以大大增强网页的视觉效果,使得设计更加现代化和富有动感。使用这些效果时,确保考虑到兼容性和性能,尤其是在移动设备和低性能设备上。

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Linux]虚拟地址到物理地址的转化

[Linux]虚拟地址到物理地址的转化 水墨不写bug 文章目录 一、再次认识地址空间二、页表1、页表的结构设计2、页表节省了空间,省在哪里?3、页表的物理实现 一、再次认识地址空间 OS和磁盘交互的内存基本单位是4KB,这4KB通常被称为内存块。OS对…

Kubernetes(K8s)核心架构解析与实用命令大全

在容器化技术席卷全球的今天,Kubernetes(简称K8s,以“8”代替“ubernete”八个字母)已成为云原生应用部署和管理的核心基础设施。作为Google基于内部Borg系统开源打造的容器编排引擎,K8s不仅解决了大规模容器管理的难题…

基于微信小程序的scratch学习系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

postgresql 流复制中指定同步的用户

postgresql 流复制中指定同步的用户 在创建postgresql流复制的过程中,可以指定用户名。 主库pg_hba.conf配置 vi $PGDATA/pg_hba.conf host replication repl 192.168.56.12/32 md5 host all all 0.0.0.0/0 md5主库创建同步的用户 # 主库创建 replicator 流复制…

基于springboot的运动员健康管理系统

博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,没有什么华丽的语言&#xff0…

工具识别系统Python+深度学习+人工智能+卷积神经网络算法+TensorFlow+图像识别

一、介绍 工具识别系统,使用Python作为主要编程语言,基于TensorFlow搭建卷积神经网络算法,通过收集了8种常见的日常工具图片(“汽油罐(Gasoline Can)”, “锤子(Hammer)”, “钳子&…

2024 CKA模拟系统制作 | Step-By-Step | 8、题目搭建-创建 Ingress

目录 ​​​​​​免费获取题库配套 CKA_v1.31_模拟系统 一、题目 二、核心考点 Ingress 资源定义 Ingress Controller 依赖 服务暴露验证 网络层次关系 三、搭建模拟环境 1.创建命名空间 2.安装ingress ingress-nginx-controller 3.创建hello.yaml并部署 四、总结 …

关于uv 工具的使用总结(uv,conda,pip什么关系)

最近要开发MCP 项目,uv工具使用是官方推荐的方式,逐要了解这个uv工具。整体理解如下: 一.uv工具的基本情况 UV 是一个由 Rust 编写的现代化 Python 包管理工具,旨在通过极速性能和一体化功能替代传统工具(如 pip、vi…

嵌入式学习笔记 - 新版Keil软件模拟时钟Xtal灰色不可更改的问题

在新版Keil软件中,模拟时钟无法修改XTAL频率,默认只能使用12MHz时钟。‌这是因为Keil MDK从5.36版本开始,参数配置界面不再支持修改系统XTAL频率,XTAL选项变为灰色,无法修改。这会导致在软件仿真时出现时间错误的问题&…

Spring AI Image Model、TTS,RAG

文章目录 Spring AI Alibaba聊天模型图像模型Image Model API接口及相关类实现生成图像 语音模型Text-to-Speech API概述实现文本转语音 实现RAG向量化RAGRAG工作流程概述实现基本 RAG 流程 Spring AI Alibaba Spring AI Alibaba实现了与阿里云通义模型的完整适配,…

Java进阶---JVM

JVM概述 JVM作用: 负责将字节码翻译为机器码,管理运行时内存 JVM整体组成部分: 类加载系统(ClasLoader):负责将硬盘上的字节码文件加载到内存中 运行时数据区(RuntimeData Area):负责存储运行时各种数据 执行引擎(Ex…

数据类型检测有哪些方式?

typeof 其中数组 对象 null都会判断为Object,其他正确 typeof 2 // number typeof true //bolean typeof str //string typeof [] //Object typeof function (){} // function typeof {} //object typeof undefined //undefined typeof null // nullinstanceof 判断…

NodeJS全栈开发面试题讲解——P6安全与鉴权

✅ 6.1 如何防止 SQL 注入 / XSS / CSRF? 面试官您好,Web 安全三大经典问题分别从不同层面入手: 🔸 SQL 注入(Server端) 原理:恶意用户将 SQL 注入查询语句拼接,导致数据泄露或破坏…

npm error Cannot find module ‘negotiator‘ 的处理

本想运行npm create vuelatest,但提示: npm error code MODULE_NOT_FOUND npm error Cannot find module negotiator npm error Require stack: npm error - C:\Users\Administrator\AppData\Roaming\nvm\v18.16.1\node_modules\npm\node_modules\tuf-j…

Python爬虫:AutoScraper 库详细使用大全(一个智能、自动、轻量级的网络爬虫)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、AutoScraper概述1.1 AutoScraper介绍1.2 安装1.3 注意事项二、基本使用方法2.1 创建 AutoScraper 实例2.2 训练模型2.3 保存和加载模型2.4 数据提取方法2.5 自定义规则三、高级功能3.1 多规则抓取3.2 分页抓取3.3 代…

【Netty系列】解决TCP粘包和拆包:LengthFieldBasedFrameDecoder

目录 如何使用? 1. 示例代码(基于Netty) 2. 关键参数解释 3. 协议格式示例 4. 常见配置场景 场景1:长度字段包含自身 场景2:长度字段在消息中间 5. 注意事项 举个例子 完整示例:客户端与服务端交互…

哈尔滨工业大学提出ADSUNet—红外暗弱小目标邻帧检测新框架

ADSUNet: Accumulation-Difference-Based Siamese U-Net for inter-frame Infrared Dim and Small Target Detection 作者单位:哈尔滨工业大学空间光学工程研究中心 引用: Liuwei Zhang, Yuyang Xi, Zhipeng Wang, Wang Zhang, Fanjiao Tan, Qingyu Hou, ADSUNet: A…

Linux开发追踪(IMX6ULL篇_第一部分)

前言 参数:cortex-A7 698Mhz flash 8GB RAM 512M DDR3 2个100M网口 单核 初期: 一、安装完虚拟机之后,第一步先设置文件之间可以相互拷贝复制,以及通过CRT连接到虚拟机等 折磨死人了啊啊啊啊啊啊 1、关于SSH怎么安装…

【萌笔趣棋】网页五子棋项目测试报告

目录 一.项目介绍 (一)项目简介 (二)功能介绍 (三)页面展示 1.注册页面 2.登录页面 3.游戏大厅页面 4.游戏房间页面(对战) 二.功能测试 (一)出现的…

知识图谱增强的大型语言模型编辑

https://arxiv.org/pdf/2402.13593 摘要 大型语言模型(LLM)是推进自然语言处理(NLP)任务的关键,但其效率受到不准确和过时知识的阻碍。模型编辑是解决这些挑战的一个有前途的解决方案。然而,现有的编辑方法…