【发布时间】:2018-04-27 10:07:15
【问题描述】:
我需要根据查看者使用的是移动设备还是桌面设备来更改在我的base.html 模板(包含我的导航栏和其他常见元素)中应用于我的主{% block content %} 的左边距。
我现在的base.html 是这样的:
<div class="content container-fluid">
<div class="row">
<div class="col-md-8">
{% block content %}
{% endblock %}
</div>
</div>
</div>
使用包含以下内容的 css 文件:
.content {
margin-left: 40px;
}
.content_mobile {
margin-left: 10px;
}
鉴于在我的应用程序的其他部分,我已经通过使用以下专用的 Bootstrap 类完成了类似的事情,我的第一个想法是使用类似的东西来做同样的事情:
<div class=".visible-xs-block, hidden-xs">
<div class="content container-fluid">
<div class="row">
<div class="col-md-8">
<!-- This is hidden from mobile view -->
{% block content %}
{% endblock %}
</div>
</div>
</div>
</div>
<div class=".visible-lg-block, hidden-lg .visible-md-block, hidden-md .visible-sm-block, hidden-sm">
<div class="content_mobile container-fluid">
<div class="row">
<div class="col-md-8">
<!-- This is hidden from all other views (including desktop) -->
{% block content %}
{% endblock %}
</div>
</div>
</div>
</div>
但是 Django 引发了一个异常,因为它每个模板只能渲染 1 个{% block content %}!
有什么想法可以在不使用多个块的情况下做到这一点吗?
【问题讨论】:
-
使用媒体查询@media (max-width: 480px) {margin-left: 10px;}
-
感谢维克马瑟的建议!这应该放在我的 CSS 的 .content { 部分还是单独一行?
标签: css django twitter-bootstrap twitter-bootstrap-3 django-templates