手机端布局错位的疑惑
在一份手机端中,OP 在电脑上调试时,布局一切正常。然而,当访问该网页时,布局出现了错误,如图所示。OP 使用的是 table 布局,其中结构和样式如下。
<table border="1" cellpadding="0" cellspacing="19px"> <tr> <td colspan="1" rowspan="1">cards</td> <td colspan="1" rowspan="1">cards</td> </tr> <tr> <td colspan="1" rowspan="1">cards</td> <td colspan="1" rowspan="1">cards</td> </tr>
登录后复制
.cards { width:200px; height: 200px; display: flex; flex-direction: column; }
登录后复制
此外,OP 还发现,在手机端,DOM 结构也没有显示出失败,如下图所示。
解决方法:
OP 在 .cards 上设置了 flex 属性,但该范围只作用于 table 层级,不会影响到 tr 和 td 层级。
在电脑端,由于设置了 celacing=”19px”,导致 table 单元格之间的间距为 19px,因此出现了类似 flex 布局的效果。
而在移动端,td 未设置宽度,导致它们默认占据了 100% 的宽度。此时,flex 属性无法生效,从而导致了布局错误。
以上就是手机端错位:为什么电脑端正常,手机端却出现问题?的详细内容,更多请关注GTHOST其它相关文章!