【CSS3】渐变 阴影 遮罩

这篇具有很好参考价值的文章主要介绍了【CSS3】渐变 阴影 遮罩。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. CSS3渐变

渐变: 有规律的渐渐变化,在前端中通常指颜色的变化的实现方式. 通常使用在所有接受图像的属性上.(替代图片),意义是创建一张图片

gradient可以应用在所有接受图像的属性上

1.1 分类:

线性渐变(linear-gradient)变化的方向是一条直线

径向渐变(radial-gradient)变化的方向是从圆心向四周运动运动

1.2. 线性渐变 (linear-gradient)

用于创建一个表示两种或多种颜色线性渐变的图片。

1.2.1 参数值:
  1. 第一个参数: 渐变方向

    从哪到哪发生渐变

    关键词:

    • to left 设置渐变为从右到左 . 相当于: 270deg
      to right 设置渐变从左到右。 相当于: 90deg
      to top 设置渐变从下到上。 相当于: 0deg
      to bottom 默认):设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
    • 对角渐变:to top left / to top right / to bottom right / to bottom left

    角度值: 单位:deg

    (0deg = to top) 顺时针旋转

  1. 第二个参数: 颜色,位置 (百分比| 数值)

    规定哪种颜色从开始发生渐变效果

    比如:red 10%

  1. 第三个参数: 颜色,位置 (百分比| 数值)

    规定哪种颜色从开始发生渐变效果

    比如: blue 20%

  2. 后面反复继续
    例子:

linear-gradient(30deg, red 10%, green 10%)
1.2.2 参数省略

第一个参数可以省略,默认从上往下,

后续每个参数描述某个关键点的位置的颜色,两个关键点之间渐变.

background-image: linear-gradient(#6fc 0%,red 100%);
1.2.3 渐变平铺
  1. repeating-linear-gradient: 重复的(线性渐变)
  2. .repeating-radial-gradient: 重复的(径向渐变)
1.2.4 带图片和透明度的渐变
background: linear-gradient(to right, rgba(255,255,255,0),  rgba(255,255,255,1)),url(abc.jpg);
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 500px;
      height: 500px;
      border: 2px solid #000;
      margin: 10px auto;
      /* background-image:linear-gradient(30deg,red 20%,blue 80%); */
      /* background-image:repeating-linear-gradient( 180deg,red 0%,red 10%,blue 10%,blue 20%,yellow 20%,yellow 30%);(重复的线性渐变)    */
      /* background-image:repeating-linear-gradient( 180deg,red 0%,red 15%,blue 30%); */
      /* 渐变遮罩,图片上盖一层半透明的颜色 */
      background-image: linear-gradient(135deg, rgba(255, 0, 0, .5) 0, rgba(0, 0, 255, .6) 200px, rgba(0, 0, 0, 0) 300px), url(./images/222.jpg)
        /* 线性渐变方向不写,默认从上往下渐变,关键字to top ,to left;0是从下往上,角度值30deg 。百分数表示渐变开始和结束的位置,也可以使用像素渐变,如果渐变距离超出元素,则超出部分不显示,默认切掉了 */
    }

    /* 0度是从下往上,30度是左下往右上,90度是向右,180度是从上向下(默认) */
  </style>
</head>

<body>
  <div id="box"></div>
</body>

</html>
1.3. 径向渐变(radio-gradient)

用来展示由原点(渐变中心)辐射开的颜色渐变。

使用方式:

radial-gradient( shape [size ]?[at <position>,]?<color-stop>[,<color-stop>]+)

1.3.1 参数:

radial-gradient( shape [size ] at[position ],color 位置,color 位置,+)

镜像渐变: 圆/椭圆 半径 at 圆心,颜色 位置,颜色位置

  1. shape 形状
    • circle(圆)
    • ellipse(椭圆,默认)
    • 形状后面可以跟半径值
  1. shape size: 半径

    圆形的半径圆只有一个值,椭圆有两个值,px | 关键词

    关键词:

    • closest-side: 圆心到最近的边
      closest-corner: 圆心到最近的角【
      farthest-side: 圆心到离圆心最远的边
      farthest-corner(默认): 圆心到离圆心最远的角
  1. position 确定圆心的位置

    X坐标,Y纵坐标;如果只提供一个,第二值默认为50%,即center

    值:

    • px %
    • X关键词 :left:左 center:中 right:右
    • Y关键词 :top:上 center:中 bottom:下
  1. color-stop: 颜色 位置

    从中心到外部的颜色渐变范围

background-image: radial-grandient(circle,red,blue);

没有数值范围的时候颜色均分,从圆心开始到矩形最远的点均分颜色,然后绕圆心画圆染色,支持很多很多颜色

实例:

radial-gradient(ellipse 100% 100% at 300px  300px, #f00 10%, #ff0 20%, #080 100%)
1.3.2 重复径向渐变

原点放射渐变的图像。它类似于并且采取相同的论据,但它重复无限地在各个方向上停止颜色以覆盖整个容器。

渐变平铺repeating-渐变属性

background: repeating-radial-gradient(red 0px ,red 20px,blue 20px,blue 40px);
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 500px;
      height: 300px;
      border: 2px solid #000;
      margin: 10px auto;
      /*  background-image:radial-gradient( red ,blue); 默认渐变到最远的角 */
      /*background-image:radial-gradient( red 50%,blue);/*  从50%的位置开始渐变 */
      /*background-image:radial-gradient(circle,red,blue);正圆渐变*/
      /* background-image:radial-gradient(circle closest-side at 200px 100px,red,blue);圆心水平200px 垂直100px位置,圆心也可以用关键字left center。 半径是最近的边closest-side,半径也可以是具体数值 */
      /* background-image:repeating-radial-gradient(circle closest-side at 200px 100px,red 20px,blue 40px);重复的径向渐变 */
      /* 径向渐变做图片的遮罩 */
      background-image: repeating-radial-gradient(circle closest-side at 200px 100px, rgba(255, 0, 0, .5) 20px, rgba(0, 0, 255, .5) 40px), url(./images/333.jpg);
    }
  </style>
</head>

<body>
  <div id="box"></div>
</body>

</html>
2. 遮罩 mask

了解一下

2..1 属性值:
  1. -webkit-mask-image:; 遮罩图片
    • url(‘’)
    • linear-gradient
    • radial-gradient

    任何类型图片都是可以的,只是说不透明的图片我们看不到后面的背景

  2. -webkit-mask-repeat 遮罩平铺

    属性值

    • 默认repeat,
    • no-repeat
    • repeat-x
    • repeat-y
    • 行为类似于background-repeat
  3. -webkit-mask-position 遮罩位置

    属性值:关键词 | % | length

    和background-position支持的属性值表现一模一样

  4. -webkit-mask-size 遮罩尺寸

    值:% | length

    遮罩图片的大小

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 500px;
      height: 500px;
      border: 2px solid black;
      margin: 10px auto;
      background: url(./images/333.jpg) no-repeat 0 0/cover;
      /* 遮罩,需要加兼容前缀 。图片不透明的地方能看到底图,透明的地方不能看到底图*/
      /* 遮罩可以写多张图片,可以是渐变 */
      -webkit-mask-image: url(./images/apple.png), linear-gradient(to right, rgba(255, 0, 0, 0), rgba(0, 0, 255, 1));
      -webkit-mask-repeat: no-repeat;
      /* 多张图片分别写位置 */
      -webkit-mask-position: 0;
      -webkit-mask-size: 50%;
    }
  </style>
</head>

<body>
  <div id="box"></div>
</body>

</html>
3、box-reflect() 倒影

box-reflect:none | direction offset mask-box-image

3.1. direction 倒影在对象的位置
  1. above 上
  2. below 下
  3. left 左
  4. right 右
3.2. offset: 用长度值来定义倒影与对象之间的间隔,可以为负值
length | percentage
3.3. mask-box-image: 遮罩图像
  1. <url>: 使用绝对或相对地址指定遮罩图像。
    . linear-gradient: 使用线性渐变创建遮罩图像。
    . radial-gradient: 使用径向(放射性)渐变创建遮罩图像。
  2. repeating-linear-gradient:使用重复的线性渐变创建背遮罩像。
    . repeating-radial-gradient: 使用重复的径向(放射性)渐变创建遮罩图像。
  3. none:无遮罩图像
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 300px;
      height: 300px;
      border: 2px solid black;
      margin: 320px auto;
      background: url(./images/333.jpg) no-repeat 0 0/cover;
      /* 倒影-webkit-box-reflec方向:上above 右right 下below 左left。倒影间隔 20px。倒影遮罩图片*/
      -webkit-box-reflect: above 20px url(./images/apple.png);
      /* 倒影也可以使用图片遮罩、渐变遮罩 */
      -webkit-box-reflect: below 20px linear-gradient(to top, rgba(0, 0, 0, 1), rgba(81, 14, 14, 0));
    }
  </style>
</head>

<body>
  <div id="box"></div>
</body>

</html>
4. 盒子阴影 box-shadow

给盒子添加阴影表现效果,仿佛有光打到盒子上
和原盒子一样大小,包含border

4.1 属性值
  1. h-shadow 水平偏移量。允许负值 ( 必需)
  2. v-shadow 垂直偏移量。允许负值 (必需)
  3. blur 模糊半径 (可选。)
  4. spread 阴影的大小 (可选。)
  5. color 阴影的颜色 (可选。)
  6. outset 外部阴影 (默认) 内部阴影(inset可选 )
4.2 属性值介绍
  1. 水平,垂直偏移量长度单位

  2. 模糊半径
    指阴影由完全的颜色到消失的长度,类于似渐变的长度。默认是0

  3. 阴影大小

    默认是0,和原来一样大,单位px,正数表示放大,负数表示缩小

  4. 颜色

    阴影颜色

  5. inset/ outset,

    默认outset外阴影,可以写inset改成内阴影,不遮挡文字遮挡盒子,遮挡背景,可用逗号分隔,类似背景渐变,可叠加

4.3 写法

box-shadow: h-shadow v-shadow blur spread color outset

box-shadow:10px 10px 5px 10px #000 outset 
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 300px;
      height: 100px;
      border: 1px solid black;
      background-color: pink;
      /* box-shadow: 0 0px 10px 0px black inset;  内阴影,默认外阴影 */
      box-shadow: 5px 6px 20px 2px black;
    }
  </style>
</head>

<body>
  <div id="box"></div>
</body>
5. 文字阴影 text-shadow

定义文字的阴影

5.1 属性值
  1. h-shadow 水平偏移量。允许负值 ( 必需)
  2. v-shadow 垂直偏移量。允许负值 (必需)
  3. blur 模糊半径 (可选。)
  4. color 阴影的颜色 (可选。)

类似于box-shadow;不支持缩放和内外阴影,可叠加逗号分隔

阴影叠加: 先渲染前面的,再渲染后面的文章来源地址https://www.toymoban.com/news/detail-798958.html

text-shadow:2px 2px 0px red, 2px 2px 4px green; 先渲染后面的,再渲染前面的
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <link rel="stylesheet" href="./index.css">
  <title>Document</title>
  <style>
    #box {
      width: 600px;
      height: 100px;
      font-size:50px;
      text-shadow: 2px 2px 5px pink;
      margin:20px;
    }
  </style>
</head>

<body>
  <div id="box">HELLO WORLD</div>
</body>

</html>
5.2 文本阴影案例:
1. 层叠
color:red; 
font-size:100px; 
font-weight:bold; 
text-shadow:2px 2px 0px white, 4px 4px 0px red;/*两个阴影*/
2. 光晕
color:white; 
font-size:100px; 
text-shadow:0 0 10px #fff, 0 0 20px #fff, 0 0 30px #fff, 0 0 40px #ff00de, 0 0 70px #ff00de, 0 0 80px #ff00de, 0 0 100px #ff00de, 0 0 150px #ff00de;

3. 火焰文字
text-shadow: 0 0 20px #fefcc9, 10px -10px 30px #feec85, -20px -20px 40px #ffae34, 20px -40px 50px #ec760c, -20px -60px 60px #cd4606, 0 -80px 70px #973716, 10px -90px 80px #451b0e; 
font-family:Verdana, Geneva, sans-serif; 
font-size:100px; 
font-weight:bold; 
color:white;

到了这里,关于【CSS3】渐变 阴影 遮罩的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS3 渐变

    CSS3 渐变可以让你在两个或多个指定的颜色之间显示平稳的过渡。 CSS3渐变有两种类型:线性渐变(Linear Gradients)和径向渐变(Radial Gradients)。 线性渐变(Linear Gradients): 线性渐变沿着一条直线方向进行渐变。可以通过指定起始点(\\\"from\\\")和终止点(\\\"to\\\")之间的颜色过渡来

    2024年02月07日
    浏览(45)
  • css3背景渐变

    1.线性渐变  2.径向渐变 3.重复渐变 无论线性渐变,还是径向渐变,在没有发生渐变的位置,继续进行渐变,就为重复渐变。 利用重复渐变实现网格效果 代码如下:

    2024年02月13日
    浏览(45)
  • css3背景与渐变

    在现代网页设计中,背景与渐变是塑造用户体验和品牌形象的关键元素。这不仅仅是技术层面的问题,更是一门艺术。通过本文,我们将揭示CSS3的神奇之处,帮助你释放创意,打破设计的局限,让你的网页焕发生机。 background-color属性表示背景颜色 背景颜色可以用十六进制、

    2024年01月20日
    浏览(47)
  • CSS3渐变属性详解

    线性渐变 概念:线性渐变,指的是在一条直线上进行的渐变。在线性渐变过程中, 起始颜色会沿着一条直线按顺序过渡到结束颜色 语法: 渐变角度 线性渐变的“ 渐变角度 ”取值有两种: 一种是使用角度(单位为deg) 另一种是使用。 取值 属性值 对应角度 说

    2024年02月02日
    浏览(46)
  • css如何给盒子底部加阴影,CSS3 --添加阴影(盒子阴影、文本阴影的使用)

    CSS3 - 给div或者文字添加阴影(盒子阴影、文本阴影的使用) CSS3定义了两种阴影:盒子阴影和文本阴影。其中盒子阴影需要IE9及其更新版本,而文本阴影需要IE10及其更新版本。下面分别介绍两种阴影的使用: 1,盒子阴影 (1)盒子阴影的属性是 box-shadow 1 box-shadow:5px 5px 10px g

    2024年02月10日
    浏览(55)
  • CSS3渐变及2D转换

    持续更新哦… 1、css3渐变 概念: CSS3渐变(gradient)可以让你在两个或多个指定的颜色之间显示平 稳的过渡。以前,你必须使用图像来实现这些效果,现在通过使用 CSS3的渐变(gradients)即可实现。此外,渐变效果的元素在放大时 看起来效果更好,因为渐变(gradient)是由浏览器生成的

    2024年02月11日
    浏览(44)
  • 微信小程序——CSS3渐变

      SS3 渐变(gradients)可以在两个或多个指定的颜色之间显示平稳的过渡。CSS3 定义了两种类型的渐变(gradients): 1、线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向; 2、径向渐变(Radial Gradients)- 由它们的中心定义。 线性渐变 (1)从上到下渐变(默认情况)

    2024年02月03日
    浏览(49)
  • CSS系列之盒子阴影box-shadow(CSS3)

    用于在元素的框架上添加阴影效果。你可以在同一个元素上设置多个阴影效果,并用逗号将他们分隔开。该属性可设置的值包括 阴影的X轴偏移量 、 Y轴偏移量 、 模糊半径 、 扩散半径 和 颜色 。 当给出两个、三个或四个 length 值时。 如果只给出两个值, 那么这两个值将会被

    2023年04月08日
    浏览(52)
  • CSS3 实现边框圆角渐变色&&渐变文字效果

      background-clip: text; 是CSS中的一个属性,用于指定背景图片或颜色的裁剪方式,裁剪的区域是文本的轮廓。具体来说,就是将背景图片或颜色限制在文本的轮廓内,而不是整个元素的范围内。这个属性通常用于创建一些特殊的文本效果,比如文字渐变、文字填充等。  参考:

    2024年02月16日
    浏览(58)
  • CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属性 渐变 前端开发入门笔记(七)

    CSS3是用于为HTML文档添加样式和布局的最新版本的层叠样式表 (Cascading Style Sheets)。下面是一些常用的CSS3属性及其详细解释: border-radius:设置元素的边框圆角的半径。可以使用四个值设置四个不同的圆角半径,也可以只使用一个值来设置统一的圆角。 box-shadow:创建一个元

    2024年02月08日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包