/ / Висота обчислюється різною між Chrome і Firefox? - javascript, css

Висота розраховується відрізняється між Chrome і Firefox? - javascript, css

Тож погляньте на www.qualificationcheck.com під Chrome і Firefox. Клавіша Alt швидко рухається туди-сюди, фокусуючись на цій маленькій зеленій вкладці "Довідка та відгуки".

Здається, рухається положення! Чому це?

Він включений стороннім файлом Javascript. Я розглянув його, щоб зрозуміти, як він обчислює своє положення.

Спочатку встановлюється top: 50% щоб отримати його приблизно на 50% шляху до області перегляду.

Потім встановлюється

margin-top: [ "-",Math.round(tab.dimensions.height / 2), "px" ].join("")

тобто мінус половина висоти вкладки, тому вона зсувається назад трохи вгору, тому "середина" її фактично становить 50% шляху вниз у вікні перегляду (а не "зверху").

За допомогою інструментів розробника Chrome, а потім Firebug у Firefox, я бачу, що в Chrome margin-top закінчується -33px, тоді як у Firefox це -87px.

Чому різниця?

Це дратує, тому що я хочу додати власну вкладку вище або нижче, але я не можу визначити, куди поставити власну вкладку, якщо я не можу покладатися на те, що стороння сторона постійно перебуватиме в одній позиції!

Відповіді:

1 для відповіді № 1

Вибачте хлопці, жодна з інших відповідей не допомогла.

Я вирішив це, в основному скопіювавши сторонній js, а потім налаштувавши його, щоб я міг розташувати його та свою нову вкладку разом як одну.

Отже, в основному це лише обхід, а не відповідь на питання.


0 для відповіді № 2

Спробуйте додати padding-top:? Px, і він повинен бути однаковим як для Firefox, так і для Chrome. Деякі люди в мережі повідомляють про подібну проблему з колапсом маржі (очевидно, не помилка):

http://www.sitepoint.com/forums/showthread.php?829681-CSS-margins-displaying-differently-on-Firefox-Ie-Chrome

Розбіжності між полями між Firefox та Chrome / Safari


0 для відповіді № 3

Firefox (і Chrome з недавнього часу) по-різному трактує поля та відступи. Значення полів та відступів є додано до висоти / ширини div. Ви можете це виправити (принаймні для FF), додавши це до свого css (поставте вгорі):

DIV {
-moz-box-sizing:border-box;
box-sizing:border-box;
}