One part of my HTML page must scroll - html

I am making a "simple" HTML page with most of it defined as fixed (as a position). But I only want one part to be scrollable (The #answers part).
At the end the entire page has to be in a fixed position and #answers must be scrollable.
I think it's enough explanation at this point but SO ask me to write more comments to explain :p. But sure if you have more questions I will go further.
Can you help ?
Here is the code :
// Set the date we're counting down to
var countDownDate = new Date("July 14, 2018 08:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="countdown"
document.getElementById("countdown").innerHTML = days.toString().padStart(2,"0") + ":" + hours.toString().padStart(2,"0") + ":"
+ minutes.toString().padStart(2,"0") + ":" + seconds.toString().padStart(2,"0") + "";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("countdown").innerHTML = "EXPIRED";
}
}, 1000);
#viewport{
zoom: 1.0;
width: extend-to-zoom;
}
#-ms-viewport{
width: extend-to-zoom;
zoom: 1.0;
}
html, body{
width: 100%;
height: 100%;
}
body{
width: 100%;
background-color: transparent;
background-image: url("./images/maa_countdown_bg.png"), url("./images/background_pattern.png");
background-position: center 230px, left top;
background-repeat: no-repeat, repeat;
background-attachment: fixed, fixed;
background-size: 100%, auto;
font-family: Sitka Display;
font-size:1.1em;
color:white;
}
header{
display: block;
width:100%;
height:233px;
position:fixed;
background-image: url("./images/block.png");
background-position: left top;
background-repeat: repeat;
background-attachment: fixed;
background-size: auto;
text-align: center;
}
header #name{
display:block;
font-size: 4.0rem;
font-family: 'Fipps', Arial, sans-serif;
padding: 30px 10px 35px 10px;
color:black;
}
header #countdown{
display:block;
margin:0 auto;
width:100%;
height:auto;
position:relative;
text-align:center;
background-color:black;
font-size:3.0rem;
}
section#page{
width:100%;
max-width:1000px;
height:auto;
display:block;
position:fixed;
top: 233px;
margin:0 auto;
left: 0;
right: 0;
padding: 10px 20px 40px 20px;
background-color: rgba(255, 255, 255, 0.7);
}
section#page #question{
background-image: none !important;
text-align:center;
font-size:calc(1.5rem + 1.5vw);
white-space: nowrap;
text-shadow: 2px 2px black;
padding:10px;
}
section#page #post{
}
section#page #post form table{
width:100%;
margin:0 auto;
}
section#page #post form textarea{
width:80%;
min-height:150px;
max-width:800px;
margin:0 auto;
display:block;
}
section#page #post form input{
width:auto;
margin:0 auto;
display:block;
}
section#page #answer{
}
#answers{
position:relative;
overflow:auto;
}
.answer{
padding: 10px 20px 10px 20px;
margin: 10px;
background-color:white;
color:black;
-webkit-border-top-left-radius: 15px;
-webkit-border-top-right-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-topleft: 15px;
-moz-border-radius-topright: 15px;
-moz-border-radius-bottomright: 15px;
-moz-border-radius-bottomleft: 5px;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
border-bottom-left-radius: 5px;
background-color: rgba(255, 255, 255, 0.8);
}
footer{
position:fixed;
width:100%;
height:30px;
background-color:black;
font-size:1.5rem;
text-align:center;
bottom:0px;
}
<header>
<span id="name">XXX</span>
<div id="countdown"></div>
</header>
<section id="page">
<div id="question">D'aprés vous, qu'est-ce que XXX ?</div>
<div id="post">
<form method="POST">
<table>
<tr>
<td><textarea name="answer"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Envoyer"/></td>
</tr>
</table>
</form>
</div>
<div id="answers">
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
</div>
</section>
<footer>Mentions légales</footer>
I want the answers to scroll behind the inputs part whithout any scrollbar :

To make your answer div scrollable you just have to do Two things:
Define some height to your answer div
Apply overflow:scroll property to answer div
This is what i did to answer div make it scroll. I applied css to Html itself you can use separate Css file to define these property:
<div id="answers" style = "height:300px;overflow:scroll">

I believe adding overflow: auto; style to your divs is what you need.

To make your answer div scrollable you just have to do Two things:
Define some height to your answer div
Apply overflow:scroll property to answer div
This is what i did to answer div make it scroll. I applied css to Html itself you can use separate Css file to define these property:
<div id="answers" style = "height:300px;overflow:scroll">
// Set the date we're counting down to
var countDownDate = new Date("July 14, 2018 08:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="countdown"
document.getElementById("countdown").innerHTML = days.toString().padStart(2,"0") + ":" + hours.toString().padStart(2,"0") + ":"
+ minutes.toString().padStart(2,"0") + ":" + seconds.toString().padStart(2,"0") + "";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("countdown").innerHTML = "EXPIRED";
}
}, 1000);
#viewport{
zoom: 1.0;
width: extend-to-zoom;
}
#-ms-viewport{
width: extend-to-zoom;
zoom: 1.0;
}
html, body{
width: 100%;
height: 100%;
}
body{
width: 100%;
background-color: transparent;
background-image: url("./images/maa_countdown_bg.png"), url("./images/background_pattern.png");
background-position: center 230px, left top;
background-repeat: no-repeat, repeat;
background-attachment: fixed, fixed;
background-size: 100%, auto;
font-family: Sitka Display;
font-size:1.1em;
color:white;
}
header{
display: block;
width:100%;
height:233px;
position:fixed;
background-image: url("./images/block.png");
background-position: left top;
background-repeat: repeat;
background-attachment: fixed;
background-size: auto;
text-align: center;
}
header #name{
display:block;
font-size: 4.0rem;
font-family: 'Fipps', Arial, sans-serif;
padding: 30px 10px 35px 10px;
color:black;
}
header #countdown{
display:block;
margin:0 auto;
width:100%;
height:auto;
position:relative;
text-align:center;
background-color:black;
font-size:3.0rem;
}
section#page{
width:100%;
max-width:1000px;
height:auto;
display:block;
position:fixed;
top: 233px;
margin:0 auto;
left: 0;
right: 0;
padding: 10px 20px 40px 20px;
background-color: rgba(255, 255, 255, 0.7);
}
section#page #question{
background-image: none !important;
text-align:center;
font-size:calc(1.5rem + 1.5vw);
white-space: nowrap;
text-shadow: 2px 2px black;
padding:10px;
}
section#page #post{
}
section#page #post form table{
width:100%;
margin:0 auto;
}
section#page #post form textarea{
width:80%;
min-height:150px;
max-width:800px;
margin:0 auto;
display:block;
}
section#page #post form input{
width:auto;
margin:0 auto;
display:block;
}
section#page #answer{
}
#answers{
position:relative;
overflow:auto;
}
.answer{
padding: 10px 20px 10px 20px;
margin: 10px;
background-color:white;
color:black;
-webkit-border-top-left-radius: 15px;
-webkit-border-top-right-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-topleft: 15px;
-moz-border-radius-topright: 15px;
-moz-border-radius-bottomright: 15px;
-moz-border-radius-bottomleft: 5px;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
border-bottom-left-radius: 5px;
background-color: rgba(255, 255, 255, 0.8);
}
footer{
position:fixed;
width:100%;
height:30px;
background-color:black;
font-size:1.5rem;
text-align:center;
bottom:0px;
}
<header>
<span id="name">XXX</span>
<div id="countdown"></div>
</header>
<section id="page">
<div id="question">D'aprés vous, qu'est-ce que XXX ?</div>
<div id="post">
<form method="POST">
<table>
<tr>
<td><textarea name="answer"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Envoyer"/></td>
</tr>
</table>
</form>
</div>
<div id="answers" style = "height:300px;overflow:scroll">
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
</div>
</section>
<footer>Mentions légales</footer>
// Set the date we're counting down to
var countDownDate = new Date("July 14, 2018 08:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now an the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Display the result in the element with id="countdown"
document.getElementById("countdown").innerHTML = days.toString().padStart(2,"0") + ":" + hours.toString().padStart(2,"0") + ":"
+ minutes.toString().padStart(2,"0") + ":" + seconds.toString().padStart(2,"0") + "";
// If the count down is finished, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("countdown").innerHTML = "EXPIRED";
}
}, 1000);
#viewport{
zoom: 1.0;
width: extend-to-zoom;
}
#-ms-viewport{
width: extend-to-zoom;
zoom: 1.0;
}
html, body{
width: 100%;
height: 100%;
}
body{
width: 100%;
background-color: transparent;
background-image: url("./images/maa_countdown_bg.png"), url("./images/background_pattern.png");
background-position: center 230px, left top;
background-repeat: no-repeat, repeat;
background-attachment: fixed, fixed;
background-size: 100%, auto;
font-family: Sitka Display;
font-size:1.1em;
color:white;
}
header{
display: block;
width:100%;
height:233px;
position:fixed;
background-image: url("./images/block.png");
background-position: left top;
background-repeat: repeat;
background-attachment: fixed;
background-size: auto;
text-align: center;
}
header #name{
display:block;
font-size: 4.0rem;
font-family: 'Fipps', Arial, sans-serif;
padding: 30px 10px 35px 10px;
color:black;
}
header #countdown{
display:block;
margin:0 auto;
width:100%;
height:auto;
position:relative;
text-align:center;
background-color:black;
font-size:3.0rem;
}
section#page{
width:100%;
max-width:1000px;
height:auto;
display:block;
position:fixed;
top: 233px;
margin:0 auto;
left: 0;
right: 0;
padding: 10px 20px 40px 20px;
background-color: rgba(255, 255, 255, 0.7);
}
section#page #question{
background-image: none !important;
text-align:center;
font-size:calc(1.5rem + 1.5vw);
white-space: nowrap;
text-shadow: 2px 2px black;
padding:10px;
}
section#page #post{
}
section#page #post form table{
width:100%;
margin:0 auto;
}
section#page #post form textarea{
width:80%;
min-height:150px;
max-width:800px;
margin:0 auto;
display:block;
}
section#page #post form input{
width:auto;
margin:0 auto;
display:block;
}
section#page #answer{
}
#answers{
position:relative;
overflow:auto;
}
.answer{
padding: 10px 20px 10px 20px;
margin: 10px;
background-color:white;
color:black;
-webkit-border-top-left-radius: 15px;
-webkit-border-top-right-radius: 15px;
-webkit-border-bottom-right-radius: 15px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-topleft: 15px;
-moz-border-radius-topright: 15px;
-moz-border-radius-bottomright: 15px;
-moz-border-radius-bottomleft: 5px;
border-top-left-radius: 15px;
border-top-right-radius: 15px;
border-bottom-right-radius: 15px;
border-bottom-left-radius: 5px;
background-color: rgba(255, 255, 255, 0.8);
}
footer{
position:fixed;
width:100%;
height:30px;
background-color:black;
font-size:1.5rem;
text-align:center;
bottom:0px;
}
<header>
<span id="name">XXX</span>
<div id="countdown"></div>
</header>
<section id="page">
<div id="question">D'aprés vous, qu'est-ce que XXX ?</div>
<div id="post">
<form method="POST">
<table>
<tr>
<td><textarea name="answer"></textarea></td>
</tr>
<tr>
<td><input type="submit" name="submit" value="Envoyer"/></td>
</tr>
</table>
</form>
</div>
<div id="answers">
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
<div class="answer">Je ne sais pas ce que c'est mais cela à l'air énorme !</div>
<div class="answer">Vivement le 14 Juillet pour en savoir plus sur ce concept... On reste un peu dans le brouillard mais bon... je vais prendre mon mal en patience.</div>
<div class="answer">J'imagine que ça sera un jeu ?!</div>
</div>
</section>
<footer>Mentions légales</footer>

Related

CSS - How to control fixed position

I added a Newsletter orange square to my webpage. At this moment, it moves whenever I start to scroll, but I want it to move only when it has reached the top of the scroll.
This is what it looks like:
webpage image
And this is what I've tried so far:
.head_image_container
{text-align: center;}
.head_image
{width: 60%;
margin-top: 80px;}
.newsletter
{position: fixed;
left: 62.2%;
top: 74%;
background-color: #FFAC3E;
padding: 30px 55px 30px 55px;
color: white;
font-family: "Poppins";
font-size: 17px;
font-weight: 500;}
.mail
{padding: 3px 2px 3px 2px;
border-style: none;
font-family: "Poppins";}
.submit
{padding: 5.2px 4px 5.2px 4px;
border-style: none;}
.articulo
{font-family: "Lato";
font-size: 19px;
color: #6A6A6A;
margin-left: 20%;
margin-right: 42%;
line-height: 27px;
text-align: justify;}
<div class="head_image_container">
<img class="head_image" src="imagenes/basico/compresion/compre.jpg"/>
</div>
<form class="newsletter">
<label for="mailID">Recibí nuestro Newsletter!</label><br><br>
<input type="text" id="mailID" class="mail">
<input type="submit" class="submit" value="Enviar">
</form>
<div class="articulo">
<p class="date">Jueves 9 de Enero, 2020</p>
<article>
¿Qué es un compresor? Según Wikipedia: “En el campo del sonido profesional, un compresor es un procesador
electrónico de sonido destinado a reducir el margen dinámico de la señal sin que se note demasiado su
presencia. Esta tarea se realiza reduciendo la ganancia del sistema, cuando la señal supera un determinado
umbral.”</br></br>
Ahora bien, es necesario tener ciertos cuidados al leer esta definición ya que es algo vaga y no del todo
acertada.</br></br>
Comencemos por tratar de entender el concepto de “rango dinámico”. Este refiere a la diferencia entre el
punto con el valor mínimo y el máximo de una señal de audio, medido en decibeles (dB). A mayor diferencia
entre ambos puntos, mayor rango dinámico.</br></br>
</article>
Try to do it with position: sticky and adjust top as u want..
u can see more here

CSS positioning problem flex-box grid with floating text

I try to have an aside, but i don't get an issue for the nav menu and the aside. The text would be around the float:left for the200x200 images. I would like to position well done like the image is. Can't float:left and grid-columns coexist together ?
The expected version
The actual code
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" http-equiv="Content-Type" content="text/html"/>
<title>Ma page</title>
<meta name="author" content="Erwan Dupeux-Maire" />
<meta name="keywords" content="html, xhtml, conception, creation de site web, realisation de site web, formation, cours" />
<meta name="description" content="Support du cours de conception et réalisation de sites Web en XHTML" />
<link href="style.css" rel="stylesheet">
</head>
<body>
<header class="header">
<nav class="nav">
<ul class="ul">
<li ><a class="accueil" href="index.html">Accueil</a></li>
<li>Menu</li>
<li>Contact</li>
<li>Grafikart</li>
</ul>
<h1 class="title">Restaurant le Fiasco</h1>
<img class="baniere" src="https://via.placeholder.com/1200x600" alt="banière restaurant le fiasco"/>
<div class="fondu"></div>
<div class="fondu2"></div>
</nav>
<div class="MonTitre">
<h2>Mon Titre</h2>
<p>Buzz Aldrin, né Edwin Eugene Aldrin Jr. le 20 janvier 1930 à Glen Ridge dans le New Jersey, est un militaire, pilote d'essai, astronaute et ingénieur américain. Il effectue trois sorties dans l'espace en tant que pilote de la mission Gemini 12 de 1966 et, en tant que pilote du module lunaire Apollo de la mission Apollo 11 de 1969, il est, avec le commandant de la mission Neil Armstrong, parmi les deux premiers humains à marcher sur la Lune.</p>
</div>
</header>
<div class="section1">
<h2 class="title_2">
A propos du restaurant
</h2>
<img class="200_1" src="https://via.placeholder.com/200x200" alt="200x200"/>
<img class="200_2" src="https://via.placeholder.com/200x200" alt="200x200"/>
<p class="paragraphe_arround">
Terminologie
Selon le dictionnaire de langue française le Larousse1 ainsi que l'Office québécois de la langue française2 (mais inconnu du Centre national de ressources textuelles et lexicales3), le terme « développeur » s'applique en informatique à une personne ou une société qui développe et conçoit des logiciels. Cependant, s'agissant d'une ...
</p>
</div>
<section class="aside">
<img class="aside-img-200x400" src="https://via.placeholder.com/200x400" alt="200x200"/>
</section>
</body>
</html>
body{
background-color: lightgrey;
}
.ul{
display: flex;
list-style: none;
flex-direction: row;
flex-wrap: wrap;
flex-shrink: 0;
flex-grow: 1;
flex-basis: auto;
justify-content: space-evenly;
align-items: end;
padding: 3px 20px 3px 20px;
background-color: rgba(117, 190, 218, 0.5);
}
ul li a{
width: 200px;
text-decoration: none;
color: white;
background-color: rgba(117, 190, 218, 0.2);
font-family: "Agency FB", sans-serif;
font-size: xx-large;
}
ul li a:hover{
background-color: black;
transition-delay: 300ms;
transition-property: background-color;
}
ul{
margin-left: 400px;
z-index: 5;
}
.baniere{
/*position: absolute;
top: 0;
left:0;
right:0;*/
z-index: -1;
width: 100%;
height: auto;
}
.title{
position: relative;
top: -40px;
padding: 10px;
margin: 0 0 0 10px;
font-size: 80px;
width: 400px;
height: 170px;
border-radius: 20px;
z-index: 6;
background-color: rgba(117, 190, 218, 0.5);
}
.fondu{
display: block;
position: absolute;
top:0;
left:0;
width:100%;
height:366px;
z-index: 2;
background-image: linear-gradient(to bottom, rgba(0,0,0,0.8), rgba(255,255, 255,0.3));
}
.fondu2{
display: block;
position: absolute;
top:366px;
left:0;
width:100%;
height:366px;
z-index: 2;
background-image: linear-gradient(to bottom, rgba(255,255, 255,0.3), rgba(0,0,0,0.8));
}
.ul{
position: relative;
left: 200px;
}
.MonTitre{
/*width: 100%;
position: absolute;
top: 600px;
left: 20px;*/
color: aqua;
z-index: 3;
}
/*.section1{
position: relative;
top: 500px;
left: 20px;
}
*/
div .section1{
margin: 500px 10px 10px 20px;
display: grid;
grid-template-columns: 200px 200px calc(100% - 600px) 200px;
grid-gap: 10px;
padding: 10px;
}
.paragraphe_arround{
width: calc(100% - 200px);
/*float: left;*/
}
.aside{
/*position: absolute;
top: 700px;
right: 10px;*//
position: relative;
top: -200px;
right: 0px;
float: right;
}
The example below produces the following result:
Maybe something like this, it is combination of what I found on Stackoverflow about floating text around flexbox items and an example I could find on https://www.sitepoint.com/css-layouts-floats-flexbox-grid/ (within the abstract called 'Enhancing Grid Templates').
As far as I understand this, the images are now floating elements within the first grid item and the text will just float around the 2nd item. The aside just gets the display flex attribute.
<!DOCTYPE html>
<html lang="fr">
<head>
<link href="style.css" rel="stylesheet">
</head>
<body>
<header class="header"></header>
<div class="section1">
<div class="container">
<div class="inner-container">
<h2 class="title_2">
A propos du restaurant
</h2>
<img class="200_1" src="https://via.placeholder.com/200x200" alt="200x200"/>
<img class="200_2" src="https://via.placeholder.com/200x200" alt="200x200"/>
<p class="paragraphe_arround">
Terminologie
Selon le dictionnaire de langue française le Larousse1 ainsi que l'Office québécois de la langue française2 (mais inconnu du Centre national de ressources textuelles et lexicales3), le terme « développeur » s'applique en informatique à une personne ou une société qui développe et conçoit des logiciels. Cependant, s'agissant d'une personne, il est possible de distinguer les développeurs par secteurs d'activités, ceux spécialisés dans le métier du logiciel, ou ceux spécifiquement spécialisés dans les métiers de l'Internet4, et du secteur des technologies de l'information et de la communication (TIC) qui compte à lui seul les deux tiers des activités de développeurs sectoriel :
Le développeur informatique (Web), développeur web 5,6 responsable des codes sources constituant les différents langages de programmation Web, composées entre autres des langages de balisage tel que le HTML, le CSS ou le XML, des langages interprétés notamment composé des langages PHP Hypertext Preprocessor, ASP Active Server Pages, Pascal, Perl ou encore du JavaScript, ou des langages à objet (POO) composée entre autres de C++, de Java, de Ruby, ou de Python.
Le développeur multimédia, designer graphique, chargée des graphismes (le WebArt, Web design), ou de l'encapsulation dynamique audio/vidéo.
Le développeur logiciel ou concepteur de logiciel, chargé de construire pour une entité ou pour une finalité un programme spécifique tel que les applications mobiles pour les environnement nomades, logiciels sur des systèmes embarqués ou la Domotique.
[réf. nécessaire]
Dans la langue française, il n'y a pas de mot spécifique aujourd'hui pour parler d'un auteur de logiciel, le terme de développeur sectoriel s'est progressivement imposé.
Contrairement à logiciel, qui a fait son apparition en 1972 pour traduire software, et qui cohabite encore avec « programme informatique », développeur remplace dans le langage courant l'expression « programmeur informatique »[réf. nécessaire].
</p>
</div>
<section class="aside">
<img class="aside-img-200x400" src="https://via.placeholder.com/200x400" alt="200x200"/>
</section>
</div>
</div>
</body>
</html>
div.section1 {
width: 100%;
display: grid;
grid-gap: 10px;
grid-template-columns: auto auto auto;
}
img {
float: left;
margin-right: 1em;
}
.container {
background: red;
position:relative;
float:left;
}
.inner-container {
width:80%;
min-height: 400px;
background:yellow;
float:left;
}
.aside{
background:green;
display: flex;
}

Issue putting Image next to text (not float issue)

I tried everything with CSS and HTML about this. Here's an Image explaining visually what I want to do and what is happening
Tried Margin, Pudding, Clear, Vertical Align and even more. I'm just too tired now of fixing this bug. I tried to fix it for about a day now.
By the way sorry for my probably bad post, pretty new to this website.
.Intro_IMG {
max-width: 192px;
float: left;
display: block;
margin: 0 auto;
box-align: middle;
}
.Intro{
border: 1px solid black;
background-color: #f9f9f9;
margin-top: 48px;
display: block;
margin: 0 auto;
overflow: auto;
}
<div class="Intro">
<img class="Intro_IMG" src="https://placehold.it/192x192">
<h3>Hey bien salut tout le monde c'est Sirius B !</h3>
<p>Et vous vous trouvez ici sur mon site / projet HTML !</p>
<p>Ce site est à la base là juste pour que je joue et apprenne l'HTML !</p>
<p>Donc ici il y aura des trucs un peu random dans ce site car je peux.</p>
<p>Sinon eh bien ce site sert un peu à rien donc... Ouais.</p>
</div>
Someone told me to show the whole code so there it is:
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
<link rel="stylesheet" type="text/css" href="css/ArchUI_Light.css">
<link rel="icon" href="ressources/siriusblogo.png">
</head>
<body>
<!--Navigation Bar-->
<nav class="NavBar">
<ul>
<li>Accueil (Dark) Serveur Discord Chaîne Youtube</li>
</ul>
</nav>
<!--Main Title-->
<img class="ML" src="ressources/siriusblogo.png">
<h1>Le Site de Sirius B !</h1>
<!--WIP Website Message-->
<div class="WIP_MSG">
<h2 class="Warning">Veuillez Notez !</h2>
<p>Ce site est actuellement en développement.</p>
<p>Il se peut que le site est moche remplis de bugs.</p>
<p>Merci de votre compréhension.</p>
<p>- Sirius B</p>
</div>
<!--Introduction-->
<div class="Intro">
<img class="Intro_IMG" src="https://placehold.it/192x192">
<h3>Hey bien salut tout le monde c'est Sirius B !</h3>
<p>Et vous vous trouvez ici sur mon site / projet HTML !</p>
<p>Ce site est à la base là juste pour que je joue et apprenne l'HTML !</p>
<p>Donc ici il y aura des trucs un peu random dans ce site car je peux.</p>
<p>Sinon eh bien ce site sert un peu à rien donc... Ouais.</p>
<div class="clearfix"></div>
</div>
<!--Other Info-->
</body>
</html>
body {
color: black;
background-color: #f0f0f0;
text-align: center;
font-family: Arial, Helvetica, sans-serif;
}
.NavBar {
background-color: #f9f9f9;
border: solid #f9f9f9;
border-width: 10px;
color: black;
text-align: left;
}
.ML {
max-width: 96px;
margin-top: 48px;
border: 1px solid black;
}
.ML_Borderless {
max-width: 96px;
margin-top: 48px;
}
.ML_Borderless-small {
max-width: 48px;
margin-top: 48px;
}
.Warning {
color: red;
}
.Intro_IMG {
max-width: 192px;
float: left;
display: block;
margin: 0 auto;
box-align: middle;
margin-right: 12px;
}
.Intro{
border: 1px solid black;
background-color: #f9f9f9;
margin-top: 48px;
display: inline-block;
margin: 0 auto;
}
.clearfix {
clear: both;
}
You'll need to change your HTML structure and CSS a little bit.
Change .Intro display to inline-block with width: auto. Then append a div inside .Intro with clear: both just in case if your text height is smaller than the image. After then, put your text content inside another div to control its width and height.
.Intro_IMG {
max-width: 192px;
float: left;
display: block;
margin: 0 auto;
box-align: middle;
margin-right: 12px;
}
.Intro{
border: 1px solid black;
background-color: #f9f9f9;
margin-top: 48px;
display: inline-block;
margin: 0 auto;
width: auto;
}
.Intro_Content {
max-height: 192px;
overflow: hidden;
}
.clearfix {
clear: both;
}
<div class="Intro">
<img class="Intro_IMG" src="https://placehold.it/192x192">
<div class="Intro_Content">
<h3>Hey bien salut tout le monde c'est Sirius B !</h3>
<p>Et vous vous trouvez ici sur mon site / projet HTML !</p>
<p>Ce site est à la base là juste pour que je joue et apprenne l'HTML !</p>
<p>Donc ici il y aura des trucs un peu random dans ce site car je peux.</p>
<p>Sinon eh bien ce site sert un peu à rien donc... Ouais.</p>
</div>
<div class="clearfix"></div>
</div>
This is an edited answer, so here is the code I think it will work for you!
Make a change in your HTML structure :
<body style="text-align:center;">
<div class="Intro clear-fix">
<div class="img-container">
<img class="Intro_IMG" src="https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2#1.5x.png">
</div>
<div class="content-container">
<h3>Hey bien salut tout le monde c'est Sirius B !</h3>
<p>Et vous vous trouvez ici sur mon site / projet HTML !</p>
<p>Ce site est à la base là juste pour que je joue et apprenne l'HTML !</p>
<p>Donc ici il y aura des trucs un peu random dans ce site car je peux.</p>
<p>Sinon eh bien ce site sert un peu à rien donc... Ouais.</p>
</div>
</div>
</body>
And this is your new CSS :
.Intro_IMG {
max-width: 192px;
float: left;
display: block;
margin: 0 auto;
box-align: middle;
}
.Intro{
border: 1px solid black;
background-color: #f9f9f9;
margin-top: 48px;
display: block;
margin: 0 auto;
overflow: auto;
max-width: 1000px;
}
.img-container, .content-container {
float: left;
}
.content-container {
text-align: left;
}
.clear-fix {
content: "";
display: table;
clear: both;
}
Put the image in a div and the texts in another div. The main container will have two divs, first one containing image and the second one containing texts.
Set the display of the main container to flex. Set align-items to center.
I used Taou Ben's code for a while but then I found a way simplier solution.
Just use the following CSS and HTML:
.IntroDIV {
max-width: 768px;
margin-left: auto;
margin-right: auto;
border: 1px solid black;
background-color: #f9f9f9;
margin-top: 48px;
margin: 0 auto;
text-align: left;
}
.Intro_IMG {
max-width: 192px;
float: left;
}
<div class="IntroDIV">
<div class="Intro_IMGDIV">
<img class="Intro_IMG" src="https://via.placeholder.com/512/">
</div>
<div>
<h3>Hey bien salut tout le monde c'est Sirius B !</h3>
<p>Et vous vous trouvez ici sur mon site / projet HTML !</p>
<p>Ce site est à la base là juste pour que je joue et apprenne l'HTML !</p>
<p>Donc ici il y aura des trucs un peu random dans ce site car je peux.</p>
<p>Sinon eh bien ce site sert un peu à rien donc... Ouais.</p>
</div>
</div>

2 divs not willing to display next to each other

I have 2 div I need to position next to each other, with eventually a 3rd to be added. I've tried floating them, I've tried display and position options.
also checked other websites copied that code but it still won't work.
html:
<div class="diensten">
<div id="dienst1">
<h2>Ontruimingsoefening</h2>
<p>Wij verzorgen diverse ontruimingsoefeningen die afgestemd zijn op zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden en detailhandel. De ontruimingsoefeningen kunnen zowel theoretisch (Table Top) als praktisch toegepast worden waarbij wij gebruik maken van professionele hulpmiddelen om de ontruimingsoefening zo realistisch mogelijk te maken. </p>
<img src="Foto's/IMG_2670.JPG" data-tilt data-tilt-max="30" data-tilt-speed="400" data-tilt-perspective="900">
</div>
<div id="dienst2">
<h2>beheer brandmeldinstallatie</h2>
<p>Wij verzorgen de verplichte maandelijkse en viermaandelijkse beheerderstaken van de brandmeldinstallatie conform NEN 2654 op professionele wijze voor zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden, kantoorgebouwen en detailhandel. Het onderhoud van de brandmeldinstallatie bestaat uit het testen van de doormelding naar de brandweer van automatische rookmelders en handbrandmelders, het testen van de doormelding van storingen aan de brandmeldinstallatie, een visuele controle van de aangesloten componenten, het bijwerken en onderhouden van het logboek.
<img src="Foto's/IMG_2704.JPG">
</p>
</div>
</div>
css:
.diensten h2 {
padding-top: 40px;
}
.diensten p, h2 {
font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
padding: 20px;
}
.diensten {
position: relative;
display: inline-block;
height: 500px;
background-color: #FFFFFF;
margin: auto;
}
#dienst1 {
margin-left: 90px;
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
}
#dienst2 {
margin-left: 900px;
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
}
#dienst2 img{
height: 300px;
width: 450px;
}
Add display: flex to the parent, and remove the huge margin-left on #dienst2 - or don't, isn't necessary, but I did since you want them to be beside one another. Any other elements you put adjacent to them will display in the same row.
.diensten h2 {
padding-top: 40px;
}
.diensten p, h2 {
font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
padding: 20px;
}
.diensten {
position: relative;
height: 500px;
background-color: #FFFFFF;
margin: auto;
display: flex;
}
#dienst1 {
margin-left: 90px;
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
}
#dienst2 {
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
}
#dienst2 img{
height: 300px;
width: 450px;
}
<div class="diensten">
<div id="dienst1">
<h2>Ontruimingsoefening</h2>
<p>Wij verzorgen diverse ontruimingsoefeningen die afgestemd zijn op zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden en detailhandel. De ontruimingsoefeningen kunnen zowel theoretisch (Table Top) als praktisch toegepast
worden waarbij wij gebruik maken van professionele hulpmiddelen om de ontruimingsoefening zo realistisch mogelijk te maken. </p>
<img src="Foto's/IMG_2670.JPG" data-tilt data-tilt-max="30" data-tilt-speed="400" data-tilt-perspective="900">
</div>
<div id="dienst2">
<h2>beheer brandmeldinstallatie</h2>
<p>Wij verzorgen de verplichte maandelijkse en viermaandelijkse beheerderstaken van de brandmeldinstallatie conform NEN 2654 op professionele wijze voor zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden, kantoorgebouwen
en detailhandel. Het onderhoud van de brandmeldinstallatie bestaat uit het testen van de doormelding naar de brandweer van automatische rookmelders en handbrandmelders, het testen van de doormelding van storingen aan de brandmeldinstallatie, een
visuele controle van de aangesloten componenten, het bijwerken en onderhouden van het logboek.
<img src="Foto's/IMG_2704.JPG">
</p>
</div>
</div>
You should add display:inline;and remove margin
#dienst1 {
margin-left: 90px;
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
display:inline;
}
#dienst2 {
height: 500px;
width: 500px;
box-shadow: 0px 0px 30px 0px #000;
display:inline;
}
Divs are initially block level elements. This means, among other things, that they each appear on their own lines. There are several ways to put two divs along side each other. Which one you choose will come down to the desired effect (and side effects) you want. Here are some options:
Float them (float: left)
Make them inline block (display: inline-block)
Use flexbox (apply display: flex to their parent)
Make them grid items (apply display: grid to their parent; very new feature and requires fallbacks)
I suggest you read up on CSS layout methods. Each method is a useful tool, and none is a one-size-fits-all solution. You should try to get familiar with them all. A great resource to get started is learnlayout.com. Once you get the basics down, if you want to dive deeper, you can check out my book.
If you are going to add 3 divs next to each other you need to reduce the width of each div.
500px for each one aint gonna work unless your target audience is that of large desktop;
anyway I reduced it to 300px for both height and width, and made the overflow to
scroll for y axis.
If you want to remove the scroll. (remove overflow-y: scroll; and all the styling) and specify the height so that the content of all the divs is visible)
View in Fullscreen(Stackoverflow forces resize)
*{
margin:0;
padding:0;
box-sizing:border-box;
}
.diens{
width:300px;
height:300px;
font-family:sans-serif;
box-shadow:0px 1px 3px rgba(0,0,0,.6);
padding:20px;
float:left;
overflow-y: scroll;
margin-right:10px;
}
.diens h2{
margin: 20px 0px;
}
.diens p{
font-size:14px;
}
.diens::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
background-color: #F5F5F5;
}
.diens::-webkit-scrollbar
{
width: 10px;
background-color: #F5F5F5;
}
.diens::-webkit-scrollbar-thumb
{
background-color: #373737;
border: 2px solid #F5F5F5;
}
<body>
<div class="diensten">
<div id="dienst1" class="diens">
<h2>Ontruimingsoefening</h2>
<p>Wij verzorgen diverse ontruimingsoefeningen die afgestemd zijn op zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden en detailhandel. De ontruimingsoefeningen kunnen zowel theoretisch (Table Top) als praktisch toegepast worden waarbij wij gebruik maken van professionele hulpmiddelen om de ontruimingsoefening zo realistisch mogelijk te maken. </p>
</div>
<div id="dienst2" class="diens">
<h2>beheer brandmeldinstallatie</h2>
<p>Wij verzorgen diverse ontruimingsoefeningen die afgestemd zijn op zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden en detailhandel. De ontruimingsoefeningen kunnen zowel theoretisch (Table Top) als praktisch toegepast worden waarbij wij gebruik maken van professionele hulpmiddelen om de ontruimingsoefening zo realistisch mogelijk te maken.
</p>
</div>
<div id="dienst3" class="diens">
<h2>beheer brandmeldinstallatie</h2>
<p>Wij verzorgen de verplichte maandelijkse en viermaandelijkse beheerderstaken van de brandmeldinstallatie conform NEN 2654 op professionele wijze voor zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden, kantoorgebouwen en detailhandel. Het onderhoud van de brandmeldinstallatie bestaat uit het testen van de doormelding naar de brandweer van automatische rookmelders en handbrandmelders, het testen van de doormelding van storingen aan de brandmeldinstallatie, een visuele controle van de aangesloten componenten, het bijwerken en onderhouden van het logboek.
</p>
</div>
</div>
</body>
You just need to add
position: relative;
display: inline-block;
to the child divs, and
position: absolute;
to the parent div. Here is a working example (with 3 paragraphs side by side -- I reduced the width just so you can see them in the small window). You can also remove or reduce the margin if you want.
.diensten h2 {
padding-top: 40px;
}
.diensten p, h2 {
font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
padding: 20px;
}
.diensten {
position: absolute;
display: inline-block;
height: 500px;
background-color: #FFFFFF;
margin: auto;
}
#dienst1 {
margin-left: 90px;
position: relative;
display: inline-block;
height: 500px;
width: 100px;
box-shadow: 0px 0px 30px 0px #000;
overflow: hidden;
}
#dienst2 {
margin-left: 90px;
position: relative;
display: inline-block;
height: 500px;
width: 100px;
box-shadow: 0px 0px 30px 0px #000;
overflow: hidden;
}
#dienst3 {
margin-left: 90px;
position: relative;
display: inline-block;
height: 500px;
width: 100px;
box-shadow: 0px 0px 30px 0px #000;
overflow: hidden;
}
#dienst2 img{
height: 300px;
width: 450px;
}
<div class="diensten">
<div id="dienst1">
<h2>Ontruimingsoefening</h2>
<p>Wij verzorgen diverse ontruimingsoefeningen die afgestemd zijn op zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden en detailhandel. De ontruimingsoefeningen kunnen zowel theoretisch (Table Top) als praktisch toegepast worden waarbij wij gebruik maken van professionele hulpmiddelen om de ontruimingsoefening zo realistisch mogelijk te maken. </p>
<img src="Foto's/IMG_2670.JPG" data-tilt data-tilt-max="30" data-tilt-speed="400" data-tilt-perspective="900">
</div>
<div id="dienst2">
<h2>beheer brandmeldinstallatie</h2>
<p>Wij verzorgen de verplichte maandelijkse en viermaandelijkse beheerderstaken van de brandmeldinstallatie conform NEN 2654 op professionele wijze voor zorginstellingen, onderwijsinstellingen, kinderdagverblijven, horecagelegenheden, kantoorgebouwen en detailhandel. Het onderhoud van de brandmeldinstallatie bestaat uit het testen van de doormelding naar de brandweer van automatische rookmelders en handbrandmelders, het testen van de doormelding van storingen aan de brandmeldinstallatie, een visuele controle van de aangesloten componenten, het bijwerken en onderhouden van het logboek.
<img src="Foto's/IMG_2704.JPG">
</p>
</div>
<div id="dienst3">
<h2>beheer brandmeldinstallatie</h2>
<p>Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text .
<img src="Foto's/IMG_2704.JPG">
</p>
</div>
</div>

Flexbox, absolute positioning and 100% height

I've run into a bit of a problem while playing around with a flexbox inside an absolute box, which is inside a defined height div (I'll explain along the way).
First off, here's a fiddle to my demo, might be easier to grasp the problem:
https://jsfiddle.net/8ub9tyub/
As you can see, when you hover the block, text appears from below but doesn't quite show fully.
I have a main div (let's call it $main) for the hover part which is 600x250px with an overflow: hidden, and inside it, two divs: title and text (say $title and $text), which appear after one another (regular flow).
$title can sometimes take up two lines, so its height is set to auto.
$text is set to 100% height, positioned in relative and set to display: flex. Inside that is another div ($intro) I positioned in absolute, with a top: 100% (which switches to 0 when hovered) and a align-self: flex-end in order to keep it at the bottom of $main. (this is to keep the text from being stuck to the title - I like it to breathe)
The structure goes like this, basically:
<div class="main">
<div class="title">I'm a title!</div>
<div class="text">
<div class="intro"><p>Just a bunch of long paragraphs of text</p></div>
</div>
</div>
Now, as you can see on my demo, $text's height is set to 100%, but I expected the height to be $main minus $title's heights, but here it seems to be just $main's height, which makes the $text block overflow, and so when I hover the block to make the text appear, it locks the bottom outside $main and cuts off part of the text.
Would anyone have a clue has to how I can make $text have the expected height, knowing I can't predict $title's height (and thus can't use calc(), at least as for as I know) and I don't want to use JavaScript in any way?
I've gone through and reworked the code without using any heights for the block text or the title text and only using Flex. If you use display: flex; only on the container that will contain the flexible items within it, then tell each item how to be flexible (ie. flex-grow: 1;), you'll get the result you're looking for. Here's a link to a fiddle I put together using your initial code and just reworking the code. Let me know if you have any questions or need clarification on anything.
body {
font-family: 'Bitter', Georgia, serif;
width: 673px;
}
a { color: #161616; text-decoration: none; }
* { box-sizing: border-box; }
.home_post_new * { transition: .5s all; }
.home_post_new {
background-position: right center;
background-repeat: no-repeat;
width: 100%;
height: 250px;
position: relative;
overflow: hidden;
margin-bottom: 20px;
}
.home_post_new_text {
float: right;
display: flex;
flex-direction: column;
width: 600px;
height: 100%;
background: hsla(0,0%,100%,0);
color: #fff;
position: relative;
}
.home_post_new:hover .home_post_new_text {
background: hsla(0,0%,0%,.33);
}
.home_post_new_block {
flex-grow: 2;
position: relative;
top: 250px;
width: 100%;
padding: 16px 16px 32px;
font-size: .9em;
line-height: 125%;
text-shadow: 0 1px 0 hsla(0,0%,0%,.75), 0 0 5px hsla(0,0%,0%,.75);
}
.home_post_new:hover .home_post_new_block {
top: 0;
}
.home_post_new_title {
flex-grow: 1;
font-family: 'Source Sans Pro', Arial, sans-serif;
font-size: 1.625em;
line-height: 1.333em;
width: 100%;
padding: 4px 8px 16px;
text-shadow: 0 1px 0 hsla(0,0%,0%,.75), 0 0 1px hsla(0,0%,0%,.75), 0 1px 5px hsla(0,0%,0%,.75);
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(0,0,0,0.65)), color-stop(100%,rgba(0,0,0,0)));
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: -o-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: -ms-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
}
.home_post_new_more {
position: absolute;
right: 0;
bottom: -50%;
padding: 4px 8px;
font-family: 'Source Sans Pro', Arial, sans-serif;
color: #fff;
text-shadow: 0 1px 0 hsla(0,0%,0%,.75), 0 0 5px hsla(0,0%,0%,.75);
border-style: solid;
border-width: 1px 0 0 1px;
border-color: currentColor;
border-radius: 0;
border-top-left-radius: 2px;
text-transform: uppercase;
letter-spacing: 1px;
background: hsla(0,0%,0%, .5);
}
.home_post_new_more:hover {
color: #009884;
cursor: pointer;
}
.home_post_new:hover .home_post_new_more {
bottom: 0;
}
.home_post_new_meta {
width: calc(100% - 600px);
height: 100%;
text-align: center;
color: #009884;
}
.home_post_new_date {
background: #009884;
color: #eee;
padding: 24px 0 0;
height: 50%;
}
.home_post_new_date_day {
font-size: 250%;
font-weight: bold;
}
.home_post_new_date_month {
font-family: 'Source Sans Pro', Arial, sans-serif;
text-transform: uppercase;
font-size: 150%;
border-top: 1px solid #eee;
display: inline-block;
margin-top: 8px;
padding-top: 4px;
}
.home_post_new_date_comments {
color: currentColor;
display: inline-block;
border-radius: 50%;
border-bottom-right-radius: 0;
width: 42px;
height: 42px;
margin-top: 32px;
padding: 12px 4px;
border: 1px solid currentColor;
margin-top: calc(50% - 4px);
}
.home_post_new_text:after {
clear: both;
overflow: auto;
zoom: 1;
}
<div class="home_post_new" style="background-image: url(http://geekometric.com/wp-content/uploads/2014/11/fetch_ifl.jpg);">
<a class="home_post_new_text" href="#">
<div class="home_post_new_title">[Test] inFAMOUS : First Light</div>
<div class="home_post_new_block">
<p>Après les aventures de Delsin, voici inFAMOUS : First Light, qui propose de jouer dans la peau d’un personnage secondaire de Second Son : Fetch. Une aventure qui est, à l’instar de Festival of Blood pour inFAMOUS 2, une extension ne nécessitant pas le jeu de base. Même ville, différents pouvoirs (enfin, pas vraiment), nouvelle histoire et un mode de jeu en plus… De quoi s’amuser un peu ! Mais qu’est-ce que ça vaut ? Voyons cela.</p>
</div>
</a>
<div class="home_post_new_more">Lire la suite →</div>
<div class="home_post_new_meta">
<div class="home_post_new_date" title="30 novembre 2014">
<div class="home_post_new_date_day">30</div>
<div class="home_post_new_date_month">NOV</div>
</div>
2
</div>
</div>
<div class="home_post_new" style="background-image: url(http://geekometric.com/wp-content/uploads/2014/11/monumentvalley.jpg);">
<a class="home_post_new_text" href="#">
<div class="home_post_new_title">[Test] Monument Valley</div>
<div class="home_post_new_block">
<p>Profitant d’un crédit de 3€ offert par Amazon sur leur App Shop, je me suis laissé tenter par Monument Valley, ayant entendu du bien du jeu et étant assez intrigué son style. Au pire, je ne perdais rien dans l’affaire… Après plusieurs courtes séances, j’ai terminé le jeu et j’ai donc pu forger un avis assez complet dessus, malgré le fait que Monument Valley soit un « petit jeu », mais il ne faut pas négliger son ambition et potentiel pour autant. </p>
</div>
</a>
<div class="home_post_new_more">Lire la suite →</div>
<div class="home_post_new_meta">
<div class="home_post_new_date" title="28 octobre 2014">
<div class="home_post_new_date_day">17</div>
<div class="home_post_new_date_month">NOV</div>
</div>
37
</div>
</div>
<div class="home_post_new" style="background-image: url(http://geekometric.com/wp-content/uploads/2014/11/interstellar.jpg);">
<a class="home_post_new_text" href="#">
<div class="home_post_new_title">[Séance ciné] Interstellar</div>
<div class="home_post_new_block">
<p>Alors comme ça le prochain long-métrage de Christopher Nolan est sorti ? La science-fiction, c’est mon truc, ça ! Je me suis évité tout spoiler possible sur ce film, cette critique en fera autant. J’ai eu le plaisir de voir Interstellar en IMAX, ma première séance dans ce format d’ailleurs, ce qui ne m’a pas déçu. Bon allez, on va voir tout ça, 3… 2… 1… décollage !</p>
</div>
</a>
<div class="home_post_new_more">Lire la suite →</div>
<div class="home_post_new_meta">
<div class="home_post_new_date" title="28 octobre 2014">
<div class="home_post_new_date_day">11</div>
<div class="home_post_new_date_month">NOV</div>
</div>
37
</div>
</div>
<div class="home_post_new" style="background-image: url(http://geekometric.com/wp-content/uploads/2014/11/johnwick.jpg);">
<a class="home_post_new_text" href="#">
<div class="home_post_new_title">[Séance ciné] John Wick</div>
<div class="home_post_new_block">
<p>Encore un film qui est sorti de nulle part pour moi, John Wick a attiré mon attention, notamment grâce à la présence de l’immortel Keanu Reeves sur l’affiche. Malgré la minuscule salle (vous savez, celle pour 40 personnes qu’on paie aussi cher que les énormes salles…), j’ai bien pu me mettre dans le film. Chargez vos fusils, on va voir ce que ça donne.</p>
</div>
</a>
<div class="home_post_new_more">Lire la suite →</div>
<div class="home_post_new_meta">
<div class="home_post_new_date" title="28 octobre 2014">
<div class="home_post_new_date_day">28</div>
<div class="home_post_new_date_month">OCT</div>
</div>
37
</div>
</div>
<div class="home_post_new" style="background-image: url(http://geekometric.com/wp-content/uploads/2013/12/tlou_goodies.jpg);">
<a class="home_post_new_text" href="#">
<div class="home_post_new_title">[Avis de passage] Goodies The Last of Us : Press Kit, figurine…</div>
<div class="home_post_new_block">
<p>Bon, c'est un arrivage qui date un peu, mais je tenais à vous présenter quelques goodies tirés de The Last of Us, non seulement parce que j'adore ce jeu mais parce que ces chouettes objets sont plutôt réussis, et étant donné qu'ils ne sont vus que par mes petits yeux, pourquoi ne pas vous en faire profiter un peu également ? Et ce n'est certainement pas un moyen de faire du contenu en attendant que je fasse mes tests de jeux PS4, je vous assure ! Bon j'ai pris un paquet de photos, c'est cadeau.</p>
</div>
</a>
<div class="home_post_new_more">Lire la suite →</div>
<div class="home_post_new_meta">
<div class="home_post_new_date" title="28 octobre 2014">
<div class="home_post_new_date_day">28</div>
<div class="home_post_new_date_month">OCT</div>
</div>
3
</div>
</div>
So let me get this straight you have:
<div class='main'>
<div class='title'>
<div class='text'></div>
</div>
</div>
And setting the height of div text to 100% sets it to the height of main even though it's inside div title. I think the problem might be that you did not specify the height of .title in your CSS. If you do not specify the height of the title div, then the text division will take on the height of the main div.
Again, just a guess but check for that.