Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/04/2011, 20h12   #1
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
Par défaut colonne fixed devient float si overflow: comment?

Salut,
j'ai trouvé cette page, dont le comportement de la colonne #sidebar correspond à ce que j'aurais besoin:
si la fenêtre est assez grande pour contenir toute la colonne, elle est 'fixed', sinon elle passe en float et défile avec le contenu.
J'ai remarqué qu'il y a deux propriétés pour #sidebar: une normale qui 'float', et l'autre #sidebar.lock, qui est 'fixed'... mais je ne retrouve pas de code js qui fait ça... est-ce une propriété de html6/css3?
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 15h59   #2
Modérateur
 
Avatar de Bisûnûrs
 
Josselin
Développeur Web
Inscription : janvier 2004
Messages : 9 050
Détails du profil
Informations personnelles :
Nom : Josselin
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : janvier 2004
Messages : 9 050
Points : 12 181
Points : 12 181
C'est du Javascript.
On le retrouve en faisant une recherche sur "sidebar" dans ce fichier :
http://jeremie.patonnier.net/themes/.../js/scripts.js
Bisûnûrs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 22h29   #3
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
oups... j'avais manqué celui là... je vais devoir décortiquer tout ça jusqu'à user mes touches enter et tab... ...
ce qui est étrange, c'est que firebug ne me signale rien au redimensionnement dans le profiler... en-même temps je ne suis pas une brute en js...
je regarde tout ça et je donne des nouvelles
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 12h45   #4
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
bon, j'ai récupéré le code tout propre grâce à ça...
C'est en jQuery, je l'ai réécrit et adapté en simple JS. Pour qui ça intéresse:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
function fixColonne() {
	//récupération de la colonne:
	var colonne = document.getElementById('header') ;
	//Récupération de la hauteur selon le navigateur:
	if ( colonne.offsetHeight ) {
		var hautColonne = colonne.offsetHeight ;
	}
	else if ( colonne.style.pixelHeight ) {
		var hautColonne = colonne.style.pixelHeight ;
	}
	//Récupération de la hauteur de la fenêtre:
	hautWindow = window.innerHeight ;
	//si body plus grand que colonne:
	if ( hautWindow - hautColonne > 0 ) {
		colonne.style.position='fixed';
	}
	else {
		colonne.style.position='absolute';
	}
}
 
//appel de la fonction au chargement:
if( window.attachEvent ) {
	window.attachEvent("load", fixColonne );
}
else if( window.addEventListener) {
	window.addEventListener("load", fixColonne , false);
}
 
//appel de la fonction on resize:
if( window.attachEvent ) {
	window.attachEvent("onresize", fixColonne );
}
else if( window.addEventListener) {
	window.addEventListener("resize", fixColonne , false);
}
Et en bonus une petite question JS: pourquoi dans un addEventListener on met la fonction sans les ( )? Et si on doit placer des arguments?
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 23h01   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
Citation:
Et en bonus une petite question JS: pourquoi dans un addEventListener on met la fonction sans les ( )? Et si on doit placer des arguments?
la méthode addEventListener attend en 2éme paramètre, la référence à un fonction et non pas le résultat de celle ci.

Pour le passage de paramètre il suffit de passer par une fonction anonyme.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 23h43   #6
Membre du Club
 
Inscription : mars 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 116
Points : 52
Points : 52
c'est clair, merci
BlindeKinder est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h24.


 
 
 
 
Partenaires

Hébergement Web