颜色

CSS 中可以改变文字的颜色还有元素的背景颜色。可以用颜色关键字来定义颜色,如red,但是这些颜色关键字并不常用。

transparent

transparent可以让文字或背景变的完全透明的颜色,它就像rgba(0,0,0,0)的缩写。

currentColor

currentColor代表原始的color属性的计算值。比如当前元素color为红色,背景色设置为currentColor,那么现在背景色也为红色。

rgb、rgba

颜色还可以用rgb函数表示,如rgb(255, 255, 255)代表白色,它每个参数的取值范围是0255,它是用不同比例的红、绿、蓝来组成期望颜色。

rgba函数代表红-绿-蓝-阿尔法,其中的a是透明度,取值范围是01

除了使用rgb函数,还可以使用 16 进制来表示,它的语法是#RRGGBB,如果#f3f3f3,代表f3(16 进制)数量的红-绿-蓝。如果红-绿-蓝数值两两相等,如#ffffff,就可以简写成 3 位 16 进制的形式#fff。在高版本的浏览器还可以用 16 进制表示透明度#RRGGBBAAAA的取值范围是0255,如果两两相等也可以简写成#RGBA形式。

hsl、hsla

hsl函数是用色相-饱和度-明度(Hue-saturation-lightness)来表示颜色,HSL相比RGB 的优点是更加直观:你可以估算你想要的颜色,然后微调,比如要找到一个颜色的相近色,只需调整一下明度就行了。

色相(Hue)表示色环(即代表彩虹的一个圆环)的一个角度。这个角度作为一个无单位的 被给出,大致按照数值红、橙、黄、绿、青、蓝、紫变化节奏。取值范围是0360

饱和度,取值0%100%,100% 是满饱和度,而 0% 是一种灰度。 明度,取值0%100%,100% 明度是白色, 0% 明度是黑色,而 50% 明度是“一般的”。

hslargba相似其中的a设置透明度,取值范围也是01

系统颜色

系统颜色就是系统的颜色,不同的系统支持的颜色可能不同,一般很少使用。但是我们可以利用它实现系统主题风格类似的 Web 组件皮肤效果,来以假乱真。

背景

CSS2.1中有5个background属性可以用来控制元素的背景。

  1. background-color
  2. background-image
  3. background-repeat
  4. background-attachment
  5. background-position

为了更好的驾驭背景图片,CSS3添加了3个新的background相关属性。

  1. background-clip
  2. background-origin
  3. background-size
  4. background-blend-mode

CSS3 中还添加了多背景渐变等等新特性。

background-image

为元素设置一个或多个背景图像。background-imagebackground-color之上、border之下渲染。也就是一个同时设置了background-colorbackground-image那么background-image会覆盖background-color

background-image的值是一个图片或多个图片(用,分隔)。

div {background-image:  url("a.jpg"), url("b.jpg");
}

linear-gradient()

创建一个表示两种或多种颜色线性渐变的图片。CSS 渐变没有固定大小也没有固定宽高比,它只等设置渐变角度、渐变颜色和渐变梯度。

linear-gradient的语法是[角度(角度或关键字)], 颜色 [梯度],它们用,分隔,角度可选默认时从上到下渐变。

颜色关键字是to leftto topto left top等位置关键字。

div {background-image: linear-gradient(90deg, rgba(255, 255, 255, .5), orange 70%, #000), linear-gradient(red, orange 70%, #000);
}

repeating-linear-gradient()

一个由重复线性渐变组成的图片。它的语法和linear-gradient类似。

div {background-image: repeating-linear-gradient(-45deg,transparent,transparent 25px,#000 25px,#000 50px);
}
web前端开发学习Q-q-u-n: 767273102 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)

radial-gradient()

创建一个径向渐变(由原点(渐变中心)辐射开的颜色渐变)的图片。

radial-gradient()的语法是边缘轮廓的具体位置 形状 渐变中心后面是颜色,分隔。

div {background: radial-gradient(circle closest-side at 50px 30px, yellow, red 5%, orange, #fff, #000);
}

其中边缘轮廓的具体位置 形状 渐变中心都是可选。

形状值可以为circleellipse默认ellipse

渐变中心是at后的坐标点,默认元素中心点。

边缘轮廓的具体位置可以为如下关键字:

  1. closest-side 渐变中心距离容器最近的边作为终止位置。
  2. closest-corner 渐变中心距离容器最近的角作为终止位置。
  3. farthest-side 渐变中心距离容器最远的边作为终止位置。
  4. farthest-corner 渐变中心距离容器最远的角作为终止位置。

默认是farthest-corner

div {position: relative;width: 262px; height: 262px;border-radius: 50%;background: linear-gradient(30deg, transparent 40%, rgba(42, 41, 40, .85) 40%) no-repeat 100% 0, linear-gradient(60deg, rgba(42, 41, 40, .85) 60%, transparent 60%) no-repeat 0 100%, repeating-radial-gradient(#2a2928, #2a2928 4px, #ada9a0 5px, #2a2928 6px);background-size: 50% 100%, 100% 50%, 100% 100%;
}
div:after {position: absolute;top: 50%; left: 50%;margin: -35px;border: solid 1px #d9a388;width: 68px; height: 68px;border-radius: 50%;box-shadow: 0 0 0 4px #da5b33, inset 0 0 0 27px #da5b33;background: #b5ac9a;content: '';
}

repeating-radial-gradient()

创建一个从原点辐射的重复渐变组成的图片 。它类似于radial-gradient并且采用相同的参数,但是它会在所有方向上重复颜色,以覆盖其整个容器。

div{background: repeating-radial-gradient(ellipse farthest-corner, red, black 5%, blue 5%, green 10%);
}
web前端开发学习Q-q-u-n: 767273102 ,分享学习的方法和需要注意的小细节,不停更新最新的教程和学习方法(详细的前端项目实战教学视频)

conic-gradient()

创建一个锥形渐变的图片。conic渐变类似于radial渐变,但是它的颜色位于圆的周围。

它的语法是:[from 角度]? [at 位置]?, 颜色 角度...

div{
background: conic-gradient(from 0deg at 50px 100px, orange 0.2turn, #fff 0.09turn 0.3turn, orange 0.27turn 0.54turn);
border-radius: 50%;
}

background-repeat

定义背景图像的重复方式。背景图像可以沿着水平轴,垂直轴,两个轴重复,或者根本不重复。

它有 6 个值:

  1. repeat-x 相当于 repeat no-repeat
  2. repeat-y 相当于 no-repeat repeat
  3. repeat 相当于 repeat repeat
  4. space 相当于 space space
  5. round 相当于 round round
  6. no-repeat 相当于 no-repeat no-repeat

space

图像会尽可能得重复, 但是不会裁剪. 第一个和最后一个图像会被固定在元素(element)的相应的边上, 同时空白会均匀地分布在图像之间. background-position属性会被忽视, 除非只有一个图像能被无裁剪地显示. 只在一种情况下裁剪会发生, 那就是图像太大了以至于没有足够的空间来完整显示一个图像。

round

随着允许的空间在尺寸上的增长, 被重复的图像将会伸展(没有空隙), 直到有足够的空间来添加一个图像. 当下一个图像被添加后, 所有的当前的图像会被压缩来腾出空间. 例如, 一个图像原始大小是260px, 重复三次之后, 可能会被伸展到300px, 直到另一个图像被加进来. 这样他们就可能被压缩到225px.

性能

一般我们会用一个的背景小图片不断重复来达到一些效果,为了请求优化一般会把小图片截取到 1px * 1px 大小,但是这样渲染次数太多,有时候会有明显的卡顿,我们可以将尺寸截取大一点这样图片大小没大多少,但是渲染性能却有明显提升。

background-blend-mode

定义该元素的背景图片,以及背景色如何混合。

它就像 PS 中的混合模式。可以做一些 正片叠底,滤色等效果。

它的语法为,单值或者双值(用,分开)。

它的值有:

  1. normal
  2. multiply
  3. screen
  4. overlay
  5. darken
  6. lighten
  7. color-dodge
  8. color-burn
  9. hard-light
  10. soft-light
  11. difference
  12. exclusion
  13. hue
  14. saturation
  15. color
  16. luminosity

background-attachment

如果指定了background-image ,那么background-attachment决定背景是在视口中固定的还是随包含它的区块滚动的。

它的值为:

  1. scroll 默认值,背景相对于元素本身固定, 而不是随着它的内容滚动
  2. local 背景相对于元素的内容固定。如果一个元素拥有滚动机制,背景将会随着元素的内容滚动
  3. fixed 背景相对于视口固定。即使一个元素拥有滚动机制,背景也不会随着元素的内容滚动。

我们一般只使用fixed这个值,让背景图片不随着滚动而滚动。

background-position

为每一个背景图片设置初始位置。属性被指定为一个或多个位置值,用逗号隔开。

默认位置是padding-box的左上角。

它的值可以是lefttop这些位置关键字,还可以是长度值和百分比。

div {background-position: 50% 10px, center, left bottom;/* 分别设置三张背景图片的位置 */
}

background-origin

指定背景图片background-image属性的原点位置的背景相对区域。当使用 background-attachmentfixed时,该属性将被忽略不起作用。

它的值可以是:

  1. padding-box 默认值 背景图片的摆放以padding区域为参考
  2. border-box 背景图片的摆放以border区域为参考
  3. content-box背景图片的摆放以content区域为参考

background-clip

设置元素的背景(背景图片或颜色)是否延伸到边框下面。

它的值可以是:

  1. border-box 默认值 背景延伸至边框外沿(但是在边框下层)。
  2. padding-box 背景延伸至内边距外沿。不会绘制到边框处。
  3. content-box 背景被裁剪至内容区外沿。
  4. text 背景被裁剪成文字的前景色。

background-size

设置背景图片大小。图片可以保有其原有的尺寸,或者拉伸到新的尺寸,或者在保持其原有比例的同时缩放到元素的可用空间的尺寸。

对于多背景用,分隔。

它的值可以是长度值和百分比还有下面的关键字

  1. auto 以背景图片的比例缩放背景图片
  2. cover 缩放背景图片以完全覆盖背景区,可能背景图片部分看不见。和contain值相反
  3. contain 缩放背景图片以完全装入背景区,可能背景区部分空白

background

一种简写属性,用于一次性集中定义各种背景属性。它可以简写的属性有background-clipbackground-colorbackground-imagebackground-originbackground-positionbackground-repeatbackground-size,和background-attachment

简写的方式有:

  • color
  • image repeat
  • box color
  • repeat position[ / size]? image
  • image position[ / size]? repeat attachment clip origin
  • color image position[ / size]? repeat attachment clip origin

clip-path

clip-path用来剪切元素,代替了现在已经弃用的剪切clip属性。它创建一个剪切区域,区域内的部分显示,区域外的隐藏。

clip-path的值可以为:

  1. none
  2. 链接资源,如url(resources.svg#c1)
  3. 盒子值,一共有 7 个
    1. margin-box 使用 margin box 作为引用框
    2. border-box 使用 border box 作为引用框
    3. padding-box 使用 padding box 作为引用框
    4. content-box 使用 content box 作为引用框
    5. fill-box 利用对象边界框作为引用框
    6. stroke-box 使用笔触边界框作为引用框
    7. view-box 使用最近的 SVG 视口作为引用框
  4. 形状函数(相当于 SVG 中的形状元素)
    1. inset()
    2. circle()
    3. polygon()
    4. path()
  5. 盒子和形状结合值clip-path: padding-box circle(50px at 0 100px);

clip-path用的最多的值就属polygon函数,它的参数由一堆x y坐标点组成。

clip-path: polygon(50% 0%, 0% 100%, 100% 100%);。是一个三角形。它可以接受无限个参数,每个参数都是x y坐标,最终显示的形状就是这些坐标连接成的形状。

对web前端这门技术感兴趣的小伙伴可以加入到我们的学习圈来,工作第六个年头了,与大家分享一些学习方法,实战开发需要注意的细节。767-273-102 秋裙。从零基础开始怎么样学好前端。都是一群有梦想的人,我们可能在不同的城市,但我们会一起结伴同行前端前端前端

clip-path也可以使用transition属性让它有动画效果,不过需要变动前后的坐标点数量必须相同。

web前端入门到实战:CSS颜色、背景和剪切相关推荐

  1. html前端页面的基本骨架是,web前端入门到实战:css实现的骨架屏方案

    web前端入门到实战:css实现的骨架屏方案 发布时间:2020-08-04 01:32:03 来源:51CTO 阅读:152 作者:前端向南 优点 简单,不需要工程,不用puppeteer生成骨架d ...

  2. 转圈加载html,web前端入门到实战:纯CSS实现加载转圈样式

    web前端入门到实战:纯CSS实现加载转圈样式 发布时间:2020-05-27 18:11:33 来源:51CTO 阅读:134 作者:前端向南 不同的项目中对于等待加载时转圈圈的样式是不同的,有的是 ...

  3. web css圆弧波浪线,web前端入门到实战:css实现波浪线及立方体

    这里是利用linear-gradient来实现,也就是画圆,然后利用底色来遮住部分圆:利用css3属性perspective加旋转实现立方体 1.css实现波浪线 html css .card-lis ...

  4. web前端入门到实战:CSS mix-blend-mode滤色screen混合模式

    一.滤色screen混合模式速览 screen混合模式,国内称为"滤色",其计算公式是: 公式中的C表示最终混合的RGB色值(范围是0-255),A和B表示用来混合的两个颜色的RG ...

  5. web前端入门到实战:HTML5实现首页动态视频背景

    你想实现动态视频作为背景的首页吗?来,一起来学习,本文将带你一起实现H5动态视频背景: 首先网上找一段清晰的视频下载下来,最好是MP4格式的:下载好了之后我们新建一个html文件来写代码: html代 ...

  6. web前端入门到实战:CSS text-decoration

    在改一个项目的时候却遇到了一个莫名其妙的属性:text-decoration,这个属性,其实就只是用来把一段文字加上上横线.删除线或底线的属性罢了,通常会用在移除超链接的底线.或一些特殊强调的效果里头 ...

  7. web前端入门到实战:css+svg实现b站充电效果

    css+svg实现b站充电效果 难点 svg图形的两块蒙版制作 先上代码 这是左边粉色框框的内容 这个没啥好说的 <div id="con"><div id=&q ...

  8. web前端入门到实战:CSS文字下波浪线动画效果

    之前有至少5个人在评论中询问我文章中链接hover时候波浪下划线动画是怎么实现的,类似下图gif示意: 这里就介绍下是如何实现的. 有两种实现方法,各有优劣. 一.使用径向渐变纯CSS实现 就是使用径 ...

  9. web前端入门到实战:CSS新属性实现特殊的图片显示效果

    1 概述 1.1 前言 使用一个或多个图像相关的CSS属性(background-blend-mode, mix-blend-mode, or filter)可以实现许多特殊的图片显示效果,共列举了2 ...

最新文章

  1. CapsLock魔改大法——变废为宝实现高效编辑
  2. 树莓派各版本配置对比
  3. LeetCode 812. 最大三角形面积(坐标面积公式)
  4. es6=unicode码详解
  5. 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线...
  6. python输入三次密码程序_请教各位大神,为啥以下代码输入修改密码后连输错三次还是能输入...
  7. 又找到一个免费的ASP.net2.0免费空间,支持MS Sql Server Express2005 及Ftp
  8. text-overflow样式属性值ellipsis的使用方法
  9. 为什么找不到解决方案?--答案就是:转个弯 这里以“解决表示图左边缺失线条、边缘线、分割线问题”为例...
  10. debug常规的基本使用
  11. python 爬虫框架scrapy优势_开源爬虫框架各有什么优缺点
  12. 计算机操作系统-整理
  13. 元宇宙时代的5大风险
  14. MLAPP————第十二章 隐线性模型
  15. (33):SSR是什么
  16. SRP-PHAT综述
  17. BZOJ 1565 [NOI2009]植物大战僵尸
  18. 从键盘上输入长方形的长和宽,求长方形的周长和面积。
  19. Java IO流和装饰模式(Decorator)
  20. 程序员找工作经历,一个人在北京工作的艰辛

热门文章

  1. 记一次服务器被入侵,没想到我轻松搞定了它~
  2. 人在旅途——》张家界之旅:20190420
  3. 免费屏幕录制程序都不用
  4. Flutter CircularProgressIndicator进度指示器/Loading
  5. PHP使用QQ邮箱发送邮件无需SMTP服务器
  6. 迈阿密大学计算机科学排名,迈阿密大学各大专业排名情况如何呢?
  7. 校园饭卡充值系统服务器配置,信息化建设管理中心
  8. 算法题的几种常见解题思路
  9. 2020年高教社杯全国大学生数学建模竞赛 C题思路
  10. coso全称是什么_京东方全称是什么