【问题标题】:Django Template full width CSSDjango 模板全宽 CSS
【发布时间】:2018-12-06 21:22:33
【问题描述】:

我想将我的所有类别元素并排放置,但由于某种原因,我得到了两个并排的元素,然后新的一行开始,在左边我仍然有很多空间......

css

.category {
    float: left;
    width: 40%;
    margin-right: 3.33333%;
    margin-bottom: 3.33333%;
    padding: 15px;
    text-align: center;
    box-sizing: border-box;
    background: radial-gradient(white, white, whitesmoke);
    border-radius: 3%;

}

.categorycover {
    height: 100px;
    -webkit-box-reflect: below 8px -webkit-gradient(linear, right top, right bottom, from(transparent), to(rgba(255, 255, 255, 0.2)));
}

模板

{% block content %}
    {% for category in object_list %}
        <div>
            <span class="category">
                <img class="categorycover" src="/media/{{ category.cover }}">
                <h1>{{ category.title }}</h1>
                <p>{{ category.post_set.count }}Posted element(s)</p>
                <p>{{ category.description|readmore:10|linebreaksbr}}</p>
            </span>
        </div>
    {% endfor %}
{% endblock %}

我是否必须在其上放置一个 100% 页面宽度的 div 容器?任何提示都会有所帮助。

【问题讨论】:

    标签: html css django templates


    【解决方案1】:

    我可能会提供另一种方法。利用 Flexbox 的强大功能让项目很好地排成一排。

    {% block content %}
        {% for category in object_list %}
            <div class="container">
                <span class="category">
                    <img class="categorycover" src="/media/{{ category.cover }}">
                    <h1>{{ category.title }}</h1>
                    <p>{{ category.post_set.count }}Posted element(s)</p>
                    <p>{{ category.description|readmore:10|linebreaksbr}}</p>
                </span>
            </div>
        {% endfor %}
    {% endblock %}
    

    您的样式可以如下所示:

    .container{
    display:flex;
    flex-direction: row;
    justify-content: space-around; #or space-evenly
    }
    .category{
        padding: 15px;
    text-align: center;
    box-sizing: border-box;
    background: radial-gradient(white, white, whitesmoke);
    border-radius: 3%;
    }
    

    父容器 flexbox 样式将为您处理对齐以及边距间距。它非常适合水平或垂直对齐 div 中的项目。有关您可以使用的更多样式,请参阅本文:A Complete Guide to Flexbox

    【讨论】:

    • 这并不能解决问题。我试图解释目前我每行只有 2 个元素,但我每行至少有 5-6 个空间,但右边的空间没有被使用......
    • 你试过css吗?如果您有足够的空间,这应该适当地对齐单行上的项目。
    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 2014-06-10
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2013-10-12
    • 2012-01-10
    相关资源
    最近更新 更多