//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. iozone文件系统测试工具在AM335x上的移植

     IOzone下载    下载地址:http://www.iozone.org 如下: 解压iozone,并进入到解压路径下的src/current 我的是  iozone3_487 命令:cd  i ...

  2. python小游戏开发关于pygame库的安装

    ---恢复内容开始--- 测试环境:运行环境 Window 10 64bit上运行 前提条件 python3.7(当前时间最新版本20181021)安装(记住安装路径如C:\application\p ...

  3. 面经问题总结——django相关

    1.让你从头设计一个web框架,第一步你会做什么? 2.django的orm是怎么实现的? 3.django的URL路径映射是怎么实现的? 4.平常你怎么运用django提供的钩子函数? 5.三级分销 ...

  4. Java - 自定义异常(尚学堂第六章异常机制作业计算平均数)

    编写一个计算N个学生分数平均分的程序.程序应该提示用户输入N的值,如何必须输入所有N个学生分数.如果用户输入的分数是一个负数,则应该抛出一个异常并捕获,提示“分数必须是正数或者0”.并提示用户再次输入 ...

  5. touch插件

    第一种: <script> (function($) { var options, Events, Touch; options = { x: 20, y: 20 }; Events = ...

  6. MySQL比较运算符的子查询

    使用比较运算符的子查询 =.>.<.>=.<=.<>.!=.<=> 语法结构 operand comparison_operator subquery ...

  7. Jmeter创建web测试计划

    创建web测试计划 在这一章,我们将学习如何创建基本的测试计划来测试一个web网站.您将创建五个用户并发送请求到JMeter网站的两个页面.同时,设置用户运行测试两次.因此,请求的总数是(5个用户)x ...

  8. X-Frame-Options配置

    因为最近项目需要接入数据统计,其中一项功能需要开启iframe形式来加载页面,所以就开始研究一下iframe如何配置~~~ X-Frame-Options: 他的值有三个: (1)DENY --- 表 ...

  9. 深入理解JavaScript系列(47):对象创建模式(上篇)

    介绍 本篇主要是介绍创建对象方面的模式,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码. 模式1:命名空间(namespace) 命名空间可以减少全局命名所需的数量,避免命名冲突或过度. ...

  10. [转].Net Core Web应用发布至IIS后报“An error occurred while starting the application”错误

    本文转自:http://www.cnblogs.com/TomGui/p/6438686.html An error occurred while starting the application. ...