свойство justify-content не работает

у меня есть странная проблема, с которой у меня проблемы. Поэтому я работаю над этим прототипом шаблона html5, который использует flexbox. Хотя я столкнулся с одной небольшой проблемой. Я пытаюсь создать небольшое пространство на боковой панели и в области содержимого шаблона, применив свойство "justify-content" к родительскому div. Хотя он не добавляет Это пространство между боковой панелью и областью содержимого. Я не знаю, что я делаю не так. Так что, если кто-то может мне помочь, это было бы здорово. Спасибо вперед!

вот мой html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="../scripts/javascript/responsive_drop_down.js"></script>
    <link href="../css/protoflexcss.css" rel="stylesheet" type="text/css" media="screen"/>
    <title>Welcome to My Domain</title>
</head>
<body>    
        <header>
            <h1>This is a placeholder <br />
                for header</h1>
        </header>
            <nav class="main">
                <div class="mobilmenu"></div>
                    <ul>
                        <li><a href="#">Home</a></li>
                        <li><a href="#">Video</a></li>
                        <li><a href="#">Pictures</a></li>
                        <li><a href="#">Audio</a></li>
                        <li><a href="#">Other Work</a></li>
                        <li><a href="#">About Me</a></li>
                        <li><a href="#">Contact Me</a></li>
                    </ul>    
            </nav>
            <div id="wrapper">
                <article class="content-main">
                    <section>
                        <h2>Heading goes here...</h2>
                        <time datetime="2014-05-21T02:43:00">Officialy Posted On May 21<sup>st</sup> 2:35 A.M.</time>
                        <p>Content will go here...</p>
                    </section>
                </article>
                <aside>
                    <p>More content soon...</p>
                </aside>
        </div>
        <footer>
                <div class="copyright">
                    <span>All rights reserved 2014.</span>
                </div>
            <nav class="foot">
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">Video</a></li>
                    <li><a href="#">Pictures</a></li>
                    <li><a href="#">Audio</a></li>
                    <li><a href="#">Other Work</a></li>
                    <li><a href="#">About Me</a></li>
                    <li><a href="#">Contact Me</a></li>
                </ul>
            </nav>
        </footer>               
   </body>
</html>

вот релевантный css:

#wrapper
{
display: flex;
flex-direction: row;
justify-content: space-around;
flex-flow: row wrap;
flex: 1 100%;
width:92.5%;
align-self: center;
padding-top: 3.5em;
padding-bottom: 2.5em;
margin: 0;
}

#wrapper article.content-main
{
flex: 6;
order: 2;
}

#wrapper article.content-main section
{
background-color: rgba(149, 21, 130, 0.61);
border: 2px solid #c31cd9;
padding: 0.9em;
}

#wrapper aside
{
flex: 1;
padding: 0.4em;
background-color: rgba(17, 208, 208, 0.56);
border: 2px solid #15d0c3;
position: sticky;
}

Примечание: Если кому-то нужен какой-либо другой фрагмент моего кода css, относящийся к любому из других элементов моего html, пожалуйста, дайте мне знать, и я с радостью добавлю его в вопрос.

3 ответов


justify-content только имеет влияние если космос выйденный сверх после того как ваши детали гибкого трубопровода изгибали для поглощения свободного космоса. В большинстве / многих случаев свободного места не останется, и действительно justify-content ничего не будет делать.

некоторые примеры, где это б иметь эффект:

  • если ваши гибкие элементы все негибкие (flex: none или flex: 0 0 auto), и меньше, чем контейнер.

  • если ваш гибкие элементы гибки, но не могут расти, чтобы поглотить все свободное пространство, из-за max-width на каждом из гибких элементов.

в обоих случаях,justify-content будет отвечать за распределение избыточного пространства.

в вашем примере, однако, у вас есть элементы flex, которые имеют flex: 1 или flex: 6 С max-width ограничения. Ваши гибкие элементы будут расти, чтобы поглотить все свободное пространство, и не останется места для justify-content чтобы сделать что-нибудь с.


этот ответ может быть глупым, но я потратил некоторое время, чтобы выяснить аналогичную проблему.

то, что случилось со мной я не set display: flex в контейнер. И конечно, justify-content не будет работать без этого свойства.


у меня была еще одна проблема, которая обманула меня на некоторое время при тематизации существующего кода из CMS. Я хотел использовать flexbox с justify-content:space-between но левый и правый элементы не были заподлицо.

в этой системе элементы плавали, и контейнер имел :before и/или :after снимите поплавки в начале или в конце. Поэтому эти трусливые :before и :after элементов display:none сделал свое дело.