百度地图js文字标签与bootstrap.css冲突坑

百度地图文字标签 BMap.Label 类实例化后添加到地图中的元素会因为bootstrap.css中的样式而显示异常

百度地图js文字标签与bootstrap.css冲突坑

百度地图js文字标签与bootstrap.css冲突坑

可以看到,行内元素label的宽度为0,并没有被元素里的文字结点的宽度撑开,导致元素的文字溢出,背景颜色只在左右padding的2px空间内看到。

造成这个的原因是bootstrap.css的label样式问题,max-width属性

百度地图js文字标签与bootstrap.css冲突坑

只要在 label 元素的样式中设置 max-width 为none即可解决,max-width属性不设置的话默认为none。

百度地图js文字标签与bootstrap.css冲突坑

百度地图js文字标签与bootstrap.css冲突坑

百度地图js文字标签与bootstrap.css冲突坑

查阅mdn

百度地图js文字标签与bootstrap.css冲突坑

那么离label元素最近的父级“块”级容器为

百度地图js文字标签与bootstrap.css冲突坑

那现在就很明显了,这就是label宽度不会被文字结点撑开的原因。

这种情况出现的原因源于我对max-width的理解不够,继续学习