#html #css #flexbox
Вопрос:
Я пытаюсь создать небольшие коробки внутри коробок, как показано ниже на изображении, но, похоже, не могу ничего переместить внутри элементов flexbox-элементов, я дошел до создания родительских и дочерних элементов, но проблема в том, чтобы манипулировать элементами внуков, как я хочу, чтобы они находились в разных положениях. Я очень новичок в этом, поэтому определенно делаю что — то не так… любые предложения будут высоко оценены!
![То, что я пытаюсь сделать...>» src=»https://i.stack.imgur.com/Xrw0o.png»></a></p>
<div>
<div>
<pre class=]()
/* Parent container */
.flexbox-container{
display: flex;
flex-wrap: wrap;
}
.flexbox-square {
width: 50px;
height: 50px;
background-color: red;
}
/* Child */
.flexbox-item {
display: inline-block;
width: 200px;
margin: 50px;
border: 3px solid black;
background-color: cadetblue;
}
/*Flexbox Items*/
.flexbox-item-1 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-2 {
min-height: 200px;
min-width: 200px;
align-self: auto;
}
.flexbox-item-3 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-4 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-5 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-6 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-7 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-8 {
min-height: 200px;
min-width: 200px;
}
<div class="flexbox-container">
<div class="flexbox-item flexbox-item-1">
<div class="flexbox-square flexbox-square-1"></div>
</div>
<div class="flexbox-item flexbox-item-2">
<div class="flexbox-square flexbox-square-2"></div>
</div>
<div class="flexbox-item flexbox-item-3">
<div class="flexbox-square flexbox-square-3"></div>
</div>
<div class="flexbox-item flexbox-item-4">
<div class="flexbox-square flexbox-square-4"></div>
</div>
<div class="flexbox-item flexbox-item-5">
<div class="flexbox-square flexbox-square-5"></div>
</div>
<div class="flexbox-item flexbox-item-6">
<div class="flexbox-square flexbox-square-6"></div>
</div>
<div class="flexbox-item flexbox-item-7">
<div class="flexbox-square flexbox-square-7"></div>
</div>
<div class="flexbox-item flexbox-item-8">
<div class="flexbox-square flexbox-square-8"></div>
</div>
</div>
Комментарии:
1. Просто используйте flexbox для flexbox-item
элементов, а затем измените содержимое по желанию. Flexbox не наследуется.
Ответ №1:
Это в основном все justify-content
, и align-items
, но я сохранил все это в flexbox в соответствии с вашим вопросом. Вы также можете использовать позиционирование.
/* Parent container */
.flexbox-container{
display: flex;
flex-wrap: wrap;
}
.flexbox-square {
width: 50px;
height: 50px;
background-color: red;
}
/* Child */
.flexbox-item {
display: flex;
align-items: flex-start;
width: 200px;
margin: 50px;
border: 3px solid black;
background-color: cadetblue;
}
/*Flexbox Items*/
.flexbox-item-1 {
min-height: 200px;
min-width: 200px;
}
.flexbox-item-2 {
min-height: 200px;
min-width: 200px;
justify-content: flex-end;
}
.flexbox-item-3 {
min-height: 200px;
min-width: 200px;
justify-content: flex-end;
align-items: flex-end;
}
.flexbox-item-4 {
min-height: 200px;
min-width: 200px;
align-items: flex-end;
}
.flexbox-item-5 {
min-height: 200px;
min-width: 200px;
justify-content: center;
align-items: center;
}
.flexbox-item-6 {
min-height: 200px;
min-width: 200px;
justify-content: center;
align-items: flex-end;
}
.flexbox-item-7 {
min-height: 200px;
min-width: 200px;
justify-content: center;
align-items: flex-end;
}
.flexbox-item-8 {
min-height: 200px;
min-width: 200px;
justify-content: flex-end;
}
.flexbox-square-7 {
margin-bottom: 10px;
}
.flexbox-square-8 {
margin-right: 10px;
margin-top: 10px;
}
<div class="flexbox-container">
<div class="flexbox-item flexbox-item-1">
<div class="flexbox-square flexbox-square-1"></div>
</div>
<div class="flexbox-item flexbox-item-2">
<div class="flexbox-square flexbox-square-2"></div>
</div>
<div class="flexbox-item flexbox-item-3">
<div class="flexbox-square flexbox-square-3"></div>
</div>
<div class="flexbox-item flexbox-item-4">
<div class="flexbox-square flexbox-square-4"></div>
</div>
<div class="flexbox-item flexbox-item-5">
<div class="flexbox-square flexbox-square-5"></div>
</div>
<div class="flexbox-item flexbox-item-6">
<div class="flexbox-square flexbox-square-6"></div>
</div>
<div class="flexbox-item flexbox-item-7">
<div class="flexbox-square flexbox-square-7"></div>
</div>
<div class="flexbox-item flexbox-item-8">
<div class="flexbox-square flexbox-square-8"></div>
</div>
</div>
Комментарии:
1. Я все это время целился не в тот элемент… создавал дополнительные классы div, когда в этом не было необходимости, теперь я это понимаю 🙂 большое вам спасибо!!
2. @jujuju199 без проблем! заботиться