Twitter Bootstrap CSS影响Google Maps


147

我正在使用Twitter Bootstrap,并且有Google地图。

地图上的图像(例如标记)正由Bootstrap中的CSS倾斜。

在Bootstrap CSS中有:

img {
    border: 0 none;
    height: auto;
    max-width: 100%;
}

当我max-width使用Firebug 禁用该属性时,标记图像会正常显示。如何防止Bootstrap CSS影响Google地图图像?


Answers:


187

对于Bootstrap 2.0,这似乎可以解决问题:

#mapCanvas img {
  max-width: none;
}

6
确保添加#mapCanvas img { width: auto; display:inline; }如下内容:@nodrog
jlb 2012年

从Bootstrap 2.0.3发行说明中:“自2.0.1起,修复了响应图像中的固定回归功能,默认情况下,我们已将max-width:100%重新添加到图像中。在上个发行版中,由于有相关人员,我们将其删除了抱怨Google Maps集成和其他项目,但是我们在这些事情上现在采取了不同的立场,将要求开发人员最终做出这些调整。”
kevinwmerritt 2012年

仅供参考:Bootstrap 2.0.4发行说明:“在图像上添加了特殊的CSS来防止最大宽度:100%;这些图像会使Google Maps渲染混乱。”
kevinwmerritt 2012年

这是奇怪的是,他们终于决定硬编码ID,而不是使用类,而不是
zerkms

1
#mapCanvas对我不起作用。我只是使用了我的.map类(用作Google Maps容器),就成功了。谢谢!
Fydo 2012年

80

地形和叠加层的下拉选择器也存在问题,将它们都添加将解决问题...

#mapCanvas img { 
  max-width: none;
}

#mapCanvas label { 
  width: auto; display:inline; 
} 

第二种样式将在某些浏览器中处理有关地形和覆盖框的其他问题。


是的!一切似乎都已固定,再加上上面标记为“已接受”的答案。谢谢。
Mat

作品就像在Firefox 17中的魅力,但无法在Chrome 23。不知道为什么,但我找到了解决办法只是补充一点:$('.map').on('shown',function(){ google.maps.event.trigger(map, 'resize'); });
yosafatade

你是个天才。非常感谢。这让我发疯:-)

20

为您的地图画布div指定一个ID map_canvas

此引导提交包含max-width: noneID 的修复程序map_canvas(但不适用于mapCanvas)。


我认为在v2.2.2中仅更改ID是必要的
jacktrades

我在css文件中找不到此类ID
Muhaimin

@robd:出于好奇,为什么除了map_canvas以外,它不起作用。
ArunRaj 2014年

@ArunRaj,因为引导程序中的修复程序已硬编码为#map_canvas ID(请参阅链接的提交)。无论如何,考虑到它已经使用了将近2年,这个答案可能已经过时了。
2014年

11

这些答案都不对我有用,因此我进入了div并查看了它的子级,我看到了一个新的div,其类别为“ gm-style”,因此将其放在CSS中:

.gm-style img {
    max-width: none;
  }

  .gm-style label {
    width: auto; display:inline;
  }

..那为我解决了问题。


+1这是我修复怪异的“缩放”控件的唯一答案。(引导程序2)
philfreo

也为我工作。好发现:)
jeje 2014年

谢谢,也为我工作。对我来说,修复奇怪的“缩放”控件的唯一答案。(与Foundation 5一起)
Steffi 2015年

3

您想通过使用max-width覆盖CSS部分中的max-width规则:none; 这似乎是解决此问题的方法


2

使用gmap4rails gem更改#MapCanvas对我们不起作用,但是当我们更改为

.map_container img {
    max-width: none;
}

.map_container label {
    width: auto; display:inline;
}


1

最新的twitter bootstrap 2.0.4直接包含此修复程序。

如果要将内容包装在Twitter引导程序演示页面中的a(div class =“ container”)中,则应添加style =“ height:100%”


1

在任何浏览器中使用“打印”来打印地图也存在问题。该img { max-width: 100% !important; }不会是固定由上面的代码:您需要添加一个!important像这样的声明:

@media print {
  img {
    max-width: auto !important;
  }
}

0

我还必须关闭box-shadow,并且由于包含顺序的原因,我添加了!important标志。

#mapCanvas img {
    max-width: none !important;
    box-shadow: none !important;
}

1
这对我有用。如果您要投票否决某人,则应至少说出原因。
Redtopia 2014年

0

所有答案均为max-widht:none

对我来说,最大高度:继承有效.....

人们正在使用#map,#map_canvas等。查看您的父级div。如果是蓝色,则它将是#blue img {}

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.