谈谈css3阴影、背景和渐变

1,922 阅读4分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

前言

大家好哇,今天我们来谈谈css3阴影、背景和渐变,大神请绕道,因为本文基本摘自我刚入行时的笔记哦~

CSS3阴影

css3阴影主要包括文字阴影和边框阴影。

文字阴影

text-shadow:文字阴影

语法: text-shadow:水平偏移 垂直偏移 羽化大小 颜色

边框阴影

box-shadow:边框阴影

  • none: 无阴影
  • <length>:第1个长度值用来设置对象的阴影水平偏移值。 可以为负值
  • <length>:第2个长度值用来设置对象的阴影垂直偏移值。 可以为负值
  • <length>:如果提供了第3个长度值则用来设置对象的阴影模糊值。 不允许负值
  • <length>:如果提供了第4个长度值则用来设置对象的阴影外延值。 可以为负值
  • <color>:设置对象的阴影的颜色。
  • inset:设置对象的阴影类型为内阴影。 该值为空时,则对象的阴影类型为外阴影

CSS3背景

在css2中已经有background属性了,用于设置盒子的背景相关的一些样式,在CSS3中新增加了几个背景相关的几个属性。

background-size

用户设置背景图片的尺寸大小

会导致图片失真的两种设置方式

/*background-size:设置背景图片的大小*/
background-size: 600px 400px;

/* 百分比是相对于盒子自身的宽度和高度 */
background-size: 100% 100%;

不失真的设置方式(等比例缩放)

/*containe保证等比例缩放,但是会出现留白*/
background-size: contain;

/*cover保证等比例缩放,并且不会留白,但是出现有一部分图片不显示*/
background-size: cover;

background-clip

设置背景区域的大小

/*盒子的背景区域是整个盒子,包括边框和padding*/

/*默认值,设置背景区域包括了边框*/
background-clip: border-box;

/*背景区域只包含padding和content*/
background-clip: padding-box;

/*背景区域只包含content*/
background-clip: content-box;

background-origin

设置背景图片的原点的位置,默认是padding的地方开始

background-image: url(images/bg.jpg);
/*设置原点从border开始*/
background-origin: border-box;

/*设置原点从padding开始,默认值*/
background-origin: padding-box;

/*设置原点从content开始*/
background-origin: content-box;

多重背景

background设置背景的时候,可以设置多个背景图片,使用逗号隔开。注意颜色只能设置一次,并且通常来说,颜色都是在最后面进行设置。

background是一个合写的属性,如果在background之前设置了background相关的样式,会被覆盖掉。

根据上面的介绍,我们可以很容易的写一行多重背景的代码,例如:

background: url(images/1.jpg) no-repeat top left, url("images/2.jpg") no-repeat right bottom, pink;

CSS3渐变

css3中的渐变包括线性渐变、径向渐变。

线性渐变

linear-gradient指沿着某条直线朝一个方向产生的渐变效果。

//注意:渐变实际上相当与一张图片,因为需要加给background-image才会生效
//渐变的两个要求:有区间,有颜色变化。

//最简单的渐变
background-image: linear-gradient(red, green);

//设定渐变的方向
background-image: linear-gradient(to right, red, green);

//也可以设定渐变的角度
background-image: linear-gradient(45deg, red, green);

//设定渐变的范围
background-image: linear-gradient(to right, red 20%, green 80%)

//每一个区间表示渐变颜色的范围
background-image: linear-gradient(to right, red 20%, green 20%)

径向渐变

radial-gradient指从一个中心点开始沿着四周产生渐变效果

/*1. 最简单的渐变*/
background-image: radial-gradient(red, green);

/*2. 指定圆的半径和圆心*/
background-image: radial-gradient(200px at center, red, green);

/*3. 指定椭圆*/
background-image: radial-gradient(200px 80px at center, red, green);

/*4. 指定范围*/
background-image: radial-gradient(200px at center, green 50%, red 50%);

后记

你好哇,我是南极大冰块,一个技术与颜值成正比的前端工程师,崇尚一针见血的搞定前端问题,希望我的博客有帮助到了你。

关注我,前端路途一起走。嘿哈~😛