CSS(Cascading Style Sheets)层叠样式表
1.CSS级联-CSS层叠:
规定在哪个HTML中使用哪个样式。

  1. body{
  2. font-size:16px; //body默认字体大小
  3. }

2.HTML中css样式的使用方式:
a.外部样式表:

  1. <link rel="stylesheet" type="text/css" href="css文件路径">
  2. <style type="text/css">
  3. /*导入外部样式:放在第一行去导入*/
  4. @import url(./style/div.css);
  5. </style>

b.内部样式表:

  1. <style type="text/css">
  2.  
  3. </style>

c.行内样式表:

  1. <div style="color:#fff;">

d.@import 导入
    可以再css文件中导入css文件也可以在html文件中导入一个css文件

  1. <style type="text/css">
  2. /*导入外部样式:放在第一行去导入*/
  3. @import url(./style/div.css);
  4. div{
  5. color: coral;
  6. }
  7. </style>

3.CSS选择器:选中匹配的元素,然后进行样式的设置(权值、权重、特性值)
    *普遍选择器
    style属性内:权值:1000
    id选择器:权值100
    class选择器:权值10      伪类选择器:权值10
    标签选择器 div h1:权值1     伪元素选择器 :权值1
    空格 + > ~:权值0
    组合选择器:div,span
    嵌套选择器:div.one   class属性值为one的div元素
                div .one div后代class属性值为one的元素
    后代选择器:
        空格:所有后代
        >   :子代
        兄弟选择器:
            +:下一个兄弟元素
            ~:后面的所有兄弟元素
    属性选择器:
        [attr] 选中标签中还有attr属性的元素
        [attr=val] 选中属性值为val的元素
        [attr^=val] 选中属性值以val开始的元素
        [attr$=val] 选中属性值以val结尾的元素
        [attr*=val] 选中属性值中包含val字符串的元素
        [attr~=val] 选中属性值中有一个值为val的元素

选择器的优先级:id选择器>class选择器>标签选择器>*普通选择器

4.级联比较
css级联,权重的优先,相同则就近原则

采用就近原则,对于要修饰的元素权值相同,在使用的各种css样式中哪种修饰离标签更近则采用哪种样式来进行修饰(就近原则)
但有一种情况除外:标签自身属性的宽高,若在css样式中重新修饰则会再用css中的样式div1 {color: red;} /*标签,权值为1*/

即:采用样式的优先级:标签自身属性最弱,行内样式最强,而外部样式表、内部样式表、@import导入则采用就近原则(离修饰标签近的优先使用)
注:标签自身属性及标签样式属性

eg:
    嵌套选择器:权值累加比较

  1. div1 span {color: green;} /*两个标签,权值为1+1=2*/
  2.  
  3. div1>span {color: purple;} /*权值与上面的相同,因此采取就近原则*/
  4.  
  5. .div1 {color: white;} /*类选择符,权值为10*/
  6.  
  7. div1 span.success {color: purple;} /*权值为1+1+10=12*/

附加知识:
    加了!important 那么它的优先级会比较高,将不去看起权值和考虑就近原则,ie6不兼容,无法识,不推荐使用。
    eg:

  1. div1 {
  2. color:red !important; /*除了ie6,其他浏览器会认为红色优先级高,显示红色字体*/
  3. color:green; /*ie6浏览器则顺序读取css所以显示绿色*/
  4. }

5.DOM(文件对象模型:document object model)     
DOM树:
元素节点、注释节点、属性节点
相关知识点:原生JS JQuery React Vue AngularJS

6.后代选择器
相同标签元素的后代或兄弟元素优先级仍遵从CSS选择器中优先级,与其在样式表中的先后出现顺序无关
采用层次选择器时,优先次序按照其CSS选择器权值累加和的大小来决定,如上第3点:CSS选择器 所示
eg:

  1. <style type="text/css">
  2. /*id为p2的下一个兄弟节点*/
  3. #p2+span{
  4. border: 1px dotted red;
  5. }
  6.  
  7. /*id为p2的所有的兄弟节点*/
  8. /*#p2~*:权值100<#p2+span(权值:100+1) 则其不会覆盖#p2+span中的样式属性*/
  9. #p2~*{
  10. border: 1px solid blue;
  11. }
  12.  
  13. /*#p2~span:权值:100+1=#p2+span(权值:100+1)采用就近原则 则其会覆盖#p2+span中的样式属性*/
  14. #p2~span{
  15. border: 1px solid blue;
  16. }
  17. </style>

CSS样式表及选择器相关内容(一)的更多相关文章

  1. CSS样式表及选择器相关内容(二)-伪类与伪元素选择器

    伪类与伪元素选择器归纳: 一.伪类选择器(伪类以":"开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中)    1.a标签伪类选择器,其他标签类似        eg: ...

  2. css样式表和选择器的优先级以及position元素属性值的区别

    css样式表优先级 问题:当同一个HTML元素被不止一个样式定义时,会使用哪个样式呢? 答:一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权. 1.浏览器缺省 ...

  3. css样式表的选择器与分类

    css 样式表的作用: 主要用于结构,样式与行为,CSS主要的作用就是美化网页的一个语言,它的特点: 1.结构与样式分离的方式,便于后期维护与改版; 2.样式定义精确到像素的级别; css样式表的结构 ...

  4. CSS样式----图文详解:css样式表和选择器

    主要内容 CSS概述 CSS和HTML结合的三种方式:行内样式表.内嵌样式表.外部样式表 CSS四种基本选择器:标签选择器.类选择器.ID选择器.通用选择器 CSS三种扩展选择器:组合选择器.后代选择 ...

  5. CSS样式----css样式表和选择器(图文详解)

    本文最初于2015-10-03发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 本文主要内容 CSS概述 CSS和HTML结合的三种方式:行内样 ...

  6. CSS:CSS样式表及选择器优先级总结

    我们在写网页的时候经常会遇到同一个HTML文件,使用了外部样式.内部样式以及内联样式,那么如果发生冲突时浏览器是怎么抉择的呢? 也会遇到这样的情况,在样式表中,对同一个HTML元素,我们有可能既用到了 ...

  7. CSS选择器及CSS样式表

    前言 牛腩新闻发布系统中记忆最深的就是各种CSS选择器各种CSS样式,这些选择器之间肯定有它的优先级,包括CSS样式也一样,也是有它的优先级,本文介绍一些各种CSS选择器各种CSS样式以及它们的优先级 ...

  8. 一起学HTML基础-CSS样式表-基本概念、分类、选择器

    一.基本概念: CSS  (Cascading Style Sheets)层叠样式表,是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. ...

  9. CSS样式表 选择器

    1.内联样式表 和HTML联合显示,控制精确,但是可重用性差,冗余较多. 例:<p style="font-size:14px;">内联样式表</p> &l ...

随机推荐

  1. yapi内网部署 centos

    1.部署方案 官方说明: https://hellosean1025.github.io/yapi/devops/index.html 2.需要注意的点 (1)在centos等服务启上最好使用“命令行 ...

  2. Java NIO 堆外内存与零拷贝

    一.直接缓存 这个例子的区别就是 ByteBuffer.allocateDirect(512); 进入allocateDirect方法 进入DirectByteBuffer构造函数 Native方法: ...

  3. ubuntu16.04 overlay 不支持redirect_dir开关

    modinfo overlay--查看overlay版本 通过linux网站--https://elixir.bootlin.com/linux/v4.4.196/source/fs/overlayf ...

  4. 运维笔记--Docker文件占用磁盘空间异常处理

    场景描述: 1. 服务器运行一段时间后,发现系统盘磁盘空间在不断增加,一开始的时候,不会影响系统,随着时间的推移,磁盘空间在不断增加,直到有一天你会发现系统盘剩余空间即将使用完,值得庆幸的是,如果您使 ...

  5. scrapy中的middleware

    反反爬虫相关机制 Some websites implement certain measures to prevent bots from crawling them, with varying d ...

  6. pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path

    使用pytesseract识别验证码中遇到异常如下: pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installe ...

  7. Python3基础 内置函数 eval str转为list tuple dict

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  8. [错误解决] Libreoffice转换不成功,直接不做任何操作

    问题描述: Libreoffice在版本5.3.0之前都存在这个问题.现象是:当你运行其中一个LibreOffice的时候,再运行另外一个Libreoffice转换时,将不做任何操作. 解决方案: 如 ...

  9. PMP 第4章错题总结

    变更步骤: 1.配置管理活动:配置识别.配置状态记录.配置核实与审计2.项目章程中记录项目的目的和总体预算3.变更控制系统规定了变更管理流程及批准的权限4.项目章程是授权项目经理动用组织资源的文件5. ...

  10. Flask 学习(三)路由介绍

    Flask路由规则都是基于Werkzeug的路由模块的,它还提供了很多强大的功能. 两种添加路由的方式 方式一: @app.route('/xxxx') # @decorator def index( ...