Я работаю над веб-сайтом, который служит галереей для фантастического искусства, развивающегося проекта, и в настоящее время я попал в баррикаду, куда идти от чего-то, с чем я не могу работать. Я попробовал масонство и Вукмарк, и у меня были проблемы с обоими, поэтому я пытаюсь сделать что-то еще. Я хочу, чтобы появляться в div или span (я не уверен, что использовать) в пределах grid
с идентификатором класса images
и устанавливать их фоны на определенные источники изображений, которые «покрывают», центрируются, поэтому я в основном имею сетку квадратные окна в эти изображения, и при нажатии на них появляется лайтбокс (который я успешно создал). Прямо сейчас мне удалось получить изображения, чтобы показать, но контейнеры сглажены и не имеют прокладки влево или вправо.Как создать сетку элементов (divs/spans) в идеальных квадратах с их фонами, установленными на изображения
По правде говоря, я понятия не имею, что делать с параметрами относительного/абсолютного позиционирования и встроенного/блочного отображения, и я чувствую, что именно здесь я ошибаюсь, но я не знаю, что это за вещи ,
Сегмент HTML:
<div id="grid" class="grid"></div>
<br>
CSS:
.grid {
z-index:2;
display: inline-block;
}
.images {
display:inline-block;
position:relative;
width:25%;
height:25%;
z-index:2;
padding-right: 0.25em;
padding-left: 0.25em;
padding-top: 0.5em;
background-size: cover;
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center;
}
Javascript:
var mix = shuffle(Object.keys(backInfo));
function unlockImages() {
setTimeout(function() {
if (mix !== undefined) {
var input = mix.shift();
var entry = backInfo[input];
var elem = document.createElement("div");
elem.setAttribute("class", "images");
elem.setAttribute("id", input);
elem.setAttribute("title", entry.caption);
elem.setAttribute("onclick", "javascript:changeImage(" + input + ");");
document.getElementById("grid").appendChild(elem);
document.getElementById(input).style.backgroundImage = "url(" + entry.image + ")";
$("#" + input).fadeTo(0,0);
$("#" + input).fadeTo(20000,1);
unlockImages();
}
}, 0)
}
И предварительный просмотр того, что происходит в данный момент: http://www.dreamquest.io
Определенно, где-то с этим ответом. Спасибо. Я теперь исправил проблему с маржей и даже получил изображения, чтобы получить нужный размер, я полагаю, мне просто нужно выяснить, как заставить их перестать находиться в одном столбце и получить их в строки. – resriel
Вам нужно будет немного поиграть с css. Теперь у вас есть ширина и высота на 100%. Если вы уменьшите его до 20%, тогда встроенный блок автоматически упорядочит его в строки. – utxin
В случае, если вы не знали, самый простой способ играть с css - использовать консоль разработчика Chrome, доступную, щелкнув правой кнопкой мыши по странице и щелкнув по проверке. Затем на правой панели вы можете играть со стилями. – utxin