Кажется, что FaceBook недавно изменил какой-то код - всякий раз, когда я нажимал «Нравится», содержимое переходило влево, портя пользовательский интерфейс. Никаких трюков CSS / JS не получилось. Я выбрал более простое решение: iframe .
УВЕДОМЛЕНИЕ - Хотя некоторые устройства уже поддерживают iFrames, не все мобильные устройства поддерживают. iFrames на самом деле старые и вообще не рекомендуются, но для меня это помогло.
Давайте возьмем из Facebook сценарий создания похожих сообщений по умолчанию и сгенерируем поле, подобное iFrame;
Нажмите здесь, чтобы создать кнопку лайка
Выберите стиль "Box_Count" со счетчиком сверху.
Когда вы нажимаете «Получить код», переходите к коду iFrame. Вы получите нечто похожее на это;
<iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.example.com&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&appId=1234567891011" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:45056px; height:90px;" allowTransparency="true"></iframe>
Теперь давайте закроем там div.
<div class="like_wrap">
<iframe (...)></iframe>
</div>
Дайте ему следующий CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
Теперь вы, вероятно, увидите левый верхний угол стойки. Теперь мы должны исправить iFrame. Дайте ему класс;
<iframe class="like_box" (...)> </iframe>
И сделайте так, чтобы он всегда был английским, добавив "& locale = en_US" к URL. Это сделано для предотвращения странных раскладок в других странах - на голландском языке это будет «Vind ik leuk», а на английском «Like». Я думаю, что все на каждом языке знают «Мне нравится», поэтому давайте придерживаться этого.
Теперь мы добавим еще немного CSS для like_box;
.like_box {
margin-top:-40px;
}
Итак, весь код выглядит так (я удалил app_id, так как он мне не нужен)
HTML:
<div class="like_wrap">
<iframe class="like_box"
src="//www.facebook.com/plugins/like.php?href=CURRENT-URL-ENCODED&send=false&layout=box_count&width=45056&show_faces=false&font&colorscheme=light&action=like&height=90&locale=en_US"
scrolling="no"
frameborder="0"
style="border:none; overflow:hidden; width:45056px; height:90px;"
allowTransparency="true"></iframe>
</div>
CSS:
.like_wrap {
width:55px;
height:25px;
overflow:hidden;
}
.like_box {
margin-top:-40px;
}
А теперь у меня приличная, маленькая, как коробка, которая отлично работает и не прыгает. Дайте мне знать, как это работает для вас, и если есть какие-то проблемы, с которыми вы сталкиваетесь.