Я использовал этот скрипт, чтобы получить ширину, а затем применить его к одному элементу:JQuery не получает правильную ширину
$(document).ready(function(){
$(".equal-height").each(function(){
var slideSize = $(this).outerWidth();
console.log(slideSize);
$(this).css({ "height" : slideSize + "px" });
});
});
Однако, по какой-то причине, есть элементы, которые иногда не получают соответствующая ширина и высота. Как вы можете видеть в этой скрипке: https://jsfiddle.net/cpfgtuzo/5/ последний элемент имеет правильные размеры, а остальные все выше их ширины. Я пытаюсь заставить их всех быть квадратными, и мне также нужно поддерживать старые браузеры.
Это только кажется проблемой, когда размер окна меньше, а четыре элемента складываются в 2 столбца.
Downvoters, Пожалуйста, обратите внимание. Решение работает должным образом. В чем проблема? –
Это сработало, но квадраты теперь немного слишком большие (хотя равные высоты и ширина велики). Вы можете видеть, что столбец не опускается до двух широких, но складывает каждый элемент на 1, поскольку они теперь слишком широки для стека. –
Это потому, что мы можем изменить размер окна просмотра в Jsfiddle, изначально div будет занимать 25% ширины, как вы уже упоминали, а затем мы устанавливаем высоту и ширину в пикселях, я чувствую, что при просмотре в браузере это должно быть хорошо. Также вы можете вызывать событие изменения размера окна и реструктурировать div, если вы чувствуете, что пользователи могут изменять размер окна. –