Задать вопрос
@MercRank

Как реализовать расположение элементов внутри flexbox?

Допустим есть родительский flexbox блок, внутри него еще два блока. Как реализовать размещение двух элементов внутри родительского блока таким образом, чтобы один из них прилипал к левому краю, а другой с противоположной стороны к правому краю. Но с учетом того факта что блок который должен прилипать к правому краю не имеет статичного размера.

Выглядит это вот так:
636b815d1446c247033957.png

Выравнивание блоков внутри flexbox по свойству justify-content: start;
Правый блок сдвинут направо относительно левого с помощью margin-left: 126vh;

Левый блок расположен нормально, но как можно видеть в правом блоке есть надпись Loggen in as ..... и ник пользователя.
Так вот ник может быть разной длины, и соответственно когда он чуть длиннее, то правый блок начинает упираться в край экрана и внутри него все начинает налезать друг на друга, а когда ник короче, то справа образуется зазор. А задача чтобы правый блок всегда был расположен на фиксированном расстоянии от правого края экрана вне зависимости от его размера. Как такое правильно реализовывается? Может вообще без flexbox?
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
noder_ss
@noder_ss
Линуксоид-энтузиаст и SQL разработчик
В данном случае тут space-between, но можете посмотреть, что для вас красивее:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="hat">
        <div><p>Main</p>
        <p>Contacts</p>
        <p>Shop</p></div>
    
    <div>
        <button>JustBtn1</button>
        <button>JustBtn1</button>
    </div>
    </div>
    <button class="around">space-around</button>
    <button class="between">space-between</button>
    <button class="evenly">space-evenly</button>
</body>
<style>
    *{
        margin: 0;
        padding: 0;
    }
    .hat{
        width: 100%;
        height: 80px;
        display: flex;
        
        background: rgb(255, 124, 124);
        align-items: center;
        justify-content: space-between;

            }
            .hat div{
                display: flex;
                width: 200px;
                justify-content: space-around;
            }
</style>
<script>
    let hat = document.querySelector('.hat')
    let between = document.querySelector('.between')  
     let around = document.querySelector('.around')  
      let evenly = document.querySelector('.evenly')
      between.onclick = function(){
          hat.style.justifyContent = 'space-between'
      }
      around.onclick = function(){
          hat.style.justifyContent = 'space-around'
      }
      evenly.onclick = function(){
          hat.style.justifyContent = 'space-evenly'
      }
</script>
</html>

636b8966f1d10936973476.png
Ответ написан
Комментировать
SPART4K
@SPART4K
Middle Front-end Developer (Vue.js/Nuxt.js)
Родителю justify-content: space-between и убери margin-left
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы