Javascript 自定义传单中的放大/缩小按钮

Javascript 自定义传单中的放大/缩小按钮,javascript,css,leaflet,Javascript,Css,Leaflet,我正在尝试自定义缩放控件(+/-),因此它应该像谷歌地图一样出现在右侧() 我尝试添加float:right但它不起作用 从CSS文件: /*缩放控制*/ .传单控件放大, .单张控件缩小{ 字体:黑体18px‘Lucida控制台’,摩纳哥,monospace; 文本缩进:1px; } .单张控件缩小{ 字体大小:20px; } .传单触摸。传单控制放大{ 字体大小:22px; } .传单触摸。传单控制缩小{ 字体大小:24px; } 您的放大/缩小控件被绝对定位元素包装为left:0(由于.

我正在尝试自定义缩放控件(+/-),因此它应该像谷歌地图一样出现在右侧()

我尝试添加
float:right但它不起作用

从CSS文件:

/*缩放控制*/
.传单控件放大,
.单张控件缩小{
字体:黑体18px‘Lucida控制台’,摩纳哥,monospace;
文本缩进:1px;
}
.单张控件缩小{
字体大小:20px;
}
.传单触摸。传单控制放大{
字体大小:22px;
}
.传单触摸。传单控制缩小{
字体大小:24px;
}

您的放大/缩小控件被绝对定位元素包装为
left:0
(由于.float-left类),因此
float:left
没有帮助,您可以通过将
left:0
覆盖
right:0
,或将
.float-left
类更改为
。float-right

但更正确的方法是使用提供的api

//disable zoomControl when initializing map (which is topleft by default)
var map = L.map("map", {
    zoomControl: false
    //... other options
});

//add zoom control with your options
L.control.zoom({
     position:'topright'
}).addTo(map);
见更新

可以找到您使用的库的api参考,当前您可以使用:

var map = L.map('map', {
  zoomControl: true
});
map.zoomControl.setPosition('topright');

但它是有限的!我想控制位置(位置:'topright'),但填充顶部30像素?我该怎么做呢?正如我所说,你的控件被包装在绝对定位的元素中,例如,如果是'topright',它将具有.leafleft-right类,因此你只需在cssI中添加类似于
top:30px
的内容,几周后就可以使用相同的内容了。感谢您指出,实际上这会删除控件并使用正确的位置重新创建它。公认的答案更好。但这个答案帮助我理解了API。你知道为什么不能将它们链接在一起吗?因为我看到了许多关于自定义控件在传单中的位置的问题,这里有一个简单的CSS方法:Use.ployate top{padding top:50px;}。这将使缩放控件和图层控件向下偏移。您可以使用它们的位置来分别瞄准它们。