打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
web前端开发踩坑

潭州

1.inline-block总会有间隙

在前端布局的时候经常会有对齐的需要,inline可以用来对齐行级元素,而如果要对齐块级元素就要用到inline-block了,但是用了inline-block会发现的确对齐了,但是块与块之间总会有间隙,这是因为内联及内联块元素之间在HTML中写的换行或者空格会被解析,那么怎么解决这个问题呢?


一种方法是不写换行或空格,就是把标签全放在一起,不过这样挤在一块不利于读代码。


还有就是在父元素里把font-size设置为0px,这样就算有空格也会被解析为0的大小,也就消除了空格了。(推荐这种)


2.float导致块坍塌

前端布局对齐也可以使用float,但是这样做会导致被作用块不占高度(相当于不存在,脱离了文档流,但是会显示),前面的块不占高度后面跟着的不需要对齐的块就可能会和前面的块挤在一起(各种异常),float很好用,但是怎么才能避免块坍塌呢?


1.在结束float的块后面加一个宽高都为0的块,并设置样式为clear:both;就像在浮动不占空间的块下面加了一个隔板(我也不知道怎么解释,但是很管用)


2.在使用float的块的父级块中设置样式overflow:hidden;这个样式的意思是超出父级元素大小的部分不显示,能够解决坍塌可能是因为float块宽度原因。


3.使用after伪对象,这个没用过,但是感觉原理就和第一个一样。


3.position:absolute位置到底相对于谁?

前端布局有的时候需要精确控制元素位置,比如让元素居中,常用的对于块级元素居中方法是

margin:0 auto;


position:absolute; left:50%; margin-left:-'元素宽度';(一开始不知道margin还可以为负,这样用感觉很妙)


但是用绝对定位的时候总是会有莫名奇妙的问题,有的时候位置是相对于body,有的时候只是相对于父级,到底相对于谁呢?


总结下,absolute的定位应该是相对于同样使用了absolute的父元素,如果没有这样的父元素那就是相对于整个body,所以如果要用absolute又要相对于父元素调整位置,那么只需要给父元素也加上一个absolute就可以了,(而且如果只设置样式position:absolute;不设置top和left等定位属性,那么元素的位置仍然是原来的位置,如果设置了left而不设置top,那么元素的left应该遵循上面的规则,而top位置还是在原地,总而言之就是,绝对定位的元素不设置水平边距或者垂直边距的时候,位置仍然是原来的水平位置或者垂直位置。)


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
css知多少(10)
CSS 最核心的几个概念
css居中样式的总结
常用前端知识积累
position:relative与position:absolute 区别
这些样式表,你都用过么?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服