Как сделать border, вокруг дочерних элементов?
Как можно на js или css добиться такого эффекта, интересует зеленый бордер
Дополнительно:
Давайте попробуем добавить скрин еще раз?
как-то так, но чёт там плохо отображается, но суть я думаю там понятна, если мастабировать, то оно нормально отобразиться, это видимо баг у codepen я хз
я вообще этот filter: drop-shadow, только для картинок применял) даже в голову не приходило для блока применить
<div class="wrapper"> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> </div> |
<div class="wrapper"> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> </div>
*{ box-sizing: border-box; } .wrapper{ margin: 50px auto; width: min-content; display: flex; flex-direction: column; filter: drop-shadow(0 0 1px red); } .block{ height: 100px; display: flex; width: min-content; gap: 0 10px; background: #fff; } .block:last-child{ padding-top: 10px; border-top: none; } .element{ width: 100px; height: 100%; border: 1px solid gray; } |
*{ box-sizing: border-box; } .wrapper{ margin: 50px auto; width: min-content; display: flex; flex-direction: column; filter: drop-shadow(0 0 1px red); } .block{ height: 100px; display: flex; width: min-content; gap: 0 10px; background: #fff; } .block:last-child{ padding-top: 10px; border-top: none; } .element{ width: 100px; height: 100%; border: 1px solid gray; }
Например, на десктопе их по 5 в линию, на планшете по 3 и остальные должны перемещаться в. т.е. обертка у них одна.
Походу без js, тут не сделать.
А что с адаптивом? Ну поместится другое количество блоков в строке. Для drop-shadow это не помеха.
Я пока не вижу проблемы.
Ну поместится другое количество блоков в строке
я написал решение - где не сетка через гриды например, которая может адаптироваться, у меня там получается вложенные блоки, и так просто из блока в блок через css не выйдет перекинуть квадратик, об этом автор хотел уточнить у меня, но у меня ответов нет которые бы подсказывали о том - как это реализовать через css, возможно есть у вас, вот и спрашиваю)
например
<div class="wrapper"> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> </div> |
<div class="wrapper"> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> <div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> </div>
есть ли идеи о том как реализовать этот бордер, если тут не будет например блоков с названием .block а просто будут идти элементы
то есть что бы было вот так
<div class="wrapper"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> |
<div class="wrapper"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div>
<div class="wrapper"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> гриды, флексы, что там удобнее и drop-shadow |
<div class="wrapper"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> гриды, флексы, что там удобнее и drop-shadow
Покажите, что у вас не получается при таком варианте?
https://codepen.io/Alex-Miranovich/pen/GRLmqgy
Ну логично. Вы задали drop-shadow для wrappera. Внутри него block с непрозрачным фоном. block занимает всю площадь wrapper'а => тень рисуется прямоугольная вокруг непрозрачной зоны.
drop-shadow - обертке элементов, сейчас это block. Просто попадите свойствами в нужный селектор
.block{ display: flex; flex-flow: row wrap; filter: drop-shadow(0 0 1px red); } .element{ width: 25%; height: 100px; border: 1px solid gray; background: #fff; } |
.block{ display: flex; flex-flow: row wrap; filter: drop-shadow(0 0 1px red); } .element{ width: 25%; height: 100px; border: 1px solid gray; background: #fff; }
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для создания границы вокруг дочерних элементов можно использовать свойство CSS - border. Это свойство позволяет добавить границу вокруг элемента, определяя ее толщину, стиль и цвет.
Прежде всего, необходимо убедиться, что у родительского элемента установлено свойство CSS - position: relative;. Это позволит нам корректно позиционировать дочерние элементы относительно родительского.
Затем, для каждого дочернего элемента, которому вы хотите добавить границу, вы можете использовать следующий CSS код:
.child-element { border: 1px solid #000; /* 1px - толщина границы, solid - стиль границы (сплошная), #000 - цвет границы (в данном случае черный) */ padding: 10px; /* Добавляет отступ вокруг содержимого элемента */ margin: 10px; /* Добавляет внешний отступ вокруг элемента */ }
Этот код установит границу толщиной 1 пиксель, сплошного стиля и черного цвета вокруг каждого дочернего элемента с классом .child-element. Вы также можете настроить толщину, стиль и цвет границы по вашему усмотрению.
Если вам нужно создать границу вокруг всех дочерних элементов одновременно, вы можете применить границу к родительскому элементу и добавить отступы для разделения границ между дочерними элементами.
Надеюсь, это поможет вам создать границу вокруг дочерних элементов на вашем веб-сайте. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.