1.盒模型

  • 从内二外,内容(content),内边距(padding),边框(border),外边距(margin)
  • 分为IE怪异盒子模型W3C标准盒子模型
  • 标准盒子模型,box-sizing:content-box;宽高指context区宽高
  • IE怪异盒子模型,box-sizing:border-box;宽高 = content + padding + border

2.BFC(块级格式上下文)

浮动元素和绝对定位元素,非块级盒子的块级容器,以及overflow值不为visiable的块级盒子,都为他们的内容创建新的BFC(Block formatting context),特别注意BFC是一块独立的渲染区域。
BFC作用:

  1. 清除内部浮动,主要是触发父div的BFC属性,使得子div都处在父div的同一个BFC区域之内。
  2. 避免文字环绕
  3. 分属于不同的BFC时,可以阻止margin重叠

如何生成BFC:

  1. 根元素,即html本身就是一个BFC,遵守默认垂直分布

  2. float的值不为none,即浮动元素会形成BFC独立出来

  3. position为absolute或fixed

  4. overflow的值不会visible,因为内容不会被修剪,会呈现在元素框之外
    BFC的布局规则:

  5. 内部的box会在垂直方向排列

  6. 内部子元素会发生margin重叠

  7. 独立容器,与外界元素互不干扰

3.css选择器

权值越大,优先级越高。
css权重计算规则:

  1. 内联样式,权值为1000,
  2. ID选择器,权值为0100,
  3. class类选择器,伪类和属性选择器,权值为0010
  4. 标签选择器和伪元素选择器,权值为0001
  5. 加上!import,表示这个样式的优先级是最高的,比内联样式还要高。

css优先级规则:

  • css选择规则的权重不同时,权值高的选择器优先
  • css选择规则的权重相同时,后定义的选择器规则优先
  • css属性后加!import时,无条件绝对优先。

4.css的rem,em,vw,vh

  • em。相对长度单位,根据父元素的font-size的倍数
  • rem。相对长度单位,相对于根元素(html)font-size的倍数
  • vw。相对于视窗的宽度,视窗被均分为100个单位的vw。
  • vh。相对于视窗的高度,视窗被均分为100个单位的vh。

5.flex布局

flex布局被称为“弹性布局”。采用flex布局的元素,称为“flex容器”。它的所有子元素自动称为容器成员,称为flex item。容器具有6个属性

  • 1.flex-direction。决定主轴的方向,即item排列方向。
  • 2.flex-wrap。item排列在一条线上,若一条线排不下,可选择以下3个值。
    nowrap:默认不换行
    wrap:换行,第一行在上方
    wrap-reverse:换行,第一行在下方。
  • 3.flex-flow。是flex-direction和flex-wrap的简写
  • 4.justify-content。定义item在主轴上的的对齐方式,可选5个值
    flex-start:靠左对齐
    flex-end:靠右对齐
    center:居中
    space-between:两端对齐,item之间间隔相等
    space-around:每个item两侧的间隔相等。所以,item之间的间隔比item与边框的间隔大一倍。
  • 5.align-items。定义item在交叉轴(垂直于主轴的轴)上如何对齐。5个值
    flex-strat:交叉轴起点对齐
    flex-end:交叉轴终点对齐
    center:交叉轴中心对齐
    baseline:item的第一行文字的基线对齐
    stretch(默认值):如果item尾设置高度或设为auto,将占满整个容器高度
  • align-content。定义多根轴线的对齐方式。如果item就一条轴线,该属性不起作用。6个值

项目item的6个属性:

  • 1.order。定义项目排列的殊勋,数值越小,排列越靠前,默认为0
  • 2.flex-grow。定义item放大的比例,默认为0。即如果存在剩余空间,也不放大。
  • 3.flex-shrink。定义项目的缩小比例,默认为1。如果空间不足,项目将缩小。
  • 4.flex-basis。定义在分配多余空间之前,item占据主轴的空间,默认为auto,即item的大小 。
  • 5.flex。属性是flex-grow,flex-shrink,flex-basis的缩写。
  • 6.algin-self。允许单个item与其他item有不一样的对齐方式,可以覆盖aligin-items,默认为auto,即继承父元素的aligin-items属性,如果没有父元素,则等同于stretch。属性值和algin-items一样。

5.css定位

1.static: 所有元素默认状态。没有定位,不能边偏移,即left,top等等不生效。
2.absolute: 绝对定位。向上找一个定位的父元素为基准来定位。否则,以浏览器窗口定位
3.relative: 相对定位。基于默认状态下(static)为基准偏移定位。
4.fixed: 固定定位。以浏览器为基准定位。
5.inherit: 继承父元素的定位置定位。

absolute和fixed的区别:

  • 没有滚动条下没有差异;有滚动条,fixed定位不会随滚动条移动而移动,而absolute会。

6.块级元素,行内元素,行内块元素

块级元素(block):元素呈块状。有自己的宽度和高度

  • 每个块级元素都是独自占一行。
  • 元素的高度、宽度、行高、边距都是可以设置的。
  • 元素的宽度如果不设置的话,就默认为父元素的宽度
  • 常见的块元素,例如:div,p,h系列,li,ul,table等等

行内元素(inline):行内元素不能设置宽度和高度,但可以与其他的行内元素位于同一行。

  • 行内元素可与行内元素共享一行,即相邻的行内元素会排列在同一行
  • 行内元素的高度、宽度、行高及顶部和底部边距都不可以设置。
  • 元素的宽度就是其包含的文字或图片的宽度,不可改变。
  • 元素的高度一般有元素内部的字体大小决定。
  • 常见的行内元素,例如:a,select,input,span等

行内块元素(inline-block):既有块级元素的特点,也有行内元素的特点。

  • 可以设置高度、宽度、行高、以及边距。
  • 和其他行内或行内块级元素防止在同一行。

7.文档流和文本流

文档流:又称常规流(normal flow)

  • 指元素按照其在HTML中的位置顺序决定排布的过程。
  • 块级元素自上而下排列
  • 行内元素从左至右排列

文本流: 大概来说就是文档读取和输出的顺序,通常为从上而下,从左而右。

脱离文档流:float和absolute,fixed会脱离文档流

  • float。其他盒子元素会无视这个元素,但其他盒子内的文字依然会为他让出位置,环绕在其周围。
    也就是脱离文档流,但不脱离文本流。

  • 绝对定位。脱离文档流和文本流

8.text-aligin属性

水平居中

  • 文本
  • 行内元素
  • 行内块元素

9.清除浮动

为什么要清除浮动?
为了解决父元素因为子级元素浮动引起的内部高度为0的问题。
父元素设置border,不设置高。子元素为big和small。

当我给两个子元素设置float时。

父元素的高度就会变为一条线。
清除浮动的方法

  • 给父元素加上overflow:hidden。副作用:超出的内容会被隐藏。

  • 额外标签法。在最后一个浮动元素后添加一个额外标签,
    设置clear:both

  • 使用伪元素清除浮动

10.display、visibility、opacity的区别

display:none

  • 元素脱离文档流(包括子元素),即属性会继承
  • 绑定事件无法触发
  • 但DOM节点存在,也就是还存在于DOM树和CSSOM中,但不在render树中,仍可以用js操作

visibility:hidden

  • 元素不可见
  • 该属性不会继承。
  • 绑定事件不能触发

opacity:0

  • 元素透明度为0
  • 被强制继承。子元素设置为1,元素仍无法显示
  • 绑定事件可以触发。

关于css的一切(updating...)相关推荐

  1. POWERSHELL基于ConvertTo-Htm指定单元格效果css风格html报表

    基于ConvertTo-Htm的css风格和指定单元格效果html报表的生成 PowerShell本身具有一个简单但是很实用的命令 ConvertTo-Htm,可以把整个对象转换成HTML格式.事实上 ...

  2. react css多个变量_如何使用CSS变量和React上下文创建主题引擎

    react css多个变量 CSS variables are really cool. You can use them for a lot of things, like applying the ...

  3. Howto Dynamically Insert Javascript And CSS

    2019独角兽企业重金招聘Python工程师标准>>> This is a short and sweet little tutorial to show you how to dy ...

  4. IE8 新增的Javascript,css功能

    IE8 新增的Javascript 对象 (Object) Attr Constructor Defines the properties and methods inherited by objec ...

  5. bem css_CSS体系结构:块元素修饰符(BEM)和原子CSS

    bem css The following is a short extract from Tiffany's new book, CSS Master, 2nd Edition. 以下是Tiffan ...

  6. css flash布局_跳过简介-CSS3是新的Flash

    css flash布局 I remember spring of 1996 when FutureSplash Animator came out. That was 16 years ago, yo ...

  7. css 网格布局_CSS网格布局三年

    css 网格布局 As I was updating my slides for An Event Apart in San Francisco, I realised how much comple ...

  8. css动画和js动画_CSS与JS动画:哪个更快?

    css动画和js动画 How is it possible that JavaScript-based animation has secretly always been as fast - or ...

  9. updating java index_myeclipse右下角的updating indexes 是什么意思?

    展开全部 Updating indexes是Maven在下载更新,这个需要手动去设置即可: Window --> Preferences --> Maven --> 去除Downlo ...

最新文章

  1. 嘿嘿 刚刚进来 记录下
  2. sqlserver查询当月的每一天_SQLServer 查询最近一天,三天,一周,一月,一季度数据的方法...
  3. Java之主数据类型的包装
  4. 代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
  5. python如何输入多行数据合并_python 实现将txt文件多行合并为一行并将中间的空格去掉方法...
  6. 最小生成树 kruskal_使用Kruskal算法求解Java最小生成树问题
  7. 酷派删除android系统软件,【玩机教程】酷派手机root后不可删除系统自带程序+组件中英对照...
  8. Nginx学习之一-第一个程序Hello World
  9. Oracle show sga产生的结果研究
  10. ps提示“脚本错误-50出现一般Photoshop错误的解决方法
  11. 发生内部错误。请与 microsoft 支持部门联系。_设计变更、工程签证、确认单、工程洽商、联系单、会签的区别,一文搞懂...
  12. python transform hive_Hive使用TRANSFORM运行Python脚本总结
  13. STM32F103系列PWM波
  14. [纯理论] FCOS
  15. 怎样用计算机弹虫儿飞,吉他初学者必看:虫儿飞指弹教程
  16. 孕妇睡眠质量差怎么办?如何提高睡眠质量?
  17. W3C 发布 EME 标准,EFF 退出 W3C
  18. vue关闭eslint语法检查
  19. 帮你分清嵌入式与单片机
  20. 拼多多跨境电商如何快速上架商品?

热门文章

  1. html的article标签,介绍一个html5做的网站,以及article标签的用法
  2. pychar 设置字体随鼠标滚轮调整大小
  3. SpringMVC架构
  4. 闭包 装饰器 偏函数
  5. CSS 之 样式优先级机制
  6. 05SpringMvc_映射器SimpleUrlHanderMapping
  7. 如何在winform或者wpf里面打开浏览器并设置宽高位置
  8. 话里话外:中小型装备制造企业竞争优势构建之路
  9. X86汇编语言从实模式到保护模式16:特权级和特权级保护
  10. c语言高效编程pdf,C语言高效编程的四大绝招