Я пытаюсь следовать руководству о том, как иметь нижний колонтитул, который отображается внизу страницы, если недостаточно содержимого для заполнения страницы, ИЛИ он останется внизу содержимого, если содержимое превышает область просмотра .
Эта страница как пара альтернатив: https://css-tricks.com/couple-takes-sticky-footer/
Я пытаюсь следовать гибкому (я думал, что он самый современный / простой, исправьте меня, если я ошибаюсь).
Я думаю, единственное отличие моего веб-приложения в том, что я также использую панель навигации от response- bootstrap, которая может мешать моему результату.
моя проблема в том, что когда содержимого недостаточно, нижний колонтитул не прилипает к низу.
что мне не хватает, чтобы это исправить? Я открыт для других подходов
Мой основной код:
<div className="App">
<div id="home">
<img src="images/logo.png" alt="logo" className="Logo"/>
</div>
<NavigationBar onSearchChange={OnSearchChange} />
<div className='Content'>
<button onClick={AddCard}>Add Content</button>
<ECardList {...{ecards: ecards, filters:filters}} />
</div>
<div className='Footer'>
© Copyright 2010-{(new Date().getFullYear())}
</div>
</div>
, а мой css это:
.App {
background-color: #000000;
background-image: url('../images/background.png');
background-repeat: repeat;
display: flex;
flex-direction: column;
height: 100%;
}
#Home {
flex: 1 0 auto;
}
.Logo {
height: 15vmin;
pointer-events: none;
}
.Content {
padding: 10px 0px 10px 0px;
flex: 1 0 auto;
}
.Footer {
background-color: rgba(0, 0, 0, 0.6);
padding-top: 1px;
text-align: center;
color: rgba(119, 119, 119, 1);
height:21px;
width:100%;
font-size: 12px;
font-family: Arial, Helvetica, sans-serif;
flex-shrink: 0;
}
img {
max-width: 100%;
height: auto;
width: auto\9; /* ie8 */
}
.dropdown-menu {
max-height: 300px;
overflow-y: scroll;
}
.navbar {
box-shadow: inset 0px -2px 10px 0px rgba(0, 0, 0, 0.2),
inset 0px 2px 10px 0px rgba(0,0,0,0.2);
}
, а моя панель навигации просто один из примеров, оставшихся вверху от response- bootstrap, но я думаю, что это тот, который вызывает мою проблему, это полный код:
import React from 'react'
import {Navbar, Nav, Form, FormControl } from 'react-bootstrap'
import { INavigationBarProps } from '../../types/INavigationBarProps'
const NavigationBar = (props: INavigationBarProps) => {
return <Navbar bg="light" expand="lg" sticky="top">
<Navbar.Brand href="#home">React-Bootstrap</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link href="#home">Home</Nav.Link>
</Nav>
<Form inline>
<FormControl type="text" placeholder="Search..." className="mr-sm-2" onChange={props.onSearchChange}/>
</Form>
</Navbar.Collapse>
</Navbar>
}
export default NavigationBar