关于css的一切(updating...)
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作用:
- 清除内部浮动,主要是触发父div的BFC属性,使得子div都处在父div的同一个BFC区域之内。
- 避免文字环绕
- 分属于不同的BFC时,可以阻止margin重叠
如何生成BFC:
根元素,即html本身就是一个BFC,遵守默认垂直分布
float的值不为none,即浮动元素会形成BFC独立出来
position为absolute或fixed
overflow的值不会visible,因为内容不会被修剪,会呈现在元素框之外
BFC的布局规则:内部的box会在垂直方向排列
内部子元素会发生margin重叠
独立容器,与外界元素互不干扰
3.css选择器
权值越大,优先级越高。
css权重计算规则:
- 内联样式,权值为1000,
- ID选择器,权值为0100,
- class类选择器,伪类和属性选择器,权值为0010
- 标签选择器和伪元素选择器,权值为0001
- 加上!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...)相关推荐
- POWERSHELL基于ConvertTo-Htm指定单元格效果css风格html报表
基于ConvertTo-Htm的css风格和指定单元格效果html报表的生成 PowerShell本身具有一个简单但是很实用的命令 ConvertTo-Htm,可以把整个对象转换成HTML格式.事实上 ...
- react css多个变量_如何使用CSS变量和React上下文创建主题引擎
react css多个变量 CSS variables are really cool. You can use them for a lot of things, like applying the ...
- Howto Dynamically Insert Javascript And CSS
2019独角兽企业重金招聘Python工程师标准>>> This is a short and sweet little tutorial to show you how to dy ...
- IE8 新增的Javascript,css功能
IE8 新增的Javascript 对象 (Object) Attr Constructor Defines the properties and methods inherited by objec ...
- bem css_CSS体系结构:块元素修饰符(BEM)和原子CSS
bem css The following is a short extract from Tiffany's new book, CSS Master, 2nd Edition. 以下是Tiffan ...
- css flash布局_跳过简介-CSS3是新的Flash
css flash布局 I remember spring of 1996 when FutureSplash Animator came out. That was 16 years ago, yo ...
- css 网格布局_CSS网格布局三年
css 网格布局 As I was updating my slides for An Event Apart in San Francisco, I realised how much comple ...
- css动画和js动画_CSS与JS动画:哪个更快?
css动画和js动画 How is it possible that JavaScript-based animation has secretly always been as fast - or ...
- updating java index_myeclipse右下角的updating indexes 是什么意思?
展开全部 Updating indexes是Maven在下载更新,这个需要手动去设置即可: Window --> Preferences --> Maven --> 去除Downlo ...
最新文章
- 嘿嘿 刚刚进来 记录下
- sqlserver查询当月的每一天_SQLServer 查询最近一天,三天,一周,一月,一季度数据的方法...
- Java之主数据类型的包装
- 代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
- python如何输入多行数据合并_python 实现将txt文件多行合并为一行并将中间的空格去掉方法...
- 最小生成树 kruskal_使用Kruskal算法求解Java最小生成树问题
- 酷派删除android系统软件,【玩机教程】酷派手机root后不可删除系统自带程序+组件中英对照...
- Nginx学习之一-第一个程序Hello World
- Oracle show sga产生的结果研究
- ps提示“脚本错误-50出现一般Photoshop错误的解决方法
- 发生内部错误。请与 microsoft 支持部门联系。_设计变更、工程签证、确认单、工程洽商、联系单、会签的区别,一文搞懂...
- python transform hive_Hive使用TRANSFORM运行Python脚本总结
- STM32F103系列PWM波
- [纯理论] FCOS
- 怎样用计算机弹虫儿飞,吉他初学者必看:虫儿飞指弹教程
- 孕妇睡眠质量差怎么办?如何提高睡眠质量?
- W3C 发布 EME 标准,EFF 退出 W3C
- vue关闭eslint语法检查
- 帮你分清嵌入式与单片机
- 拼多多跨境电商如何快速上架商品?