在使用CSS
进行布局和设计时,全部的HTML
元素均可以看做一个盒子模型,包括外边距(margin
)、边框(border
)、内边距(padding
)、实际内容(content
)四个属性。以下图css
box-sizing: content-box
)与怪异(IE)盒模型(box-sizing: border-box
)的区别:前者content
的宽度/高度不变,后者的content
的宽度/高度把padding
和 border
部分也计算进去。text-align: center
margin: 0 auto
;position: relative
,元素设left: 0
;right: 0
;margin: auto
;flex-box
布局,指定justify-content: center
;display
设置为tabel-ceil
;display: flex
布局,用align-item: center
实现;top: 0
和bottom: 0
,margin: 0 auto
实现;top:50%
,margin-top
值为高度一半的负值;line-height
为height
值。flex布局即弹性布局,能够经过display: flex
来设置一个弹性容器,容器内的子元素会根据设置的属性进行排列;css3
经常使用的属性:flex-direction
、flex-wrap
、flex-flow
、justify-content
、align-items
、align-content
。函数
详见www.runoob.com/w3cnote/fle…工具
块格式化上下文(Block Formatting Context,BFC)是Web页面中盒模型布局的CSS渲染模式。它决定了元素如何对其内容进行定位,以及与其余元素的关系和相互做用,主要体如今浮动清除、浮动定位和阻止父子元素的margin
折叠。布局
建立规则:flex
根元素动画
浮动元素(float
不取值为none
)设计
绝对定位元素(position
取值为absolute
或fixed
)code
display
取值为inline-block
、table-cell
、table-caption
、flex
、inline-flex
之一的元素orm
overflow
不取值为visible
的元素
经常使用的方法有:
overflow: hidden
或者overflow: auto
;<div class="clear"></div>
,经过CSS赋予clear: both
;clearfix
的class
,而后给这个class添加一个:after
伪元素实现元素末尾添加一个看不见的块元素清除浮动。总结:要么使用clear
属性,要么触发浮动元素父元素的BFC,使父元素能够包含浮动元素。
!important
> 行内样式 > id
> class
> tag
> 通配符 > 系统默认;他们是CSS
预处理器。他是CSS
上的一种抽象层。他们是一种特殊的语法/语言编译成CSS
。
例如Less
是一种动态样式语言. 将CSS
赋予了动态语言的特性,如变量,继承,运算, 函数. LESS
既能够在客户端上运行 (支持IE 6+, Webkit, Firefox
),也可一在服务端运行 (借助Node.js
);
而Sass
是一款强化CSS
的辅助工具,它在CSS
语法的基础上增长了变量 (variables
)、嵌套 (nested rules
)、混合 (mixins
)、导入 (inline imports
) 等高级功能,这些拓展令CSS
更增强大与优雅。使用Sass
以及Sass
的样式库(如 Compass
)有助于更好地组织管理样式文件,以及更高效地开发项目。须要Ruby
环境
animation
是css3
新增的动画属性,这个css3
动画的每一帧是经过@keyframes
来声明的,keyframes
声明了动画的名称,经过from
、to
或者是百分比来定义。