//margin 形式语法: [ <length> | <percentage> | auto ]{1,4}
//合法实例:
margin: style /*单值语法 */ 举例: margin: 1em;
margin: vertical horizontal /*二值语法 */ 举例: margin: 5% auto;
margin: top horizontal bottom /*三值语法 */ 举例: margin: 1em auto 2em;
margin: top right bottom left /*四值语法 */ 举例: margin: 2px 1em 0 auto; margin: inherit

上面margin的形式语法中 <length>, <percentage>,auto为基本元素

[],|为组合符号,{1,4}为数量符号

在比如下面的border-width属性值语法:

border-width: [<length> | thin | medium | thick]{1,4}

基本元素可以是

  • 关键字类型

    • auto,solid,bold,red,blue。。。
  • 一般类型
    • 基本类型,比如<length>,<percentage>,<color>。。。
    • 其他复杂类型,比如< 'padding-widht'>可以取<length>基本类型,或者percentage基本类型, <color-stop>
  • 符号(/,)用于分割
  • inherit,initial为两个特殊的基本元素,几乎每一个html元素都可以有这两个值

组合符号-空格

< 'font-size' >  < 'font-family'>
//合法值:
12px arial
//不合法值:
2em
arial 14px

上面由空格连接了两个复杂类型,表示这两个类型必须出现并且顺序也必须是按照语法示例要求的

组合符号-&&

<length>&&<color>
//合法:
green && 1px
10px && red
//非法
purple
10px

上面由&&连接了两个基本类型,他们是必须出现的,但是其顺序是不要求的

组合符号-||

underline || overline || line-through || blink
//表示至少要出现一个,顺序是没有关系的
//合法的:
underline
overline underline
line-through blink overline

上面由||连接了四个关键字类型的值,他们必须出现至少一个,但是其出现顺序没有关系

组合符号-|

<color> | transparent
//由|连接的值表示只能出现一个
//合法值:
orange
transparent
red
#134556
//非法值:
orange transparent

组合符号-[]

bold [ thin || <length> ]
/*[]表示一个作为一个整体来对待*/
//合法: bold thin bold 2em
//非法:
2em bold //原因是空格组合符号表示必须按顺序出现,但是这里顺序颠倒了

数量符号-无

<length>
/*这里没有数量符号修饰,则表示只有一个可以出现*/
/*合法值*/
1em
2px
/*非法*/
1px 2em

数量符号-+

<color-stop> [, <color-stop> ]+
/*+表示前面修饰的值可以出现1次或多次*/
/*合法值*/
#fff , red
blue, green 50%, grey
/*不合法*/
red /*因为+表示至少要出现一次,而这里出现了0次*/

数量符号-?

inset?&&<color>
/*?表示可以出现也可以不出现*/
/*合法*/
inset blue
red /*由于是可选的,所以即使不出现也是符合语法的*/

数量符号-{}

<length>{2,4}
/*{}表示可以出现的次数,最少2次最多4次*/
/*合法值*/
1px 2px
1px 2px 3em
/*非法*/
2px /*因为只出现了1次*/

数量符号-*

<time> [, <time>]*
/*表示可以出现0次或多次*/
/*合法*/
1s
1s, 4ms
1s, 3ms, 2s

数量符号-#

<time>#
/*需要出现1次或多次,中间必须用,都好隔开*/
/*合法*/
2s, 4s
/*不合法*/
2s 4s /*因为他用空格隔开了*/

css属性值语法解读的更多相关文章

  1. JS中使用document.defaultView.getComputedStyle()、currentStyle()方法获取CSS属性值

    在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属性 ...

  2. CSS属性值一览

    牢记内联式>嵌入式(嵌入式中设置各种文字字体.大小.位置.颜色.外距.内距最好用选择器)>外部式(外联式)的使用 属性和属性值(点击可展开) font-family(字体) Microso ...

  3. js修改css属性值

    推荐用dom.style.setProperty('属性','属性值'); 例如: $("#id")[0].style.setProperty('margin-top','1px' ...

  4. CSS属性值定义语法中的符号说名

    我们通常看到一个CSS语法,总是有很多符号在其中,这些符号是什么鬼呢,且看下面道来 这些符号可以大致分为2类:分组类与数量类. 1.分组类,就是分成一堆一堆啦: 符号 名称 描述 示例   并置 各部 ...

  5. JS使用getComputedStyle()方法获取CSS属性值

    在对网页进行调试的过程中,经常会用到js来获取元素的CSS样式,方法有很多很多,现在仅把我经常用的方法总结如下: 1. obj.style:这个方法只能JS只能获取写在html标签中的写在style属 ...

  6. javascript之复习(css属性值的计算)

    js取div的宽高咋办,css有content-box,border-box,padding-box,表现又不一样.好在有个offsetWidth, <style type="text ...

  7. calc() 计算CSS属性值

    calc()是css3的一个新增的功能,用来指定元素的长度.比如说,你可以使用calc()给元素的border.margin.pading.font-size和width等属性设置动态值.calc() ...

  8. JS 获取CSS属性值

    obj: 元素对象 attribute: 属性 返回值:该对象这个属性的值 function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM, ...

  9. 在不同的浏览器下FORM及它的小伙伴们默认样式的CSS属性值是不全然一致

    我们一般在定义CSS样式的时候都须要定义去掉HTML标签默认样式的CSS,原因是在不同的浏览器以下它们的表现出来的默认样式不全然一致,我们要保证在不同的浏览器下它们能正常显示出我们想要达到的预期效果, ...

随机推荐

  1. jumserver 官方文档和

      一步一步安装(CentOS) 本文档旨在帮助用户了解各组件之间的关系, 生产环境部署建议参考 进阶安装文档 安装过程中遇到问题可参考 安装过程中常见的问题 测试推荐环境 CPU: 64位双核处理器 ...

  2. python 中mysql数据库的读写

    1.读取数据库 import pymysql id=[] name=[] explain=[] db=pymysql.Connection(host=,user="root", p ...

  3. es xxx_by_query

    xxx_by_query包括_delete_by_query和_update_by_query,下面分开讲 _delete_by_query 相当于sql中的delete from a where . ...

  4. DP Intro - poj 1947 Rebuilding Roads

    算法: dp[i][j]表示以i为根的子树要变成有j个节点的状态需要减掉的边数. 考虑状态转移的时候不考虑i的父亲节点,就当不存在.最后统计最少减去边数的 时候+1. 考虑一个节点时,有两种选择,要么 ...

  5. Docker安装及常用操作

    Docker简介: Docker是一个轻量级容器技术,类似于虚拟机技术,但性能远远高于虚拟机,Docker支持将软件编译成一个镜像(image),在这个镜像中做好对软件的各种配置,然后可以运行这个镜像 ...

  6. 获取app应用的包名

    1.获取哪个app包名,就打开哪个app 2.在dos窗口下输入: adb shell "dumpsys window | grep mCurrentFocus" 获取包名

  7. 没有循环的JavaScript

    有些文章中提到过,缩进(并不能特别准确的)说明了代码的复杂程度.我们想要的是简单的JavaScript.之所以层层缩进,是因为我们用抽象的方式解决问题.但要选用什么抽象方法呢?截止目前,我们没有在特定 ...

  8. 微服务~Consul服务注册与发现

    服务发现是基于微服务架构的关键原则之一.尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱.Consul通过HTTP API和DNS提供服务发现服务.Spring Cloud Consul利 ...

  9. Flink安装极简教程-单机版

    一:安装 Flink官网下载地址:https://flink.apache.org/downloads.html 选择1.6.3版本 下载: wget http://mirrors.hust.edu. ...

  10. ubuntu系统之难

    声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站 ...