#html #css #flexbox
#HTML #css #flexbox
Вопрос:
У меня проблема с помещением <p>
<nav>
рядом с <div>
«s», которые находятся в столбцах в гибком поле. Как я могу добиться этого без каких-либо фреймворков, таких как Bootstrap?
Вот код:
<nav>
<div><a href="">O mnie</a></div>
<div><a href="">Moje projekty</a></div>
<div><a href="">Galeria</a></div>
<div><a href="">Kontakt</a></div>
<p>tekst tekst</p>
</nav>
nav
{
display: flex;
flex-direction: column;
align-items: center;
}
nav div
{
padding: 30px;
margin: 10px;
box-shadow: 0px 5px 15px rgba(0,0,0,.5);
text-align: center;
width: 300px;
}
nav p
{
margin-left: auto;
margin-top: auto;
}
Ответ №1:
Если вы хотите, чтобы они были рядом друг с другом, вам нужно установить значение flex-direction
to row
и, если вы хотите, чтобы они имели одинаковую ширину, присвоить всем дочерним элементам в вашем гибком контейнере width
значение of 100%
.
Смотрите пример в Codepen: https://codepen.io/EinLinuus/pen/WNxvwbo
Ответ №2:
Если я правильно понимаю, вам нужны элементы навигации и
тег должен быть рядом.
если вы хотите добиться этого, вы можете обернуть ‘s в свой собственный раздел и применить flex-direction: row; к
nav
{
display: flex;
flex-direction: row;
align-items: center;
}
nav div
{
padding: 30px;
margin: 10px;
box-shadow: 0px 5px 15px rgba(0,0,0,.5);
text-align: center;
width: 300px;
}
.main {
display: flex;
flex-direction: column;
}
<nav>
<section class="main">
<div><a href="">O mnie</a></div>
<div><a href="">Moje projekty</a></div>
<div><a href="">Galeria</a></div>
<div><a href="">Kontakt</a></div>
</section>
<p>tekst tekst</p>
</nav>
Я надеюсь, что это то, что вам нужно. Если обратите внимание, можете ли вы объяснить немного больше о том, чего вы хотите достичь?
Комментарии:
1. Спасибо за ваш ответ. Эти разделы в nav я хотел бы иметь наверняка с помощью flex-direction: column. Проблема в том, что я не могу поместить <p> рядом с первым div, потому что <p> все еще находится в столбце flex-direction:, и я никак не могу это изменить,
2. Я думаю, что код, который я вам дал, достигает того, что вы ищете. Если вы хотите, чтобы тег <p> находился рядом с первым <div> в вашем <nav>, тогда вы можете выровнять-items: flex-start; вместо центра. codepen.io/c-tregunna/pen/qBNdZEQ
3. Извините, но нет. Но я нашел ответ. Я не могу добиться этого с помощью flex box. Вы можете увидеть это в начале этого видео: youtube.com/watch?v=RSIclWvNTdQ . Я хотел иметь один большой div рядом с другим, несколько меньшим, как в css grid.