Обновлено - жесткие позиции
.section
должны иметь position
равным relative
, чтобы указать, что absolute
позиционированные дочерние элементы привязаны к нему. Затем вы можете попытаться использовать проценты, чтобы убедиться, что местоположение дочерних элементов остается в пределах .section
в разных видовых экранах.
Однако невозможно обеспечить, чтобы позиционированные элементы absolute
сохраняли намеченные позиции, не перекрывая другие элементы. на окнах разного размера при использовании исключительно встроенных стилей и абсолютных позиций.
Если вам необходимо использовать абсолютное позиционирование, вам потребуется создать идентификаторы для каждого .post-it
, который вы жестко закодировали в HTML. Затем в вашем styles.css
укажите медиазапросы для разных размеров области просмотра.
Я сделал демонстрацию медиазапросов и абсолютных позиций здесь: https://codepen.io/sevanbadal/pen/ExjBKEg
Это очень утомительно, потому что вы должны жестко кодировать новые id
s для каждого .post-it
. Затем в CSS вы добавляете идентификатор к каждому указанному вами медиазапросу.
Исходный ответ - с использованием гибких макетов
Вы можете использовать CSS Flexbox раскладка. Подробности смотрите в документации по Mozilla CSS Flexbox.
Для вашей проблемы примените flex к своему классу "section". Затем используйте justify-content для настройки того, как произвольное количество элементов div будет отображаться внутри макета flex. Flex-wrap также можно использовать для разбиения содержимого flex-макета на несколько строк.
Возможно, вы захотите удалить / изменить отступ от .post-it.
Попробуйте это код на .section:
.section{
width: 100%;
height: 1000px;
background-repeat: repeat-y;
background-size:contain;
background-color: #8B8B8B;
display: flex;
flex-wrap: wrap;
}
И это для .post-it
.post-it{
height: 100px;
width: 100px;
font-family: 'Monte', sans-serif;
font-size: 25;
}