HTML学习小结(一)

1.css的全称是什么?

2.样式表的组成

3.浏览器读取编译css的顺序?

(1)HTML基本选择器

1.通配符选择器 * { margin: 0; padding: 0; border: none; }

2.元素选择器 body { background: #eee; }

3类选择器 .list { list-style: square; }

4.ID选择器 #list { width: 500px; margin: 0 auto; }

5.后代选择器 .list li { margin-top: 10px; background: #abcdef; }

(2)HTML基本选择器扩展

1.子元素选择器 #wrap > .inner {color: pink;}

也可称为直接后代选择器,此类选择器只能匹配到直接后代,不能匹配到深层次的后代元素

2.相邻兄弟选择器 #wrap #first + .inner {color: #f00;}

它只会匹配紧跟着的兄弟元素

3.通用兄弟选择器 #wrap #first ~ div { border: 1px solid;}

它会匹配所有的兄弟元素(不需要紧跟)

4.选择器分组 h1,h2,h3{color: pink;}

此处的逗号我们称之为结合符

(3)HTML属性选择器

1.存在和值属性选择器

[attr]:该选择器选择包含 attr 属性的所有元素,不论 attr 的值为何。

[attr=val]:该选择器仅选择 attr 属性被赋值为 val 的所有元素。

[attr~=val]:表示带有以 attr 命名的属性的元素,并且该属性是一个以空格作为分隔的值列表,其中至少一个值为val。

2.子串值属性选择器

[attr|=val] : 选择attr属性的值是val(包括val)或以val-开头的元素。

[attr^=val] : 选择attr属性的值以val开头(包括val)的元素。

[attr$=val] : 选择attr属性的值以val结尾(包括val)的元素。

[attr*=val] : 选择attr属性的值中包含字符串val的元素。

(4)HTML伪类与伪元素选择器

1.链接伪类 注意:link,:visited,:target是作用于链接元素的!

:link 表示作为超链接,并指向一个未访问的地址的所有锚

:visited 表示作为超链接,并指向一个已访问的地址的所有锚

:target 代表一个特殊的元素,它的id是URI的片段标识符

2.动态伪类 注意:hover,:active基本可以作用于所有的元素!

:hover 表示悬浮到元素上

:active 表示匹配被用户激活的元素(点击按住时)

由于a标签的:link和:visited可以覆盖了所有a标签的状态,所以当:link,:visited,:hover,:active同时出现在a标签

身上时 :link和:visited不能放在最后!!!

隐私与:visited选择器

只有下列的属性才能被应用到已访问链接:

color

background-color

border-color

3.表单相关伪类

:enabled 匹配可编辑的表单

:disable 匹配被禁用的表单

:checked 匹配被选中的表单

:focus 匹配获焦的表单

4.结构性伪类

index的值从1开始计数!!!!

index可以为变量n(只能是n)

index可以为even odd

#wrap ele:nth-child(index) 表示匹配#wrap中第index的子元素 这个子元素必须是ele

#wrap ele:nth-of-type(index) 表示匹配#wrap中第index的ele子元素

除此之外:nth-child和:nth-of-type有一个很重要的区别!!

nth-of-type以元素为中心!!!

:nth-child(index)系列

:first-child

:last-child

:nth-last-child(index)

:only-child (相对于:first-child:last-child 或者 :nth-child(1):nth-last-child(1))

:nth-of-type(index)系列

:first-of-type

:last-of-type

:nth-last-type(index)

:only-of-type (相对于:first-of-type:last-of-type 或者 :nth-of-type(1):nth-last-of-type(1))

:not

:empty(内容必须是空的,有空格都不行,有attr没关系)

5.伪元素

::after

::before

::firstLetter

::firstLine

::selection

(5)HTMLcss声明的优先级

1.选择器的特殊性

选择器的特殊性由选择器本身的组件确定,特殊性值表述为4个部分,如    0,0,0,0

一个选择器的具体特殊性如下确定:

1.对于选择器中给定的ID属性值,加 0,1,0,0

2.对于选择器中给定的各个类属性,属性选择,或伪类,加 0,0,1,0

3.对于选择器中的给定的各个元素和伪元素,加0,0,0,1

4.通配符选择器的特殊性为0,0,0,0

5.结合符对选择器特殊性没有一点贡献

6.内联声明的特殊性都是1,0,0,0

7.继承没有特殊性

特殊性 1,0,0,0 大于所有以0开头的特殊性(不进位)

选择器的特殊性最终都会授予给其对应的声明

如果多个规则与同一个元素匹配,而且有些声明互相冲突时,特殊性越大的越占优势

注意:id选择器和属性选择器

div[id="test"](0,0,1,1) 和 #test(0,1,0,0)

2.重要声明

有时某个声明比较重要,超过了所有其他声明,css2.1就称之为重要声明

并允许在这些声明的结束分号之前插入  !important  来标志

必须要准确的放置  !important 否则声明无效。

!important 总是要放在声明的最后,即分号的前面

标志为 !important的声明并没有特殊的特殊性值,不过要与非重要声明分开考虑。

实际上所有的重要声明会被浏览器分为一组,重要声明的冲突会在其内部解决

非重要声明也会被分为一组,非重要声明的冲突也会在其内部解决

如果一个重要声明与非重要声明冲突,胜出的总是重要声明

3.继承

继承没有特殊性,甚至连0特殊性都没有

0特殊性要比无特殊性来的强

4.层叠

找出所有相关的规则,这些规则都包含一个选择器

计算声明的优先级

先按来源排序

在按选择器的特殊性排序

最终按顺序

逆战班

HTML学习分享(一)的更多相关文章

  1. ElasticSearch 5学习(7)——分布式集群学习分享2

    前面主要学习了ElasticSearch分布式集群的存储过程中集群.节点和分片的知识(ElasticSearch 5学习(6)--分布式集群学习分享1),下面主要分享应对故障的一些实践. 应对故障 前 ...

  2. ElasticSearch 5学习(6)——分布式集群学习分享1

    在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...

  3. MySQL学习分享--Thread pool实现

    基于<MySQL学习分享--Thread pool>对Thread pool架构设计的详细了解,本文主要对Thread pool的实现进行分析,并根据Mariadb和Percona提供的开 ...

  4. JavaScript Shell学习分享

    目录 JavaScript Shell学习分享 简介 安装 使用原因 小结 JavaScript Shell学习分享 简介 JavaScript Shell是由Mozilla提供的综合JavaScri ...

  5. python 学习分享-paramiko模块

    paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Solaris, BS ...

  6. 有关JSOUP学习分享(一)

    其实现在用JSOUP爬虫的也不多了,但是由于最近换公司,做数据爬虫需要用到,就看了下,感觉还是挺好用的,原理什么的感觉和weblogic也差不到哪里去,废话少说,这里就简单的分享下最近接触的干货. J ...

  7. Swagger框架学习分享

    Swagger框架学习分享 转至元数据结尾 Created and last modified by 刘新宇 大约1分钟曾经 pageId=162045803#page-metadata-start& ...

  8. Flink 从0到1学习—— 分享四本 Flink 国外的书和二十多篇 Paper 论文

    前言 之前也分享了不少自己的文章,但是对于 Flink 来说,还是有不少新入门的朋友,这里给大家分享点 Flink 相关的资料(国外数据 pdf 和流处理相关的 Paper),期望可以帮你更好的理解 ...

  9. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  10. Techparty-广州Javascript技术专场(学习分享)

    上周末(2016/07/31)去了一个技术沙龙学习前端相关的东西,下面是各个主题我印象比较深的. React + Redux 最佳实践 主题:本次分享,主要从React/Redux相关概念及其工具链, ...

随机推荐

  1. git安装和第一次提交过程

    1,新建文件夹test,运行命令 git init 2,找到test的.git文件夹,打开之后找到config文件,在最后边加上一句话 [user] email=your email name=you ...

  2. Moco测试知多少?

    什么是mock? Mock就是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来替代它,帮助我们测试这种场景. 一般前端工程师会在后端工程师还没有完成后台接口开发的时候,自己根据事先 ...

  3. ComplexHeatmap|根据excel表绘制突变景观图(oncoplot)

    本文首发于“生信补给站”:https://mp.weixin.qq.com/s/8kz2oKvUQrCR2_HWYXQT4g 如果有maf格式的文件,可以直接oncoplot包绘制瀑布图,有多种展示和 ...

  4. PDO的事务处理 事务回滚

    <?phpheader('content-type:text/html;charset=utf-8');include 'PdoClass.php';$objPdo=new PdoClass() ...

  5. [问题解决]Windows下python中pydoc命令提示“'pydoc' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”

    解决方法:python -m pydoc 例:python -m pydoc print

  6. cc32b_demo-32dk2j_cpp_纯虚函数与抽象类2-txwtech

    cc32b_demo-32dk2j_cpp_纯虚函数与抽象类2-txwtech //纯虚函数是用来继承用的//纯虚函数//抽象类-抽象数据类型//*任何包含一个或者多个纯虚函数的类都是抽象类//*不要 ...

  7. Linux环境下搭建禅道

    如何在Linux下搭建禅道 查看Linux版本信息 # cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) 禅道官网下载Linux ...

  8. Spring AOP学习笔记04:AOP核心实现之创建代理

    上文中,我们分析了对所有增强器的获取以及获取匹配的增强器,在本文中我们就来分析一下Spring AOP中另一部分核心逻辑--代理的创建.这部分逻辑的入口是在wrapIfNecessary()方法中紧接 ...

  9. git merge整理

    ========================================================== git bash merge 一.开发分支(dev)上的代码达到上线的标准后,要合 ...

  10. Flask04-SQL

    from flask import render_template, flash, redirect from app import app from app import db, models fr ...