我正在this的个人小项目中使用Django作为后端,并在前端进行引导。
Here,您可以找到显示我的问题的印刷品。 问题是:该列表在“ Diadema”项下面有一个项,但是我的页脚被覆盖,并且没有出现滚动条。
我是新手,可能不应该使用固定底部的页脚,而应该使用“始终位于页面底部”。
我没有找到这个问题的答案,请帮助我。
这里有一些有用的文件:
.custom-link {
color: #ffffff;
}
a:visited{
color: #ffffff;
}
a:hover{
color: #a3a3a3;
}
a:active{
color: #a3a3a3;
}
.custom-footer {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: #00702e;
color: white;
text-align: center;
}
.footer-row-1{
padding-top: 3px;
padding-bottom: 13px
}
.footer-row-2{
padding-top: 10px;
}
{% extends "base.html" %}
{% load static %}
{% block title %}
<title>Listagem | Aliens </title>
{% endblock %}
{% block navbar %}
<div class="collapse navbar-collapse justify-content-between" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="{% url 'aliens:home' %}">Home <span class="sr-only"></span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'aliens:register' %}">Cadastro</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="{% url 'aliens:alien_list' %}">Listagem</a>
</li>
<li class="nav-item ">
<a class="nav-link " href="{% url 'aliens:alien_counter' %}">Sumário</a>
</li>
</ul>
</div>
{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row"><div class="col"><br><br></div></div>
<div class="row">
<div class="col-3"></div>
<div class="col-6">
<table class="table table-bordered table-hover ">
<thead align="center">
<th>Cidade</th>
<th>Estado</th>
<th>Data</th>
</thead>
{% for alien in aliens %}
<tr align="center">
<td>{{ alien.city }}</td>
<td>{{ alien.state_name }}</td>
<td>{{ alien.date }}</td>
</tr>
{% endfor %}
</table>
</div>
<div class="col-3"></div>
</div>
</div>
{% endblock %}
{% extends "base.html" %}
{% load static %}
{% block title %}
<title>Listagem | Aliens </title>
{% endblock %}
{% block navbar %}
<div class="collapse navbar-collapse justify-content-between" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="{% url 'aliens:home' %}">Home <span class="sr-only"></span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'aliens:register' %}">Cadastro</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="{% url 'aliens:alien_list' %}">Listagem</a>
</li>
<li class="nav-item ">
<a class="nav-link " href="{% url 'aliens:alien_counter' %}">Sumário</a>
</li>
</ul>
</div>
{% endblock %}
{% block content %}
<div class="container-fluid">
<div class="row"><div class="col"><br><br></div></div>
<div class="row">
<div class="col-3"></div>
<div class="col-6">
<table class="table table-bordered table-hover ">
<thead align="center">
<th>Cidade</th>
<th>Estado</th>
<th>Data</th>
</thead>
{% for alien in aliens %}
<tr align="center">
<td>{{ alien.city }}</td>
<td>{{ alien.state_name }}</td>
<td>{{ alien.date }}</td>
</tr>
{% endfor %}
</table>
</div>
<div class="col-3"></div>
</div>
</div>
{% endblock %}
答案 0 :(得分:3)
display: flexbox
)此解决方案是如果您希望布局始终占据页面的全部空间。
html,
body {
height: 100%;
}
body {
margin: 0;
color: white;
display: flex;
flex-direction: column;
}
.content {
background-color: blue;
flex: 1 0 auto;
}
.footer {
background-color: red;
flex: 0 0 auto;
}
<div class="content">Body Content</div>
<div class="footer">Footer Content</div>
position: fixed
)您的问题是您使用了position: fixed
-这样做是将元素放在所有其他元素之上,就好像它没有嵌套在任何东西内部一样。如果需要这种情况,则需要一个固定高度的页眉和页脚,然后可以使用calc()
确定正文的允许大小。
以下是带有可滚动正文的示例:
body {
color: white;
margin: 0;
}
.header {
height: 50px;
background-color: blue;
}
.body {
height: calc(100vh - 50px - 75px);
overflow: auto;
background-color: red;
}
.body .body-content {
height: 2000px;
position: relative;
}
.body .body-content .body-content-bottom {
position: absolute;
bottom: 0;
left: 0;
}
.footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 75px;
width: 100%;
background-color: green;
}
<div class="header">Header</div>
<div class="body">
<div class="body-content">
Body Content
<div class="body-content-bottom">You have reached the bottom!</div>
</div>
</div>
<div class="footer">Footer</div>
这也是一个带有静态标头的标签(请注意,在这种情况下标头 不需要为固定高度):
body {
color: white;
margin: 0;
}
.top {
overflow: auto;
max-height: calc(100vh - 75px);
position: relative;
}
.header {
background-color: blue;
}
.body {
background-color: red;
height: 2000px;
position: relative;
}
.body .body-content-bottom {
position: absolute;
bottom: 0;
left: 0;
}
.footer {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: 75px;
width: 100%;
background-color: green;
}
<div class="top">
<div class="header">Header</div>
<div class="body">
Body Content
<div class="body-content-bottom">You have reached the bottom!</div>
</div>
</div>
<div class="footer">Footer</div>