Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Icon not centered on mobile #97

Open
delimmy opened this issue Mar 29, 2020 · 6 comments
Open

Icon not centered on mobile #97

delimmy opened this issue Mar 29, 2020 · 6 comments

Comments

@delimmy
Copy link

delimmy commented Mar 29, 2020

Icon looks centered on desktop but is pushed to the right on mobile (iPhone X)

Screen Shot 2020-03-29 at 12 25 33 AM

const ezButton = L.easyButton('<span style="font-size:2em; line-height:26px; color:#FF3D2D;">&hearts;</span>', function (btn, map) {
})

Any ideas how to fix?

@atstp
Copy link
Contributor

atstp commented Mar 30, 2020

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?

@kitchensjn
Copy link

kitchensjn commented Apr 30, 2020

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;">&hearts;</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!

@sonfire186
Copy link

I found the same problem on desktop computers

@sonfire186
Copy link

sonfire186 commented May 24, 2020

#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);

@dgva
Copy link

dgva commented Aug 25, 2021

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.

@F4FXL
Copy link

F4FXL commented Mar 4, 2024

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;
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants