1、块元素、内联元素、内联块元素都是可以改变的,使用display就可以改变排布方式。display:block\inline\inline-block。内联元素是没法设置宽高的,而块元素可以设置。
2、块元素都是占领父元素100%的可以设置宽高,从上到下排布,内联元素是自己的内容宽度不可以设置宽高,从左到右排布。
3、position:fixed 是针对整个body来进行的,相当于添加到了window上面,里面的内容怎么去滚动也不会影响fixed的位置。position:relative就不针对要有固定属性的限制了,是根据正常文档流的偏移位置,但是需要注意一点,虽然进行了设置偏移,但是原有的位置不会改变,什么意思呢?就是原先挨着这个元素的其他元素还是按照原先的位置进行排列,不会用relative后的位置进行排布,这个需要特别注意。position:absolute,相对于离着最近的具有position属性的父包含块进行定位(这个相当于Android中的相对布局),记住了父元素一定要有position啊啊啊啊。
4、在html里面位置都需要固定的,如果位置没有固定,那么就会按照既定的布局方式进行布局。
5、html设置居中的时候,内联元素就要对父元素设置text-align:center。定宽块元素的时候,使用margin:auto就可以居中。不定长的块元素居中,是通过把父元素设置为一半,然后子元素向右偏移50%,这50%就是父元素的百分比,这样就居中了。
6、以sticky footer为例子, flex column的时候,设置高度其实约束的是最小的高度是多少,如果溢出得话,就是简单的进行向下排布,下面的ui会被排到后面.
7、flex三个参数简单的理解是, 是否放大 是否缩小 默认大小 ,和ios的自动布局相似,如果有空间的时候是否放大,如果空间不足的时候是否缩小,默认大小就是字面意思.
8、加深理解float, float是跳出排布流,浮动出来,主要有两点需要注意第一是当其他的标签可能和float的标签重叠的时候,clear会指定其他标签不能有float,可以简单理解为其他不支持有人在我上面浮动,例子是footer和aside,aside是浮动并且高度比main要高,那么aside就会和footer进行重叠,如果footer设置了clear就会排在aside下面。
9、加深理解position,可以分为4种 static(默认) 、absolute、fixed、relative四种定位方式,absolute是相对于页面进行定位,会固定标签的位置一般也使用这个,fix是相对浏览器窗口进行定位,但是不会动了,和absolute的区别就是,假如现在滚动 absolute标签是能跟着滚动的,而fixed标签是固定不定的,这两种已经跳出了排布流,也就是别的标签的排布和这俩是没关系的。relative则没有跳出排布流,只是在原来排布流的位置进行偏移。