html - Openlayer弹出位置是底部中心

标签 html css popup openlayers-3

您好,我正在使用 OpenLayers 3 弹出窗口,我试图将弹出窗口位置居中放置在我单击宽度和高度的位置的底部中间,但我找不到该怎么做...

我想要动态的东西,而不是基于预定义的高度和宽度。

我基于openlayers 3的例子创建了一个JSfiddle

DEMO

如果 left:50%; 有效,那会很简单,但因为它是 position:absolute,所以它没有任何效果。

.ol-popup {
  position: absolute;

  ...

  //left:-50%; Doesn't work so I don't know what to do
  left: -50px;
  min-width: 250px;
}

感谢您的回答

最佳答案

应该这样做:

overlay.on('change:position', function(evt) {
  var width=document.getElementsByClassName('ol-popup')[0].offsetWidth;
  var centerX=-width/2;
  var position=[centerX,0];
  this.setOffset(position);
});

关于html - Openlayer弹出位置是底部中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34952173/

相关文章:

php - 为什么链接的顶部和底部有空白?

css - 在较小的屏幕上制作一个长的 antd 按钮来包装它的内容

html - 是否可以使用 html/css 来调整选择/选项保管箱的边距

javascript - 使用 AJAX 提交表单后重定向

javascript - 弹出窗口中的 Django 渲染模板

wpf - 如何正确地在我的 DataGridTemplateColumn.CellEditingTemplate 中放置一个弹出窗口?

php - 使用 PHP 从混合的纯文本和 HTML 文本创建 PDF

javascript - 如何在HTML中使用jquery或JS通过json获取图像

javascript - 在iOS中安装PWA时,我的HTML5视频播放器无法正常工作

html - Firefox 和 Internet Explore 上的内联 block 问题