最近做一个H5移动端活动,发现一个问题:H5页面设置了margin-bottom,在模拟器和安卓手机上都是正常的,但是IOS手机上就没有效果,一开始以为是层级问题,改为在父层上设置,但是仍然没有效果。
解决:margin-bottom改为padding-bottom或者设置一个div用高度撑开
原因:具体不详,以下是网友总结
从IOS8开始,UIView的属性var layoutMargins:UIEdgeInsets指定该View的subview同其edge的间距。AutoLayout使用margins来放置内容。其默认值为8pt。
如果一个View是ViewController的rootview,系统会自动设置和管理margins,top和bottom。margins为0pt。所以自己设定的margin-bottom会失效。
(内容高度超出所属父容器,父容器有min-height,内容height是auto)