CSS数据类型以及符号

简介: CSS数据类型以及符号

css数据类型定义的是css属性中具有代表性的值,在规范的语法格式中,使用关键字外加一对 <>表示,例如数值类型<number>、色值类型<color>等。

举个例子:background-image这个css属性语法结构如下:

background-image : none | <image>

这里的image就是一种数据类型,它包括下面这些类型和函数:

1、<url>
2、<gradient>
3、element()
4、image()
5、iamge-set()
6、cross-fade()
7、paint()

这也就是说background-image属性不仅支持url()函数和渐变图像,还支持element()、image()、image-set()等函数。

再来看一个例子:

mask-image,该属性可以设置图片蒙版,它的数据类型为:

mask-image : none | <image> | <mask-source>
/*效果如下*/ 
.masks{
            width: 200px;
            height:200px;
            background-color: cyan;
            mask-image: url(../images/music.png);
            -webkit-mask-image: url(../images/music.png);  /* 兼容谷歌 */
   }
<div class="masks"></div>

数据类型文档:

mdn web docs文档:https://developer.mozilla.org/en-US/docs/Web/CSS/alpha-value

数据类型文档:https://www.zhangxinxu.com/wordpress/2019/11/css-value-type/#color-zxx


CSS属性值定义语法详解

css的语法基本包含下面3中基本组成元素:

  • 关键字
  • 数据类型
  • 符号

举个例子:线性渐变

background-image: linear-gradient(to bottom right, red, yellow);
/*拆解*/
linear-gradient([<angle> | to <side-or-corner> ,] ? <color-stop-list>);
/*
to:关键字,用来指定方向
angle:角度
side-or-corner:方向(left | right | top | bottom),关键字to可以指定方向
color-stop-list:颜色集合(red, yellow)
*/

1、关键字:

关键字分为通用关键字和全局关键字

  • aoto、none、ease等关键字是通用关键字,这些关键字只被部分css属性支持
  • inherit、initial、unsetrevert是全局关键字,会被所有css属性支持。

2、数据类型:上面有讲过这里就不多赘述。

3、符号

css语法中的符号分为字面符号组合符号数量符号三类。

(1)、字面符号

css属性值中原本就支持的合法符号,就是字面意思的符号,目前就两个:

符号 说明
, 并列分隔符,用来分隔数个并列值,或者分割函数的参数值
/ 缩写分隔符,用来分隔一个值的多个部分,在css缩写中用于分离类型相同但属于不同css属性的值,以及用在部分css函数中。凡是出现 / 的地方,斜杠前后的数据类型一定是相同或者部分相同的,否则整个语句就是非法的。

(2)、组合符号:用来表示数个基本元素之间的组合关系,目前有5个:

: 并列,符号位普通空格符,表示各部分必须出现,同时需要按顺序出现|

&& : “与”组合符,各部分必须出现,但可以不按顺序出现,相当于js的&&

|| : “或”组合符,相当与js||,只要包含一个即可满足条件,可以全部出现,可以不按顺序出现

|:“互斥”组合符,各部分恰好出现其中一个

[]:方括号,将各部分进行分组以绕过上面几个符号的优先规则,因此方括号的优先级最高

3、符号数量

用来描述一个元素可以出现多次,数量符号不能叠加出现,并且优先级高于组合符号,目前有6个。

符号 说明
无数量符号,表示恰好出现一次
* 星号,可以出现任意次数
+ 可以出现一次或多次
? 可以出现零次或者一次,也就是该元素是可选的
{a,b} 出现最少a次,最多b
# 可以出现一次或多次,但多次出现时必须以逗号分隔
! 表示当前分组必须产生一个值,该符号多出现在组合符号方括号的后面

了解这些之后,再来拆解一下上面的线性渐变

background-image: linear-gradient(to bottom right, red, yellow);
/*拆解*/
linear-gradient([<angle> | to <side-or-corner> ,] ? <color-stop-list>);
background-image: linear-gradient(red, yellow);[<angle> | to <side-or-corner> ,] ? 
/* 表示角度或者方向只能选一个,要么选角度,要么选方向,如果选方向则可以设置多个方向 */
<color-stop-list>
/* 表示并列的颜色集合:red , blue */
/* 线性渐变效果 */
background-image: linear-gradient(to bottom right, red, yellow);

效果:


通过上面的例子,再做一下拓展

拓展一:

/* 各部分只要出现一个即可满足条件 */
border : <line-width> || <line-style> || <color>
/* 线宽 线的类型 颜色 */
/* 由此可得 */
border : 1px solid red;
/* 也可以 */
border : 1px solid;

拓展二:

border-shadow : none | [ <shadow>, ]#
/* 相当于 */
border-shadow : none | [ <shadow>, ] *
/* 效果 */
box-shadow: 10px 0px 0px 0 red, -10px 10px 0px 0 cyan;

目录
相关文章
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
286 0
|
JavaScript 前端开发 Java
编程笔记 html5&css&js 073 JavaScript Object数据类型
编程笔记 html5&css&js 073 JavaScript Object数据类型
242 2
|
JavaScript 前端开发
编程笔记 html5&css&js 068 JavaScript Boolean数据类型
编程笔记 html5&css&js 068 JavaScript Boolean数据类型
483 1
|
JavaScript 前端开发 索引
编程笔记 html5&css&js 067 JavaScript String数据类型
编程笔记 html5&css&js 067 JavaScript String数据类型
234 1
|
JavaScript 前端开发 安全
编程笔记 html5&css&js 065 JavaScript 数据类型
编程笔记 html5&css&js 065 JavaScript 数据类型
239 1
|
存储 JavaScript 前端开发
编程笔记 html5&css&js 072 JavaScript BigInt数据类型
编程笔记 html5&css&js 072 JavaScript BigInt数据类型
326 0
|
JavaScript 前端开发 API
编程笔记 html5&css&js 070 JavaScript Null数据类型
编程笔记 html5&css&js 070 JavaScript Null数据类型
700 0
|
JavaScript 前端开发
编程笔记 html5&css&js 069 JavaScript Undefined数据类型
编程笔记 html5&css&js 069 JavaScript Undefined数据类型
328 0
|
存储 JavaScript 前端开发
编程笔记 html5&css&js 066 JavaScript Number数据类型
编程笔记 html5&css&js 066 JavaScript Number数据类型
361 0

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    586
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    444
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    445
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    294
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    567
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    743
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1451
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    321
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1176
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    518