Я пытаюсь получить этот макет с помощью CSS, но самая близкая реализация, чтобы получить его от pinterest.com, но им нужен Javascript для фактического получения макета. Мне нужно знать, могу ли я сделать это без использования Javascript для вычисления позиции следующего элемента.Как создать этот макет с помощью CSS
ответ
Вы можете использовать CSS3 multi-column layouts. Содержимое распространяется внутри столбцов, таких как газета. Браузеры распространяют контент таким образом, чтобы все столбцы были одинаковыми (ish). Однако обратите внимание, что (i) содержимое отображается сверху вниз, слева направо (ii) the browser support is limited at the moment.
$("#button1").on("click", function() {
$("#container > div").height(function() {
return Math.floor(Math.random() * 300);
});
});
#container {
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
-webkit-column-gap: 1em;
-moz-column-gap: 1em;
column-gap: 1em;
}
#container > div {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid;
min-height: 100px;
border-bottom: 1em solid white;
background-color: powderblue;
}
#button1 {
position: absolute;
left: 0;
top: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div id="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
</div>
<input id="button1" type="button" value="Randomize box sizes">
Что касается размеров экрана: вы можете использовать запросы CSS медиа, чтобы контролировать количество столбцов. Например, вы можете выбрать 4 столбца на 1000px +, 3 столбца на 800px + и два столбца на меньших экранах.
Ты один, ты один! Большое спасибо, сэр. У меня есть ограничение, но это очень хорошая реализация. Большое спасибо. –
почти там http://caniuse.com/#feat=multicolumn !!!! –
Вам просто нужно иметь три плавающих контейнеров, например:
HTML:
<div class="container"></div>
<div class="container"></div>
<div class="container"></div>
CSS:
.container { float: left; width: 30%; }
, а затем добавить содержимое, strechted до 100% ширины.
<div class="container">
<div>1</div>
<div>4</div>
</div>
<div class="container"></div>
<div class="container"></div>
CSS:
.container > div { width: 100%; }
Это только простая идея, но если вы попробуете вы получите желаемые результаты.
@Curt Вы правы! Не обращать внимание на реальные цифры. – TheFrozenOne
проблема я думаю OPs HTML будет иметь все divs (от 1 до 6) в качестве братьев и сестер, если бы они могли разбить его на контейнеры, подобные этому, вероятно, не было бы вопроса об этом, но это также было бы полным предположением, поскольку никакой код не был предоставлен, чтобы вы может быть правильным – Pete
- 1. Как создать этот конкретный макет с помощью html и css?
- 2. Как построить этот макет с помощью CSS?
- 3. Как создать этот макет?
- 4. Как создать этот макет
- 5. CSS beginner, помогите создать этот макет?
- 6. Как создать этот вид (макет)
- 7. Как сделать этот отзывчивый макет с помощью CSS?
- 8. Как создать этот вид (макет)?
- 9. Как выполнить этот макет с помощью CSS и HTML?
- 10. Как построить этот макет с помощью GridView?
- 11. Как сделать этот макет с помощью flexbox?
- 12. Как создать этот макет в Android?
- 13. Как сделать этот макет в CSS?
- 14. Как мне сделать этот макет CSS?
- 15. Как выполнить этот макет в HTML/CSS?
- 16. Как создать divs как этот рис с помощью css
- 17. Как создать этот макет в Android?
- 18. Как создать этот макет в Android?
- 19. Как изменить этот макет таблицы на макет css?
- 20. Как закодировать этот макет HTML?
- 21. Как создать этот макет в коде Android?
- 22. Как пометить плиточный макет с помощью CSS?
- 23. Как создать этот тип элемента с помощью XHTML и CSS?
- 24. Как создать этот фон на моей странице с помощью css
- 25. Программно реплицировать макет CSS с помощью PHP
- 26. Как создать эхо-макет с помощью Moq?
- 27. Java как создать макет с помощью GridBagLayout?
- 28. CSS - нужно расположить этот макет img
- 29. Как создать этот градиент с помощью CSS3?
- 30. Как получить этот макет?
Сообщение, связанное с кодом, является началом. –
есть google для jquery masonry, я думаю, что вы сделаете то, что вы после – Pete
Посмотрите [здесь] (http://sickdesigner.com/masonry-css-getting-awesome-with-css3/) – APAD1