JavaScript

Как правильно выравнить блоки?

У блока a отступ слева 150px, но var cLeft = a.offsetLeft; выдает 158
https://jsfiddle.net/p84ofdwz/10/
Андрей Неуймин
Андрей Неуймин
56 622
Добавь в цсс:

*{margin:0}
Вадим Зюлин
Вадим Зюлин
25 888
Лучший ответ
Берёшь значить уровень отвес натягиваешь нитку И складываешь блоки Есть в CSS такие вещи как padding и margin их неплохо бы обнулять А теперь по существу

var left = window.getComputedStyle(a).marginLeft;//даёт относительную позицию родителя
b.style.marginLeft = left;
var cLeft = a.offsetLeft;//даёт абсолютную позицию
c.style.marginLeft = cLeft + 'px';
alert(left);
alert(cLeft);
Так что если не понял выше сказанное и в чём фишка ставь вначале скрипта document.body.style.margin=0; и будет тебе счастье ...
Эта ты ещё блоки вряд не укладывал чтоб за пределы окна уходили ...
Я тут вчера свои Emoji решил встраивать в текст чужих страниц говоря простым языком замена юни кода на картинку если <img как бы просто остаётся только вычислить размер шрифта и имиджу задать теже размеры тогда картинка становится почти идеально правда пришлось похимичить с вертикальным алингом а то она уплывала слегка верх margin к сожалению тут не помощник Так как задача скажем с тремя неизвестными Но решил пойти дальше чтоб при копировании текста сохранялся и символ юни кода и вместо <img решил использовать контейнер типа <div или какой другой плюс картинку не так просто стащить пользователю ну заморочек на целый вечер ну всё успешно Протестил в хроме фоксе опере сафари ие едге и даже в пиано везде работает Так что некрасивые Emoji в браузерах а в некоторых они ещё и чёрно белые будут заменены на Красивые от эпла!!!


Геннадий Молев
Геннадий Молев
74 344
https://jsfiddle.net/lenskyuser/p84ofdwz/13/ вот же - всё ровно
Денис Берников
Денис Берников
66 671
Я думаю a это объект - в нем нет ничего кроме свойств. а вот если offsetLeft выдает 158, значит там было инициализировано значение 158))) задайте 150 и будет выдавать 150....Ну это мое мнение...