Flexbox display: flex
<style>
main{
width: 100%; height: 392px;
display: flex;
flex-direction: column;
}
section input:checked ~ p{
display: none
}
.main > header,
.main > section,
.main > footer{
padding: .1em calc(50% - 329px);
text-align: justify;
hyphens: auto;
}
header{
text-align: center;
}
section {
flex: 1;
}
footer{
color: white;
background: #747e7f;
}
</style>
<main class="main">
<header>
<h1>Encabezado del sitio</h1>
</header>
<section>
<input id="con-2" type="checkbox" />
<label for="con-2"><b>Alternar contenidos</b></label>
<p>Tutoriales En Linea es un portal web de tutoriales, cursos, manuales, trucos, tips, novedades, video tutoriales, formas de ganar dinero online, entretenimiento y demás. También es un sistemas instructivos de autoaprendizaje que pretenden simular al maestro y muestran al usuario el desarrollo de algún procedimiento o los pasos para realizar determinada actividad...</p>
<p>Tutoriales En Linea es un portal web de tutoriales, cursos, manuales, trucos, tips, novedades, video tutoriales, formas de ganar dinero online, entretenimiento y demás. También es un sistemas instructivos de autoaprendizaje que pretenden simular al maestro y muestran al usuario el desarrollo de algún procedimiento o los pasos para realizar determinada actividad...</p>
<p>Tutoriales En Linea es un portal web de tutoriales, cursos, manuales, trucos, tips, novedades, video tutoriales, formas de ganar dinero online, entretenimiento y demás. También es un sistemas instructivos de autoaprendizaje que pretenden simular al maestro y muestran al usuario el desarrollo de algún procedimiento o los pasos para realizar determinada actividad...</p>
</section>
<footer>
<p>© 2019 TL</p>
<p>Trucos de CSS3 que necesita saber para el desarrollador web.</p>
</footer>
</main>



Comentarios