Подтвердить что ты не робот

Синтаксис: используйте переменную для значения css

Попытка сохранить прямоугольник вертикально внутри другого поля. Я знаю, что css, который может это сделать, но я бы предпочел использовать jquery, более надежный (?).

var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);

$(".Text").css({
    marginTop: 'vertAlign'
});

Не знаю, какую деталь мне не хватает. Выход должен быть в два раза меньше свободного пространства в пикселях.

ИЗМЕНИТЬ

Первоначально текстовым блоком был промежуток, содержащийся в div. У div была высота набора (в этом случае 140 пикселей), а текстовый блок, диапазон, был бы переменной высотой, исходя из того, сколько текста было в нем. Тем не менее, мне нужен этот текстовый блок для редактирования. Поэтому я изменил его на текстовую область. однако поведение для размеров текстовой области неудобно, и мне пришлось установить для него статическую высоту и ширину. Теперь высота этого текстового блока не является переменной, поэтому нет никакой разницы в высоте между ней и ее родительской, с которой можно получить интервал крайности. Что мне делать?

4b9b3361

Ответ 1

Удалить кавычки, окружающие vertAlign

$(".Text").css('margin-top', vertAlign);

Попробуйте приведенный выше код. Это должно помочь вам.

Ответ 2

необязательно, если вы хотите сделать несколько стилей:

var styles = {'margin-top':vertAlign,'property':100,'property':somevalue}
$(".Text").css(styles);

Ответ 3

var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);
$(".Text").css({
        margin-top: vertAlign + 'px'
    });

Вам нужно указать устройство, иначе ваш браузер не сможет определить, хотите ли вы пиксели или em или яблоки. Также вы можете выполнить некоторую проверку диапазона, вы не хотите, чтобы vertAlign был отрицательным.