居中页面元素有很多种方式
利用flex、grid、绝对定位+负边距或者transform、text-align等等方式,他们适用于不同的场景,比如text-align就只能对inline元素起作用,vertical-align在默认情况下只是对行框内容进行对齐
下面介绍两种块级元素的居中方式 display: table\table-cell
居中页面元素有很多种方式
利用flex、grid、绝对定位+负边距或者transform、text-align等等方式,他们适用于不同的场景,比如text-align就只能对inline元素起作用,vertical-align在默认情况下只是对行框内容进行对齐
下面介绍两种块级元素的居中方式 display: table\table-cell
块级上下文挺起来很抽象,W3C 中是这样解释的:
inline-block, table-cells, table-captions
),以及display为overflow
等不是visible
属性的元素,会为它们包含的内容建立新的block formatting contextmargin
决定,在相同的block formatting context中,两个相邻的块级Box会产生外边距合并 (这是重点)上面的话可以总结为:
block formatting context就是页面上的一个隔离的独立容器,容器内的子元素不会影响到外面的元素。反之如此
看了这么多,是不是感觉很抽象,没关系,我们与其去研究这些抽象的文字,不如来看看block formatting context能做什么。
这个东西其实很简单
使用css
1 | .clearfix::after { |
通常,你想要通过css transition
来过渡属性,然后使用了下面代码transition: height 0.5s linear
然后又使用了 height: auto
来自适应高度height: 0
-> height: auto
然后发现动画就像没发生一样,直接就在0和auto两个状态之间直接切换
你可能会认为出现了什么bug,或者代码写错了,其实不然
hexo生成出来的资源文件很大,全是没有压缩的,为了节约网络带宽,可以对其public目录下的js,html,css文件进行压缩。那么这里使用的工具就是强大的gulp
Update your browser to view this website correctly. Update my browser now