Open delimmy opened 4 years ago
My hunch is that this is more of general styling issue than an EasyButton issue. I'm happy to help with what I can though.
I'd guess that this stems from putting a large/wide character into a smaller, square box.
If you set font-size:26px
(to match your line-height
), how is centering affected?
I'm probably late to this thread but just had to work through this myself:
const ezButton = L.easyButton(
'<span style="font-size:2em; line-height:26px; color:#FF3D2D;">♥</span>',
function (btn, map) {}
)
ezButton.button.style.padding = '0px';
This will remove the padding and allow your icon to be centered within the button. There may be a more elegant way of changing the button style when you initially create it. Hope this helps get you on the right track!
I found the same problem on desktop computers
https://github.com/CliffCloud/Leaflet.EasyButton/issues/48
function _fixEasyButtonSize(button) {
var buttonElement = button.button;
buttonElement.style.padding = '0px';
buttonElement.style.width = "26px";
buttonElement.style.height = "26px";
buttonElement.style.minWidth = "26px";
buttonElement.style.minHeight = "26px";
}
_fixEasyButtonSize(button);
For me, adding padding: 0;
directly to the CSS file, in the initial property, solves the issue:
.leaflet-bar button,
.leaflet-bar button:hover {
...
padding: 0;
}
In my case, i use a trick to place icons everywhere, using an extra CSS file and a function. But in the end, it results in the same problem as posted here, so even though they are slightly different situations, this solution should work for both.
I am using leaflet embeded into a Wordpress site. Had a similar issue. It turned out to be the Wordpress CSS setting some styles to the button. Adding this as an inline css solved the issue for me.
button.easy-button-button {
padding: unset !important;
font-size: unset !important;
font-weight: unset !important;
text-transform: unset !important;
-webkit-transition: unset !important;;
transition: unset !important;
}
Icon looks centered on desktop but is pushed to the right on mobile (iPhone X)
Any ideas how to fix?