l'overflow-y marche très bien sauf que ce qui est caché, c'est le
dernier message qui est "sous" le footer, en fait, il faut que je scroll
vers le bas pour faire monter le contenu de "div id='messages'" et ainsi
voir le dernier message.
la question est : peut-on inverser le schimiliblic ?
c'est à dire quand un nouveaau message arrive, s'il dépasse de "div
id='messages'" le tout remonte vers le haut ?
pour essayer ça j'ai une fonction addMessage(event) qui ajoute un <p
class='row'/> dans #messages :
function addMessage(event) {
var n = Math.floor(Math.random() * messages.length);
var p = document.createElement('p')
p.setAttribute('class', 'row');
var span_nickname = document.createElement('span')
span_nickname.setAttribute('class', 'nickname');
span_nickname.appendChild(document.createTextNode(messages[n].nickname));
p.appendChild(span_nickname);
var span_content = document.createElement('span')
span_content.setAttribute('class', 'content');
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier message qui est "sous" le footer, en fait, il faut que je scroll vers le bas pour faire monter le contenu de "div id='messages'" et ainsi voir le dernier message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px - 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier
message qui est "sous" le footer, en fait, il faut que je scroll vers le bas
pour faire monter le contenu de "div id='messages'" et ainsi voir le dernier
message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me
permets de vous signaler un truc bien pratique. La hauteur (height,
max-height, min-height, ce que vous voulez) peut s'écrire:
height: calc(100vh - 80px);
100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px -
32px. Mais vous pourriez écrire, vachement plus souple:
height: calc(100vh - (52px + 1.5em));
(c'est un exemple, header de 52px et footer de 1.5em).
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier message qui est "sous" le footer, en fait, il faut que je scroll vers le bas pour faire monter le contenu de "div id='messages'" et ainsi voir le dernier message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px - 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier message qui est "sous" le footer, en fait, il faut que je scroll vers le bas pour faire monter le contenu de "div id='messages'" et ainsi voir le dernier message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px + 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier
message qui est "sous" le footer, en fait, il faut que je scroll vers le
bas pour faire monter le contenu de "div id='messages'" et ainsi voir le
dernier message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me
permets de vous signaler un truc bien pratique. La hauteur (height,
max-height, min-height, ce que vous voulez) peut s'écrire:
height: calc(100vh - 80px);
100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px +
32px. Mais vous pourriez écrire, vachement plus souple:
height: calc(100vh - (52px + 1.5em));
(c'est un exemple, header de 52px et footer de 1.5em).
l'overflow-y marche très bien sauf que ce qui est caché, c'est le dernier message qui est "sous" le footer, en fait, il faut que je scroll vers le bas pour faire monter le contenu de "div id='messages'" et ainsi voir le dernier message.
[...]
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px + 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px + 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
(supersedes - correction d'une typo)
Ah super merci bien !
En fait j'ai résolu mon problème en faisant comme je l'ai suggéré : mettre les chats les plus récents en haut.
Mais ce que vous me dites m'intéresse, j'ai ajouté dans mon code css : min-height: calc(100vh - 48px); max-height: calc(100vh - 48px); overflow-y: scroll;
ça roule !
Le 17/10/2015 11:46, Pierre Maurette a écrit :
Sans avoir pris le temps de dépeloter votre problème précis, je me
permets de vous signaler un truc bien pratique. La hauteur (height,
max-height, min-height, ce que vous voulez) peut s'écrire:
height: calc(100vh - 80px);
100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px +
32px. Mais vous pourriez écrire, vachement plus souple:
height: calc(100vh - (52px + 1.5em));
(c'est un exemple, header de 52px et footer de 1.5em).
(supersedes - correction d'une typo)
Ah super merci bien !
En fait j'ai résolu mon problème en faisant comme je l'ai suggéré :
mettre les chats les plus récents en haut.
Mais ce que vous me dites m'intéresse, j'ai ajouté dans mon code css :
min-height: calc(100vh - 48px);
max-height: calc(100vh - 48px);
overflow-y: scroll;
Sans avoir pris le temps de dépeloter votre problème précis, je me permets de vous signaler un truc bien pratique. La hauteur (height, max-height, min-height, ce que vous voulez) peut s'écrire: height: calc(100vh - 80px); 100vh c'est 100 fois 1% de la hauteur du viewport. 80px, c'est 48px + 32px. Mais vous pourriez écrire, vachement plus souple: height: calc(100vh - (52px + 1.5em)); (c'est un exemple, header de 52px et footer de 1.5em).
(supersedes - correction d'une typo)
Ah super merci bien !
En fait j'ai résolu mon problème en faisant comme je l'ai suggéré : mettre les chats les plus récents en haut.
Mais ce que vous me dites m'intéresse, j'ai ajouté dans mon code css : min-height: calc(100vh - 48px); max-height: calc(100vh - 48px); overflow-y: scroll;