28172 sujets
CSS et mise en forme, CSS3
Bonjour,
j'ai mis un peu de temps à vous répondre car j'ai essayé de chercher d'ou cela pourrait venir et je pense que cela vient du scrollbar.Je pense qu'il y a quelque chose à modifier dans le plugin.scrollbar.js.
C'est ce que je pense, put etre que ca n'est pas cela.
Je vous mets tout le code:
Voici le code CSS:
[code=css
]
body {
width:100%;
background-color: #f2dade;
margin-top: 0pt;
margin-right: 0pt;
margin-bottom: 0pt;
margin-left: 0pt;
padding-top: 0pt;
padding-right: 0pt;
padding-bottom: 0pt;
padding-left: 0pt;
}
#header {
width: 100%;
min-width: 1400px;
margin-top: 10px;
height: 30px;
}
#header-contenant {
text-decoration:none;
float: right;
margin-right: 15%;
padding-right: 40px;
}
#contenu {
width:440px;
color: #bdae82;
margin-right: 0px;
margin-top: 10px;
margin-bottom: 100px;
margin-left: 0px;
left: 10px;
top: 130px;
right: 700px;
font-family: Arial;
font-size: 13px;
font-weight: 900;
padding-left: 20px;
padding-top: 0px;
padding-bottom: 0px;
padding-right: 0px;
}
#footer {
position: fixed;
background-color: #ffffff;
height: 28px;
width: 100%;
min-width: 1450px;
bottom:0px;
padding-bottom: 0pt;
padding-top: 0pt;
margin-bottom: 0pt;
margin-top: 0pt;
}
#footer-part {
position: absolute;
width: 1300px;
padding-left: 5%;
right: 24px;
left: 0pt;
}
[/code]
Pour ce qui est du code javascript,le plugin-scrollbar.js:
Mon probleme, pour bien l'expliquer est le bloc de texte contenu.
Dès que je dézoom à 75%, le bloc de texte se deplace.Par contre quand je zoom à + de 100%, rien ne se passe.
Je ne comprends pas pourquoi.
Merci pour votre aide. [/i][/i]
j'ai mis un peu de temps à vous répondre car j'ai essayé de chercher d'ou cela pourrait venir et je pense que cela vient du scrollbar.Je pense qu'il y a quelque chose à modifier dans le plugin.scrollbar.js.
C'est ce que je pense, put etre que ca n'est pas cela.
Je vous mets tout le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso_8859-1" />
<title>Produits biologiques aux ingrédients naturels </title>
<link href="design_fr.css" title="Design" rel="stylesheet" type="text/css" media="screen" />
<script src="AC_RunActiveContent.js" type="text/javascript">
<!--[if lte IE 6]>
<!--sfHover = function() {
var sfEls = document.getElementById("menu").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);-->
<![endif]-->
</script>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript" src ="jquery-ui.js "></ script >
<script type="text/javascript" src="jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="plugin.scrollbar.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#contenu").scrollbar();
});
</script>
</head>
<body>
<img src="images/logo_mini.png" alt="Logo" title="Produits biologiques" id="logo" />
<div id="header">
<div id="header-contenant">
<a href="index_fr.php"><img src="images/drapeau-france.png" alt="français" title="Langue française" class="france" /></a>
<a href="index_en.php"><img src="images/drapeau-britain.png" alt="anglais" title="Langue anglaise" class="anglais" /></a>
<a href="connexion.php" class="connexion">Connexion</a>
<a href="inscription.php" class="inscription">Inscription</a>
<a href="mon-panier.php" class="monpanier">Mon panier</a>
</div>
</div>
<img src="images/titre.png" alt="coucou" id="titre" />
<ul id="menu">
<li>
<a href="index_fr.php">Philosophie</a>
<ul class="menuderoulant">
<li><a href="Le bio.php">Le bio </a></li>
<li><a href="lee produits.php">Lee produits</a></li>
<li><a href="art-du-naturel.php">L'art du naturel</a></li>
</ul>
</li>
<li>
<a>Ligne de produit</a>
<ul class="menuderoulant">
<li><a href="vin.php">vin </a></li>
<li><a href="fromage.php">Fromage</a></li>
<li><a href="patisserie.php">Patisserie</a></li>
</ul>
</li>
<li>
<a>Recettes</a>
<ul class="menuderoulant">
<li><a href="nos-recettes.php">Nos recettes</a></li>
<li><a href="ingredients.php">Ingredients</a></li>
<li><a href="conservation.php">Conservation</a></li>
</ul>
</li>
<li>
<a href="prix-de-vente.php">Prix de vente</a>
</li>
<li>
<a>Guide produits bio</a>
<ul class="menuderoulant">
<li><a href="la-nature-en-parle.php">La nature en parle</a></li>
<li><a href="blog-bio.php">blog-bio</a></li>
<li><a href="ecobio.php">écobio</a></li>
</ul>
</li>
<li>
<a>Newsletter</a>
<ul class="menuderoulant">
<li><a href="inscrivez-vous.php">Inscrivez-vous</a></li>
<li><a href="connectez.php">Connectez vous</a></li>
</ul>
</li>
</ul>
<img src="images/bio.png" alt="Le bio" id="titre1" />
<div id="contenu">
La marque Vitae ne fait pas qu'utiliser
du bio,</br>
elle en fait tout un art.
<p>Un art de vivre, parce que bien vivre c'est
prendre </br>
soin de soi, de son alimentation et de son environnement.</p>
<p>Nos produits ont été travaillés pour apporter
un santé à notre corps</br>.
<p>Nos formules sont basées sur le respect </ br>
de la nature,de l'authentique.</p>
<p>Nous privilégions les vertues naturelles
des richesses que nous offre la Terre.</p>
<p>Plus nous faisons du bien à notre corps,
plus elle nous </br>
le rend.Telle est la devise de </br>
la marque Vitae.</p>
La marque Vitae ne fait pas qu'utiliser
du bio,</br>
elle en fait tout un art.
<p>Un art de vivre, parce que bien vivre c'est
prendre </br>
soin de soi, de son alimentation et de son environnement.</p>
<p>Nos produits ont été travaillés pour apporter
un santé à notre corps</br>.
<p>Nos formules sont basées sur le respect </ br>
de la nature,de l'authentique.</p>
<p>Nous privilégions les vertues naturelles
des richesses que nous offre la Terre.</p>
<p>Plus nous faisons du bien à notre corps,
plus elle nous </br>
le rend.Telle est la devise de </br>
la marque Vitae.</p>
<div id="footer">
<div id="footer-part">
<span class="copyright"> copyright © 2011 Vitae.Tous droits réservés</span>
<a href="#" class="cgv">CGV</a>
<a href="#" class="mentions_legales">MENTIONS LEGALES</a>
<a href="index.php" class="autre_langue">CHOISIR SA LANGUE</a>
<a href="#" class="contact">CONTACT</a>
</div>
</div>
</body>
</html>
Voici le code CSS:
[code=css
]
body {
width:100%;
background-color: #f2dade;
margin-top: 0pt;
margin-right: 0pt;
margin-bottom: 0pt;
margin-left: 0pt;
padding-top: 0pt;
padding-right: 0pt;
padding-bottom: 0pt;
padding-left: 0pt;
}
#header {
width: 100%;
min-width: 1400px;
margin-top: 10px;
height: 30px;
}
#header-contenant {
text-decoration:none;
float: right;
margin-right: 15%;
padding-right: 40px;
}
#contenu {
width:440px;
color: #bdae82;
margin-right: 0px;
margin-top: 10px;
margin-bottom: 100px;
margin-left: 0px;
left: 10px;
top: 130px;
right: 700px;
font-family: Arial;
font-size: 13px;
font-weight: 900;
padding-left: 20px;
padding-top: 0px;
padding-bottom: 0px;
padding-right: 0px;
}
#footer {
position: fixed;
background-color: #ffffff;
height: 28px;
width: 100%;
min-width: 1450px;
bottom:0px;
padding-bottom: 0pt;
padding-top: 0pt;
margin-bottom: 0pt;
margin-top: 0pt;
}
#footer-part {
position: absolute;
width: 1300px;
padding-left: 5%;
right: 24px;
left: 0pt;
}
[/code]
Pour ce qui est du code javascript,le plugin-scrollbar.js:
(function($) {
$.fn.scrollbar = function(params) {
// Fusionner les paramètres par défaut et ceux de l'utilisateur
params = $.extend( {
taille_englobe: 320, //Taille de l'espace visible - /!\ Doit être un nombre ou 'auto'
taille_scrollbar: 280, //Taille de la scrollbar - /!\ Doit être un nombre ou 'auto'
taille_bouton: 30, //Taille du bouton - /!\ Doit être un nombre
pas:80, //Pas du scroll molette - /!\ Doit être un nombre ou 'auto'
molette: true, //Détection du scroll molette - /!\ true ou false
drag: true, //Bouton de la scrollbar déplacable à la souris - /!\ true ou false
debug: false, //Afficher la console de debug - /!\ true ou false
style: 'basic', //Choix des styles - /!\ Par défault, il n'y a que le style 'basic'
position:'droite', //Position de la scrollBar - /!\ 'gauche' ou 'droite'
alignement_scrollbar:'haut', //Alignement de la scrollBar. Utilisé uniquement si elle à une taille inférieur à celle de taille_englobe
orientation: 'vertical', //Orientation du contenu, 'vertical' ou 'horizontal'
marge_scroll_contenu: 20, //Marge entre la scrollBar et le contenu - /!\ Doit être un nombre
largeur_scrollbar: 10, //Largeur de la scrollbar
}, params);
return this.each(function() {
var $$ = $(this);
var taille_englobe_init = params.taille_englobe;
var taille_scrollbar_init = params.taille_scrollbar;
//Fonction de calcul de position top maximum du contenu
function calcul_contenu_top_max(){
return params.taille_englobe - taille_contenu ;
}
//Fonction de calcul de position top maximum du bouton
function calcul_bouton_top_max(){
return params.taille_scrollbar - params.taille_bouton
}
//Fonction de calcul du déplacement du bouton
function deplacement_bouton(info_top_contenu){
//On calcul la nouvelle position du bouton
var depl_bouton = (info_top_contenu/calcul_contenu_top_max())*(calcul_bouton_top_max());
//On vérifie que ca déborde pas en haut
if(depl_bouton < 0){depl_bouton = 0;}
//On vérifie que ca déborde pas en bas
if(depl_bouton > calcul_bouton_top_max()){depl_bouton = calcul_bouton_top_max();}
$('#bouton').css({'top':depl_bouton+"px"});
}
function deplacement_contenu(info_top_bouton){
//On calcul la nouvelle position du contenu
var depl_contenu = (info_top_bouton/calcul_bouton_top_max())*(calcul_contenu_top_max());
//On vérifie que ca déborde pas en haut
if (depl_contenu > 0){depl_contenu = 0}
//On vérifie que ca déborde pas en bas
if (depl_contenu < calcul_contenu_top_max()){depl_contenu = calcul_contenu_top_max()}
$('#englobe').css({'top':depl_contenu+"px"});
}
function styler_scrollbar(position,orientation){
var type_marge_position;
var marge_position;
var marge_orientation;
switch (position){
case 'droite':
$('#englobe').after('<div id="scrollbar"><div id="bouton"> </div></div>');
$('#scrollbar').css({'margin-left':params.marge_scroll_contenu+'px'});
break;
case 'gauche':
$('#englobe').before('<div id="scrollbar"><div id="bouton"> </div></div>');
$('#scrollbar').css({'margin-right':params.marge_scroll_contenu+'px'});
break;
}
switch (orientation){
case 'haut':
$('#scrollbar').css({'margin-top':'0px'});
break;
case 'centre':
var marge = (params.taille_englobe -params.taille_scrollbar)/2;
$('#scrollbar').css({'margin-top':marge+'px'});
break;
case 'bas':
var marge = params.taille_englobe -params.taille_scrollbar;
$('#scrollbar').css({'margin-top':marge+'px'});
break;
}
}
var padTop=0;
var padBot=0;
//Hauteur du contenu
var taille_contenu = $$.height()+40;
function calcul_hauteur_auto(){
if(params.taille_englobe == "auto"){
padTop = $('#contenu').css('padding-top');
padTop = padTop.substring(0,padTop.length-2);
padBot = $('#contenu').css('padding-bottom');
padBot = padBot.substring(0,padBot.length-2);
params.taille_englobe = $(window).height()-40-padBot-padTop;
}else{return false}
}
calcul_hauteur_auto();
//La hauteur de l'espace visible est la hauteur de la fenetre du navigateur si taille_englobe="auto"
function controle_donnee(){
calcul_hauteur_auto();
//La taille du contenu doit être supérieur à celle de l'espace visible (taille_englobe)
if(taille_contenu > params.taille_englobe){
//La hauteur de la scroll bar est égale à la hauteur de "englobe" si hauteur_srollbar="auto"
if(params.taille_scrollbar == "auto"){params.taille_scrollbar = params.taille_englobe;}
//La taille de la scrollbar doit être inférieur ou égale à la taille de taille_englobe
if(params.taille_scrollbar > params.taille_englobe){
params.taille_scrollbar = params.taille_englobe;
}
return true;
}else{return false;}
}
//Si la hauteur du contenu est supérieur à la hauteur de l'espace visible
if(controle_donnee()){
//Au redimensionnement de la fenetre
//N'est concerné par cette fonction que les éléments en 'auto'
window.onresize = function() {
if(taille_englobe_init == "auto"){
params.taille_englobe = $(window).height()-40-padBot-padTop;
$$.css({'height':params.taille_englobe+'px'});
if(taille_scrollbar_init == "auto"){
params.taille_scrollbar = params.taille_englobe;
$('#scrollbar').css({'height':params.taille_scrollbar+'px'});
deplacement_bouton($("#englobe").css('top').substring(0,$("#englobe").css('top').length-2));
if(params.debug){affiche_position();}
}
}
};
//calcul des largeurs
var temp = $$.width();
$$.css({'width':params.marge_scroll_contenu+params.largeur_scrollbar+temp+'px'});
//On construit une div autour du contenu, mais à l'intérieur de la div
$$.wrapInner('<div id="englobe"></div>');
$$.css({'height':params.taille_englobe+'px','overflow':'hidden','position':'relative'});
$("#englobe").css({'top':0+'px','float':'left','position':'relative','width':temp+'px'});
//On construit la scrollBar
styler_scrollbar(params.position,params.alignement_scrollbar);
$$.append('<div class="clear"></div>');
$(".clear").css({'clear':'both'});
switch (params.style) {
case 'basic':
//Style de la scrollBar
$('#scrollbar').css({'width':params.largeur_scrollbar+'px',
'float':'left',
'height':params.taille_scrollbar+'px',
'margin':10+'px',
'top':10+'px',
'background':'#f2dade'
});
//Style du bouton de la scrollBar
$("#bouton").css({'width':params.largeur_scrollbar+'px',
'height':params.taille_bouton+'px',
'background':'#ffffff',
'top':0+'px',
'cursor':'pointer'
});
break;
}
//Si le drag du bouton est activé(true)
if(params.drag){
$("#bouton").draggable({
containment: 'parent',
axis: 'y',
start:function(){},
drag: function(event, ui) {
//ui.position.top est la valeur renvoyé par le plugin JQuery UI
deplacement_contenu(ui.position.top);
if(params.debug){affiche_position();}
},
stop: function(){}
});
}
if(params.molette){
$$.mousewheel(function(event, delta) {
//On récupère la position du contenu
var top_contenu = $('#englobe').css('top');
//On enlève le 'px' et on le convertit en entier pour pouvoir le manipuler
top_contenu = parseInt( top_contenu.substring(0,(top_contenu.length-2)) );
//On récupère la position du bouton
var top_bouton = $('#bouton').css('top');
//On enlève le 'px' et on le convertit en entier pour pouvoir le manipuler
top_bouton = parseInt( top_bouton.substring(0,(top_bouton.length-2)) );
//Si le delta est positif, c'est à dire que l'on "pousse" la molette
if (delta > 0) {
top_contenu = top_contenu + params.pas;
//On vérifie que l'on n'a pas atteint le haut du contenu
if(top_contenu > 0){top_contenu = 0}
$('#englobe').css({'top':top_contenu+"px"});
//Si le delta est négatif, c'est à dire que l'on "ramène" la molette
}else if (delta < 0){
top_contenu = top_contenu - params.pas;
//On vérifie que l'on n'a pas atteint le bas du contenu
if(top_contenu < calcul_contenu_top_max()){top_contenu = calcul_contenu_top_max()}
$('#englobe').css({'top':top_contenu+"px"});
}
//calcul de déplacement du bouton
deplacement_bouton(top_contenu);
if(params.debug){affiche_position();}
});
}
//Affiche la console de debug
if(params.debug){
$$.after('<div id="debug"></div>');
$('#debug').css({'position':'fixed','top':'200px','right':'50px', 'border':'2px solid #EF9700','background':'#FFDC9F','padding':'0px'})
.append('<p id="hauteurcontenu">Hauteur du contenu:'+taille_contenu+'</p>')
.append('<p id="hauteurenglobe">Hauteur de l\'espace visible:'+params.taille_englobe+'</p>')
.append('<p id="hauteurscrollbar">Hauteur du srcoll:'+params.taille_scrollbar+'</p>')
.append('<p id="hauteurbouton">Hauteur du bouton:'+params.taille_bouton+'</p>')
.append('<p id="topcontenu">Top du contenu:'+$$.css('top')+'</p>')
.append('<p id="topbouton">Top du bouton:'+$('#bouton').css('top')+'</p>')
.append('<p id="topmaxbouton">Top max du bouton:'+calcul_contenu_top_max()+'</p>')
.append('<p id="topmaxcontenu">Top max du contenu:'+calcul_bouton_top_max()+'</p>')
.children().css({'margin':'0','padding':'5px'});
//Fonction de mise à jour des infos de la console de debug
function affiche_position(){
$("#hauteurcontenu").html('Hauteur du contenu:'+taille_contenu);
$("#hauteurenglobe").html('Hauteur de l\'espace visible:'+params.taille_englobe);
$("#hauteurscrollbar").html('Hauteur du srcoll:'+params.taille_scrollbar);
$("#hauteurbouton").html('Hauteur du bouton:'+params.taille_bouton);
$("#topcontenu").html('Top du contenu:'+$('#englobe').css('top'));
$("#topbouton").html('Top du bouton:'+$('#bouton').css('top'));
$("#topmaxbouton").html('Top max du bouton:'+calcul_contenu_top_max());
$("#topmaxcontenu").html('Top max du contenu:'+calcul_bouton_top_max());
}
}
}else{
alert('Pas de scrollbar');
}
});
}
})(jQuery);
Mon probleme, pour bien l'expliquer est le bloc de texte contenu.
Dès que je dézoom à 75%, le bloc de texte se deplace.Par contre quand je zoom à + de 100%, rien ne se passe.
Je ne comprends pas pourquoi.
Merci pour votre aide. [/i][/i]