一、At-rule

一种以@开头的声明语句,以分号;结尾。语法规则为: @IDENTIFIER (RULE); 。

At-rule主要用作表示CSS的行为,参考: https://www.cnblogs.com/wuyinghong/p/3700519.html

1、@charset—定义被样式表使用的字符集

2、@import——告诉CSS引擎包含外部的CSS样式表

3、@namespace——告诉CSS引擎所有的内容都必须考虑使用XML命名空间前缀

4、嵌套at-rules

(1)@media——条件组规则。如果设备符合标准定义的条件查询则使用该媒体

(2)@font-face——描述了一个将从外部下载的字体

(3)@keyframes——描述了中间步骤在CSS动画的序列

(4)@page——描述了文件的布局变化,当要打印文档时。

(5)@supports——条件组规则,如果浏览器满足给出的规则,则把它应用到内容中

(6)@document——条件组规则,如果被用到文档的CSS样式表满足了给定的标准,那么将被应用到所有的内容中。

  例子:  
  dot {
display: inline-block;
height: 1em;
line-height: 1;
text-align: left;
vertical-align: -.25em;
overflow: hidden;
}
dot::before {
display: block;
content: '...\A..\A.';
white-space: pre-wrap;
animation: dot 3s infinite step-start both;
}
@keyframes dot {
33% { transform: translateY(-2em); }
66% { transform: translateY(-1em); }
}

二、CSS规则定义

p {color:red;text-align:center;}

由选择器后面跟着一对{}花括号,花括号内部有一条或多条声明语句;每条声明语句使用"属性: 值;"的形式,中间用冒号,结尾用分号。

注释以 "/*" 开始, 以 "*/" 结束。

CSS规则的定义涉及到两个方面: 属性和选择器,参考: http://phpstudy.php.cn/css3/

三、CSS的属性

参考: https://www.runoob.com/cssref/css-reference.html

四、CSS的选择器

CSS选择器的权值: important(最高,在设置属性值后面添加"!important")、内联(1000)、ID(100)、Class(10)、Tag(1)。

CSS选择器的优先级: 根据选择器的权值计算,组合选择器的权值会进行叠加。

同一个元素应用可能多个选择器时,权值大的优先;如果权值相同,那么则选择最后加载的选择器。

如果选择器设置为class="A B C",最终选择的选择器不是按A/B/C的先后顺序,而方式按照A/B/C的CSS加载顺序。

1、基本选择器

(1) 标签选择器(元素选择器)

直接写元素标签名字,比如p。其中比较特殊的是*,它表示选择所有元素。

(2) 类选择器

.class,其中class就是元素的class属性需要填写的值。

(3) ID选择器

#id,其中id就是元素的id属性值。(HTML页面中能够重复使用相同的ID)

(4) 属性选择器

元素[属性=值][...]的基本格式,如果没有"=值"的部分就表示元素需要包括该属性。

可以多个属性同时使用;其中=又扩展为~=、|=、^=、$=、*=。

2、派生选择器

(1) 后代选择器

用空格隔开的多个选择器名字,比如div p表示div包含的所有p元素,不管是div直接包含还是间接包含。

(2) 子元素选择器

用>号表示,比如div>p表示div下的所有子元素p,只能直接包含。

(3) (普通)兄弟选择器

用~号表示,比如div~p表示div之后的所有同级兄弟p元素,但是div之前的兄弟元素p不包含在内。

(4) 相邻兄弟选择器

用+号表示,比如div+p表示div后面相邻的p元素。(div和p在同一个层次上,并且p刚好在div后面)

(5) 并集选择器

用,号表示,比如div,p表示所有的div元素和p元素。

(6) 交集选择器

用.号表示,比如h3.special只能用于<h3 class="special">这样的标签中。

注意它和h3 .special不一样,中间有空格和没空格是有区别的。

(7) 伪类选择器

用:号表示,一个选择器可以同时使用多个伪类。

伪类是为了弥补选择器的不足。

(8) 伪元素选择器

用::表示,一个选择器只能使用一个伪元素。

伪元素的本质则是创建一个虚拟元素然后在应用样式。

转载自:https://www.cnblogs.com/ringboow/p/11134373.html

CSS语法规则的更多相关文章

  1. web(七)css的语法规则、注释

    css的语法规则:特殊的css语法标识. !important:当使用多种方式设定标签样式时,设定样式渲染的应用优先权,声明在取值之后. .important { color: red !import ...

  2. 学习Sass 的基本语法规则[Sass和compass学习笔记]

    自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另外一个给我的感觉像.NET Framework,一切都为了提升开发效率和降低开发大型web的门槛. ...

  3. CSS语法与用法小字典

    前言:这是上学时期对CSS学习的整理,一直没见过光,由于不是专门做前端开发的,难免写不到重点,但对于看懂CSS,和掌握一些基本的用法,熟悉里面的门路还是大有裨益的.由于是从word中贴过来的,排版和格 ...

  4. Sass 的基本语法规则

    转自:http://www.cnblogs.com/qqloving/p/3676852.html 自从发现可编程的css语法 Sass和基于Sass的css库compass 一个给我的感觉像c# 另 ...

  5. CSS自学笔记(2):CSS语法

    CSS的语法规则主要有两个分构成选择器和声明(声明问一条或者多条). selector {declaration1; declaration2; ... declarationN } 选择器(selc ...

  6. CSS 语法

    CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素. 每条声明由一个属性和一个值组成. 属性(property)是您希望设置的样 ...

  7. CSS命名规则常用的css命名规则

    CSS命名规则常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...

  8. css预编译语言 sass scss(变量$var, css嵌套规则,@import规则,@extend,@mixin)

    什么是sass Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式 ...

  9. CSS语法基础

    引言:CSS语法 CSS规则由两个主要的部分构成:选择器,以及一条或者多条声明. selector { property: value; property: value; ... property: ...

随机推荐

  1. 01.python对象

    标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 (python2) Floating point real number 浮点型 Complex num ...

  2. 对async 函数的研究

    async 函数 1.ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Generator ...

  3. kwargs - Key words arguments in python function

    This is a tutorial of how to use *args and **kwargs For defining the default value of arguments that ...

  4. php strrchr()函数 语法

    php strrchr()函数 语法 作用:返回一个字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符.大理石平台哪家好 语法:strrchr(string,char) 参 ...

  5. 2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 I. Reversion Count (java大数)

    Description: There is a positive integer X, X's reversion count is Y. For example, X=123, Y=321; X=1 ...

  6. 【CF1255A】Changing Volume【思维】

    题意:每次可以-5/-2/-1/+1/+2/+5,问是否存在方案使得A变成B 题解:首先我们可以设A<B,若A>B,则交换AB,因为A到B和B到A是互逆的过程,所以可以交换 其次将B-=A ...

  7. Linux下安装Tomcat(2)

    Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和 其它一些公司及个人共同开发而成.由于有了Sun的参与和支持,最新 ...

  8. oracle SQL in plsql

    刚安装好的oracle和plsql,以oracle11g为例 1.刚安装好后有两个默认的系统账号和初始密码:sys/change_on_install,system/manager 2.如果忘记了或不 ...

  9. MySQL体系结构概览

    MySQL体系结构 InnoDB体系结构 MySQL实例有一组后台线程.一些内存块和若干服务线程组成 在默认情况下,MySQL有7组后台线程,分别为1个主线程,4组IO线程,1个锁线程,1个错误监控线 ...

  10. PHP不使用内置函数intval(),实现字符串转整数

    平时我们用PHP时,将字符串转化为整型时,一般都是使用 intval() 内置函数,那么如果我们自己写,怎么写一个呢? 此时我们可以利用 ASCII 码计算得整数的特性,因为每个字符都对应一个 ASC ...