Получить высоту div без набора высоты в css



есть ли способ получить высоту элемента, если нет набора правил высоты CSS для элемента, который я не могу использовать .метод height() jQuery, потому что сначала ему нужен набор правил CSS? Есть ли другой способ получить высоту?

497   4  

4 ответов:

jQuery .height возвращает высоту элемента. Он не нуждается в определении CSS, поскольку он определяет вычисленную высоту.

демо

можно использовать .height(),.innerHeight() или outerHeight() на основе того, что вам нужно.

enter image description here

.height() - возвращает высоту элемента исключает отступы, границы и поля.

.innerHeight() - возвращает высоту элемента включает в себя заполнение, но исключает границы и поля.

.outerHeight() - возвращает высоту div, включая границу, но исключает маржу.

.outerHeight(true) - возвращает высоту div, включая маржу.

Проверьте ниже фрагмент кода для демо. :)

$(function() {
  var $heightTest = $('#heightTest');
  $heightTest.html('Div style set as "height: 180px; padding: 10px; margin: 10px; border: 2px solid blue;"')
    .append('<p>Height (.height() returns) : ' + $heightTest.height() + ' [Just Height]</p>')
    .append('<p>Inner Height (.innerHeight() returns): ' + $heightTest.innerHeight() + ' [Height + Padding (without border)]</p>')
    .append('<p>Outer Height (.outerHeight() returns): ' + $heightTest.outerHeight() + ' [Height + Padding + Border]</p>')
    .append('<p>Outer Height (.outerHeight(true) returns): ' + $heightTest.outerHeight(true) + ' [Height + Padding + Border + Margin]</p>')
});
div { font-size: 0.9em; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="heightTest" style="height: 150px; padding: 10px; margin: 10px; border: 2px solid blue; overflow: hidden; ">
</div>

просто примечание в случае, если другие имеют ту же проблему.

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

можно сделать jQuery. Попробуйте все варианты .height(),.innerHeight() или .outerHeight().

$('document').ready(function() {
    $('#right_div').css({'height': $('#left_div').innerHeight()});
});

Пример Скриншот

enter image description here

надеюсь, что это помогает. Спасибо!!

также убедитесь, что div В настоящее время добавляется к DOM и видимого.

Comments

    Ничего не найдено.