CSS通用数据类型(什么是CSS?有哪几种应用格式?)

网友投稿 240 2022-06-12


CSS中属性的值有着许多种格式。为了让用户代理(即浏览器)能够识别一个值是否有效,则需要确认该值是否符合该类值支持的格式的其中一种。这些属性值所支持的格式叫做数据类型,在规范中用 的形式标识。

CSS中存在两种数据类型——特定数据类型和通用数据类型。特定数据类型只与一个单独的属性或某一类属性有关联。例如, 这一数据类型仅仅只能用作 transform 属性的值。

相反的,通用数据类型并不和任何特定的属性相关联。例如, 数据类型存在 10px 这样的值,这个值能够用于 margin 、 font-size 以及其他一系列属性。

本文,我将整体讲述一下所有的通用数据类型。

目录

名称

类型

文本值

关键字

文本值

自定义关键字

文本值

引用字符串

文本值

资源定位符

基本数值

整数

基本数值

实数

基本数值

比率

基本数值

百分数

度量

距离

度量

角度

度量

时长

度量

频率

度量

分辨率

其他

颜色

其他

图片

其他

位置

文本数据类型

关键字

关键字数据类型 是指CSS中预定义的关键字。这一类型不仅包括某些特定属性所特有的值,如 display 属性的 block 值,也包括CSS中常用的 initial , inherit 和 unset 。

.foo {

border-color: red;

position: inherit;

}

这些关键字都是大小写不敏感的,使用时不能添加引号。这样以来就能够避免和字符串数据类型 混淆。

自定义关键字

自定义关键字数据类型 (也写作 )指样式表作者自己定义的关键字。定义 有着一定的限制条件,如不能是CSS常用字中的一个。

自定义关键字的最常见的例子就是 animation-name 属性的值。这个属性能够接受一个自定义的动画作为它的值,这个自定义的动画名有样式表的作者定义。

@keyframes hulkify {


from {

color: pink;

transform: scale(1);

}


to {

color: green;

transform: scale(2);

}


}

.bruce-banner { animation-name: hulkify; }

引用字符串

字符串数据类型 是指任何引用的字符串。这个字符串由引号包围,是由统一编码字符组成的任意序列。

.foo::after {

content: "Hello, world!";

}

.foo::before {

content: "We can add 'quotes' within quotes \A And move to a separate line";

}

资源定位符

资源定位符 用来引用资源文件或者片段。这一数据类型通常使用 url() 函数来表达,但是在有些情况下也可以用 形式来展现,如 @import 规则中。

该数据类型有三种URL(统一资源定位符)。

绝对URL包括协议和域名。这类URL指定的资源不需要和样式表所属的域名相同。

相对URL指向的文件以样式表文件位置为基准位置。

局部URL(片段URL)用来指向主文件自己内部的元素。通过元素的id引用,而不是文件路径。

/* Absolute URL */

@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400");

/* Realtive URL */

.foo { background-image: url("../img/bg.png"); }

@import "components/buttons.css";

/* Fragment URL */

.bar { filter: url("#blurFilter"); }

基本数值类型

整数

整数类型 即数学中定义的整数。它是一个完整的数字,没有小数部分。整数包括正整数和负整数。整数的符号由第一个数字前 + 或者 - 指定,如果什么都不指定则默认为 + 。

.foo { z-index: 10; }

.foo { z-index: +10; }

.bar { z-index: -10; }

实数

实数类型 即一个“真实的数字”。它可以是整数 ,0或者一个十进制小数。和整数类型相似,实数也存在正负值,同样由第一个数字前的符号指出。

.foo { line-height: 3; }

.bar { line-height: -2.5; }

.foo { line-height: +5.5; }

比率

比率数据类型 表明两个数值之前的关系,这两个数值均为正的整数值 。尽管数学中比率有着多种书写方式,但是在CSS经常被写作 /

比率类型的典型用法是用来在媒体查询中指明目标设备的分辨率。

@media screen and (device-aspect-ratio: 16/9) { /* Wide screen displays, iPhone 5 */ }

@media screen and (device-aspect-ratio: 4/3) { … }

百分比

百分比数据类型 由一个实数值 后加一个 % 符号组成。它表示的是其他值的一部分。因此,针对不同的值类型,有不同的百分比数据类型

长度百分比 是长度值 的一部分。

数值百分比 是数值 的一部分。

角度百分比 是角度值 的一部分。

时间百分比 是长度值

频率百分比 是长度值 的一部分。

.foo {

width: 50%; /* */

line-height: 200% /* */

voice-pitch: 25% /* */

}

尺寸数据类型

尺寸是数值数据类型中的一种,是一种度量单位。它前半部分由数值组成,后面跟一个单位符号。当数值部分为 0 时,单位可以省略。

距离

距离数据类型 表示距离的单位,有两种长度单位。

绝对单位 ,如 px , cm 以及 pt 。这些单位的距离值都是固定的,与物理测量相关。一旦声明,它们的大小不会因为容器元素的字体大小变化而发生改变。

相对单位 ,如 em , rem 以及视口单位。这些单位并没有一个客观的度量标准。相反的,这类单位的实际值由它们的父元素决定。这就意味着它们的大小会因为所依赖元素的大小改变而改变。

.foo {

font-size: 16px; /* absolute */

width: 50vw; /* relative */

}

角度

角度数据类型表示圆的一个角度。存在四种单位来定义角度度量。

deg 单位表示角的度数。一个完整的圆为360度。

grad 表示角的Gradians度。一个完整的圆为400 grad 。

rad 表示角的弧度。一个完整的圆为2π(约为57.29rad)。

turn 表示圆周长。一个完整的圆为1turn.

这些单位都存在正负值之分,表明顺时针或者逆时针。下面的例子中,指出了如何用各种单位表示顺时针90度。

.foo {

/* Going clockwise */

transform: rotate(90deg);

transform: rotate(100grad);

transform: rotate(0.25turn);

transform: rotate(1.57rad);

/* Going anti-clockwise */

transform: rotate(-270deg);

transform: rotate(-300grad);

transform: rotate(-1.25turn);

transform: rotate(-55.72rad);

}

时长

时长数据类型

s 表示一秒钟。

ms 表示一毫秒。1秒等于1000毫秒。

.foo { transition-duration: 1s; }

.bar { transition-duration: 1000ms; }

频率

频率类型 表示声音的频率。存在两个单位用来定义频率。

kHz 表示千赫兹。

Hz 表示赫兹。1000Hz等于1kHz.

.foo { voice-pitch: 250Hz; }

.bar { voice-pitch: 1kHz; }

分辨率

分辨率数据类型 表示用户当前设备的分辨率。分辨率是单一像素点(物理)的大小,通过1CSS英寸、厘米或者像素需要多少像素点能填满来定义。这一计算方式依赖于我们所用的CSS单位,有四种方式可以指定分辨率。

dpi 表示每CSS英寸中物理像素点的个数。

dpcm 表示每CSS厘米中物理像素点的个数。

dppx 表示每CSS像素中物理像素点的个数。

@media (min-resolution: 100ddpx) { .. }

@media (min-resolution: 100dpcm) { .. }

@media (min-resolution: 300dpi) { /* Retina display */ }

其他数据类型

颜色

颜色数据类型 用来定义颜色值。这一数据类型有两种格式。

关键字形式 :可以使预定义颜色中的一种(如 cornflowerblue ), transparent 以及 currentColor 等关键之。

数值形式 :可以使用颜色表示法中的一种, #rgb , rgb() , rgba() , hsl() , hsla() 。

下例是我们如何用不同的形式实现黑色颜色值。

.foo {

color: black;

color: #000;

color: rgb(0,0,0);

color: rgba(0,0,0,1);

color: hsl(0,0%,0%);

color: hsla(0,0%,0%, 1);

}

图片

图片数据类型 表示一个2D图像。它可以是以下三种形式中的一种。

URL引用 :通过 数据类型来指定。

文档中的元素 :通过 element() 函数来指定。(提示:这一函数的支持度较为有限。)

渐变函数 :使用 数据类型来定义。

.foo { background-image: url('path/to/bg.png'); }

.bar { background-image: element('#background'); }

.baz { background-image: linear-gradient(white, gray); }

位置

位置数据类型 指出了一个元素在容器区域或元素中的位置。它可以使下列三种类型中的一种:

关键字 : top , right , bottom , left 以及 center 。

长度值 。

百分比 ,长度百分比。

下例给出了如何让一个大小为100x100px背景图定位在容器元素(300x300px)的左下角。

.foo {

background-position: right bottom;

background-position: 200px 200px;

background-position: 100% 100%;

}

来自:http://zcfy.cc/article/all-the-generic-css-data-types-2526.html


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于ES6中的Maps你需要知道的那些事(es6中map的用法)
下一篇:2017年值得学习的3个CSS特性(css的作用和特点)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~