CSS解析规则

  • 对空格不敏感,因此每个样式后面都加一个分号,不然会把后面的css当做整体解析,直到遇到分号为止
  • 最后一个属性的分号是可以不加的
  • 当遇见不认识的属性或属性值的时候,将忽略此属性继续解析后面的属性,浏览器只会解析认识的属性
  • 为什么浏览器兼容的时候可以添加前缀?
    -webkit-box-sizing:border-box
    box-sizing:border-boxbox-sizeing
    

    当浏览器认识 -webkit-box-sizing属性时,就会使用此属性,如果两个属性都认识,那么box-sizing属性就会覆盖上面的(层叠掉)

  • 复合属性border:1px solid #dedede 如果其中有一个值是错误的,那么整个属性都不会解析
  • 最后一对css规则的大括号可以不闭合
  • 后代选择器中间必须加空格 div p
  • 换行会被当成一个空格
        div.box{width:200px}//解析后div .box{ width:200px}
    
  • 关键字不可以用引号 color:"orange"
  • 多组选择器中,只要有一个选择器是错误,其他的都不会执行 如:#app 0box
  • @import 'style.css'只能写在样式表的前面,写在后面的话会被忽略

替换元素和非替换元素

  • 替换元素是指浏览器根据元素的标签和属性来决定元素的具体内容 img:src input:checkbox ...
  • 非替换元素是指内容直接显示在浏览器的元素 h1 p span

属性值的计算规则

客户端解析文档并构建文档树之后,会给文档中的每一个元素的属性分配一个属性值,这个属性值最终可能进过指定值、计算值、使用值、实际值这四个步骤

  1. 继承:存在继承的时候,子元素继承的是父元素的计算值

    • 某些属性会继承父元素的值 如color
    div{font-size:10px
    }
    .child{font-size:120%  //实际计算后是 10px*120%
    }
    
  2. 可继承或不可继承都可以通过inherit属性来继承父元素的某个属性继承的值是父元素的计算值

    div{width:100px;height:200px;border:1px solid #dedede;
    }
    .child{width:50px;height:inherit;border:inherit
    }
    

可视化格式模型

我们熟知的盒子模型是由自身元素产生的,主要是对width、height、padding、border、margin的解释,而可视化格式模型规则是将这些盒子按照一定的规则拜访到页面上也就是规定每个盒子应该怎么去布局,所以可视化格子模型与一个元素的布局息息相关

  • 文档树:html中每个元素都是由子元素,祖先元素,兄弟元素等组成,这种结构非常像树装
  • 视口viewport: 也叫作可视窗口,根据屏幕百分比布局,可视区域改变,布局也会改变。每个页面只可能有一个可是窗口,并提供滚动条机制,但是iframe可以嵌入多个页面

包含块(重点强调:这只是一个概念)

元素的位置和尺寸都相对于一个父元素(矩形),那么这个矩形就是一个包含块。每个元素都会产生一个包含块,但是这个包含块是虚无的,只是个概念

  • div>p>span,div生成一个包含块来包含p和span,p也会有一个包含块来包含span,主要作用是给他里面的元素做一个位置上的参照(应该从哪里开始摆放)
  • 包含块不会限制里面元素的大小,若里面的元素超出,则超出的部分溢出,使用overflow:hidden
包含块创建
  1. 根元素的包含块叫做初始包含块,具体有客户端创建
  2. 定位值为fixed时,包含块有视口创建
  3. 定位值为relative,static或者没有设置定位属性,包含块由最近的父元素或组件元素创建
  4. 定位值为absolute 则包含块有最近的定位值relative,absolute,fixed创建,如果没有定位的祖先元素,则包含块是初始包含块 5.祖先元素是行内元素时,包含块取决于父元素或祖元素的direction属性

控制框(记录中...)


格式化上下文BFC/IFC(记录中...)

CSS核心技术详解-核心概念相关推荐

  1. 这就是搜索引擎核心技术详解@学习笔记

    对应文章的下载地址: http://download.csdn.net/detail/yijiyong100/6356227 背  景 关于本篇学习笔记,只是把书中的一些概念进行了归纳,同时把个人的一 ...

  2. JSX设置CSS样式详解

    JSX设置CSS样式详解 1. 使用className设置样式(CSS的其他选择器也是同理) (1)定义一个CSS文件style.css,和普通CSS一样定义class选择器 .sty1{//和普通C ...

  3. 这就是搜索引擎:核心技术详解

    这就是搜索引擎:核心技术详解 张俊林 著 ISBN 978-7-121-14865-1 2012年1月出版 定价:45.00 元 16开 320页 宣传语:改变全世界人们生活方式的"信息之门 ...

  4. Kubernetes Service详解(概念、原理、流量分析、代码)

    Kubernetes Service详解(概念.原理.流量分析.代码) 作者: liukuan73 原文:https://blog.csdn.net/liukuan73/article/details ...

  5. Java简单类、变量详解(概念和分类、声明、命名、初始化)

    1初识JAVA简单类 (1)创建第一个Java程序的具体步骤: 第一步:创建一个工程,在Package Explorer空白区域中右击New->点击Java Project->填写Proj ...

  6. 《这就是搜索引擎:核心技术详解》---读后感

    搜索引擎作为互联网发展中至关重要的一种应用,已经成为互联网各个领域的制高点,其重要性不言而喻.搜索引擎领域也是互联网应用中不多见的以核心技术作为其命脉的领域,搜索引擎各个子系统是如何设计的?这成为广大 ...

  7. CSS基本操作详解及截图演示

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

  8. css名词解析,小说CSS样式详解

    CSS格式详解 字体格式(font) 字体 表格题目位置 once:只朗读一次(默许值): always:多次朗读: inherit:启当: 文字年夜小 font-size: xx-small | x ...

  9. Css display 详解

    Css display 详解 display :none display :block display :inline display :inline-block display :inherit d ...

最新文章

  1. 加码 2000 亿还不够,阿里云再建三座超级数据中心加速新基建
  2. 限制用户对页的访问php,如何限制对Django中管理页的访问?
  3. Linux man 使用详解(转)
  4. 公司软件AiDitron中涉及的英文单词及含义
  5. html-----020----事件
  6. 电脑剪贴板在哪里打开_这个小玩意让手机的推送无缝显示在电脑上_办公软件...
  7. docker-ce私有仓库搭建
  8. android 图标自动更新,android手机安装软件后会生成图标,但今后更新该软件图标都不会变化,如何使图标变成最新版的图标?...
  9. ubuntu 15.04 系统中如何启用、禁用客人会话
  10. 《走遍中国》珍藏版(十二)
  11. python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!
  12. 外部操作获取iframe的东西
  13. java高级面试篇之redis面试收集总结/62题附答案)
  14. matlab生成pdf报告,MATLAB发布代码---生成文档pdf
  15. 听说 2022 年个税改革了,这是咋回事?
  16. 技术人如何自我成长?
  17. 【在SpringBoot项目中使用Validation框架检查数据格式-常用的检查注解】
  18. 不可重复读和幻读的区别_论文重复率要多少算是合格的?
  19. RN 调用原生WebPage 解决微信支付Referer问题
  20. 我心中的计算机作文500,心中的作文500字4篇

热门文章

  1. 使用浏览器cookie
  2. Ext JS学习第五天 Ext_window组件(二)
  3. 自己使用window.open和window.showModalDialog在父子窗口传值的实践简单总结
  4. c#语法之lock 语句
  5. CCCC L2 007 家庭房产 并查集
  6. 因子分析——因子旋转
  7. buildroot的使用简介【转】
  8. ubuntu上安装nodejs
  9. 年年岁岁花相似,岁岁年年竟相同
  10. mysql limit优化