CSS: дайте div высоту, кратную числу?

div имеет наклоняемый фон. Высота этого div будет зависеть от его содержания. Мне нужно, чтобы div растягивался на несколько размеров фонового изображения.

например, фон представляет собой изображение 64x64. Итак, если высота div должна увеличиться, я хочу сделать это шагами 64px.

возможно ли это с помощью CSS? Я не нашел зацепок с помощью google. Спасибо, что уделили время!

3 ответов


насколько мне известно, это нельзя сделать в CSS, но вы, вероятно, могли бы решить его с помощью javascript. Если у вас есть доступ к jQuery:

$(function() {
    $div = $('#the_div_id');
    var remainder = $div.height() % 64;
    var newHeight = $div.height() + (64-remainder);
    $div.css('height', newHeight);
});

одним из решений (в зависимости от вашего конкретного случая) может быть использование нового background-size свойства CSS. Я оставил декларации отдельно для ясности:

div.yourDiv {
    background-image: url('yourImage.jpg');
    background-repeat: repeat;
    background-size: contain;
}

тогда, независимо от размера вас div, ваше изображение будет плитка отлично, не будучи отрезанным. Старые браузеры просто получат плиточное изображение, которое может быть или не быть проблемой.


каково содержание div? Похоже, вместо того, чтобы устанавливать размер div на правильное значение, вам нужно обратить внимание на контент - этот пост подробно некоторые довольно простые методы для реализации вертикального ритма, которые должны работать (т. е. используя высоту строки 64px)