28120 sujets

CSS et mise en forme, CSS3

Bonjour tous,

J'ai un problème de bloc. Voir bloc droit (Programmation, Les radios du réseau...) http://www.socam.net/informations/

Le bloc droit (bloc 2) ne veut pas s'élargir de plus de 370px (sous firefox, opera, netscape) sinon il va se placer sous le bloc de gauche (bloc 1)

En réalité pour l'avoir comme j'aimerais il sagit de donner une valeur de 390px au bloc de droit (bloc 2). Lui donner une valeur de 390px fonctionne seulement sous IE sans problème.

XHTML:
[code]<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SOCAM Société de communication Atikamekw-Montagnais</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="../nouvelles/site.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" type="text/JavaScript">
<!--[if IE 6]>
<style>
wrapper {width: expression(document.body.clientWidth > 775 ? "775px" : (document.body.clientWidth < 571 ? "570px" : "94%"));}
</style>
<script type="text/javascript">
function calcWidth() {
document.getElementById('wrapper').style.width = document.body.clientWidth > 775 ? '775px' : (document.body.clientWidth < 571 ? '570px' : '94%')
}
onbeforeprint = function() {document.getElementById('wrapper').style.width = '100%';}
onafterprint = calcWidth;
onresize = calcWidth;
</script>
<![endif]-->
</script>
<link href="site.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="page">
	 <div id="wrapper">
     <div id="top"><img src="../images/feuilles_g.gif" width="66" height="128" alt=""/><a href="http://www.socam.net/"><img src="../images/logo2.jpg" alt="" width="132" height="128" border="0"/></a><a href="http://www.socam.net/"><img src="../images/socam.jpg" alt="" width="178" height="128" border="0"/></a><img src="../images/com_atik.jpg" width="94" height="128" alt=""/><img src="../images/kamekw.jpg" width="193" height="128" alt=""/><img src="../images/mic_g.jpg" width="59" height="128" alt=""/><img src="../images/mic_d.gif" width="55" height="128" /></div>
     <div id="photo"><img src="../images/feuilles_gb.gif" width="66" height="105" /><img src="../images/photo1.jpg" width="163" height="105" alt=""/><img src="../images/photo2.jpg" width="164" height="105" alt=""/><img src="../images/photo3.jpg" width="164" height="105" alt=""/><img src="../images/photo4.jpg" width="164" height="105" /><img src="../images/space_d.gif" width="56" height="105" /></div>
     <div id="boutons"><img src="../images/plume_g1.gif" width="66" height="37" alt=""/><a href="http://www.socam.net/nouvelles"><img src="../images/nouvelles1.jpg" alt="" width="94" height="37" border="0"/></a><img src="../images/infosursocam2.jpg" width="102" height="37" alt=""/><a href="http://www.socam.net/reseau"><img src="../images/reseau.jpg" alt="" width="79" height="37" border="0"/></a><a href="http://www.socam.net/radiolive"><img src="../images/radio_live.jpg" alt="" width="93" height="37" border="0"/></a><a href="http://www.socam.net/programmation"><img src="../images/prog.jpg" alt="" width="120" height="37" border="0"/></a><a href="http://www.socam.net/contacts"><img src="../images/contacts.jpg" alt="" width="87" height="37" border="0"/></a><a href="http://www.socam.net/liens"><img src="../images/liens.jpg" alt="" width="81" height="37" border="0"/></a><img src="../images/spaced_boutons.gif" width="54" height="37" alt=""/></div>
     <div id="titre"><img src="../images/plume_g2.gif" width="66" height="46" alt=""/><img src="../images/info_socam.jpg" width="656" height="46" alt=""/><img src="../images/spaced_nouvelles.gif" width="54" height="46" alt=""/></div>
        <div id="content">  
		  <div class="bloc1">
		  <img src="../images/scratch_top.gif" width="205" height="15" alt=""/>
		  <h1>Radiophonie autochtone</h1>
		  <h1>De média à réseau</h1>
		  <br/>
            <p>Fondée en 1983, SOCAM émerge de la volonté des radios communautaires
            locales de se regrouper pour former un véritable réseau de communication.</p>
            <br/>
            <p>L'idée d'établir un tel réseau permet l'établissement de liens directs
            et permanents entre les communautés montagnaises et atikamekw.</p>
            <br/>
            <p>Au milieu de populations géographiquement isolées, SOCAM joue également,
            depuis sa fondation, le rôle de centre de formation pour les Autochtones
            oeuvrant dans le domaine des médias et des communications.</p>
            <br/>
            <p>Aujourd'hui, SOCAM s'inscrit dans un monde de technologie d'avant-garde
            qui lui permet de transmettre son signal à ses quatorzes stations
            affiliées par satellite, en mode numérique.</p>
            <br/>
            <p>Le centre de production ainsi que le siège de SOCAM sont situés
            à proximité de Québec à Wendake. SOCAM dispose de deux studios de
            production dotés d'équipements sophistiqués.</p>
			<br/>
			<img src="../images/scratch_top.gif" width="240" height="20" alt=""/>
			<img src="../images/socam_logo.jpg" width="240" height="118" alt=""/>
			<h1>Notre logo</h1>
			<br/>
			<p>Le logo de la Société de Communication Atikamekw-Montagnais représente les deux Nations autochtones par l'entremise des deux personnes assises.<p>
			<br/>
			<p>Le tambour est un instrument de communication et il a été sauvegardé à travers des générations. Le tambours a été façonné à l'image des peuples atikamekw-montagnais.<p>
		    <br/>
			<p>Évidemment, la coupole-satellite représente l'ère moderne de communication numérique de nos radios.</p>
			<br/>
			<p>La forêt symbolise l'étendue du territoire desservie par la SOCAM, qui couvre le tiers de la superficie de la province du Québec et du Labrador.</p>
			 <img src="../images/scratch_bottom.gif" width="205" height="15" alt=""/>
			 </div>
          <div class="bloc2">
		  <img src="../images/scratch_top.gif" width="392" height="15" alt=""/>
		  <h1>Programmation</h1>
			<br/>
			<p>SOCAM met en place des programmations concertées avec les différentes radios
			  locales. Le réseau offre ainsi une programmation véritablement basée sur
			  les besoins et les attentes de ses auditeurs.</p>
			  <br/>
			  <img src="../images/scratch_top.gif" width="392" height="20" alt=""/>
			<h1>Les radios du réseau SOCAM fracassent</h1>
			<h1>les cotes d'écoute</h1>
			<br/>
			<p>La radio communautaire est un phénomène très important dans les communautés 
			autochtones. Partout au Canada, c'est le média le plus efficace dans son milieu.</p>
			<br/>
			<p>Diffusant dans les langues d'origines, SOCAM captive 85% de l'auditoire potentiel dans les communautés.</p>
			<br/>
			<img src="../images/scratch_top.gif" width="392" height="20" alt=""/>
			<h1>Un Réseau d'avenir</h1>
			<br/>
			<p>Le dynamisme du réseau radiophonique SOCAM se révèle par la variété de services offerts aux communautés qui ont été développés au cours des années.</p>
			<br/>
			<p>Publicité, marketing, formation professionnelle, traduction simultanée, information, recherche documentaire, voici les domaines dans lesquels SOCAM s'est spécialisé afin de mieux répondre aux besoins des communautés.</p>
			<br/>
			<p>Mieux desservir sa clientèle et s'assurer d'une bonne collaboration avec ses partenaires sont là les deux caractéristiques qui démarquent SOCAM dans son milieu.</p>
			<br/>
			<img src="../images/scratch_top.gif" width="392" height="20" alt=""/>
			<h1>Un Réseau bien implanté</h1>
			<br/>
			<p>SOCAM est membre du <a href="http://www.conseildepresse.qc.ca/" target="_blank"><font color="#D27E00">Conseil
		    de presse du Québec</font></a>. Elle entretient également des contacts internationaux en participant aux activités d'organismes tels que: l'association mondiales des artisans des radios communautaires. </p>
			<br/>
			<img src="../images/scratch_top.gif" width="392" height="20" alt=""/>
			<h1>Au service des communautés</h1>
			<h1>et de ses auditeurs</h1>
			<br/>
			<p>Sans but lucratif, la SOCAM offre aux communautés qu'elle dessert des services de communication et de radiodiffusion qui répondent à leurs besoins spécifiques. Information, culture, éducation, développement socio-économique, sont quelques-uns des thèmes privilégiés par le média.</p>
            <br/>
			<p>En plus d'exercer une présence et d'offrir un service de radiodiffusion auprès de ses communautés, la SOCAM apporte un volet publicitaire destiné aux entreprises et organismes autochtones et non-autochtones. La SOCAM, par sa radiodiffusion, contribue donc à l'ouverture des communautés tout en respectant leur caractère, leur culture et en favorisant leur développement.</p>
			<img src="../images/scratch_bottom.gif" width="392" height="15" alt=""/>
		  </div>
		  <div class="bloc3">
		  <img src="../images/scratch_top.gif" width="641" height="20" alt=""/>
		  	<h1>Mission et valeurs</h1>
			<h1>de la SOCAM</h1>
			<br/>
			 <p>MISSION</p>
			 <br/>
			 <p>Développer les communications médiatiques des communautés autochtones par le biais d'un réseau de services diversifiés en vue de favoriser l'essor des communautés et de promouvoir leur langue et leur culture.</p>
			 <br/>
			 <p>VALEURS</p>
			 <br/>
			 <p>-La langue et la culture,</p>
			 <p>-l'information,</p>
			 <p>-l'éducation,</p>
			 <p>-la sensibilisation,</p>
			 <p>-les relations avec d'autres peuples.</p>
			 <img src="../images/scratch_bottom.gif" width="641" height="15" alt=""/>
		  </div>
		       <div id="push"></div>
		</div>	   
			   

  <div id="footer">
		   <a href="http://www.pch.gc.ca/" target="_blank" onclick="window.open('http://www.pch.gc.ca/', 'Minist&egrave;re du patrimoine canadien / Department of Canadian Heritage', 'height=450, width=600, top=10, left=10, toolbar=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, status=yes'); return false; "><img src="../images/canada.gif" alt="" width="200" height="30" border="0"/></a>
		   <a href="http://www.mcc.gouv.qc.ca/" target="_blank" onclick="window.open('http://www.mcc.gouv.qc.ca/', 'Ministère de la Culture, des Communications et de la Condition féminine', 'height=450, width=600, top=10, left=10, toolbar=yes, menubar=no, location=no, resizable=yes, scrollbars=yes, status=yes'); return false; "><img src="../images/qc.gif" alt="" width="200" height="70" border="0"/></a><br/>
           <img src="../images/copyright2.gif" width="680" height="27" alt=""/><br/>
   </div>
</div>
</div>	     		 
</body>
</html>


CSS:
/* CSS Document */
* {
margin: 0;
}

body , html {
margin: 0;
padding: 0;
height:100%;
background-image: url(../images/bk2.gif);
min-width:790px;/* pour FF */
}

#page {
height: 100%;
}

#wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -6.3em;
background-image: url(../images/back.png);
behavior:  url(../informations/iepngfix.htc);
background-repeat: repeat-y;
text-align: left;
width: 790px;
}

#top{
text-align:center;
behavior:  url(../informations/iepngfix.htc);
}

#photo{
text-align:center;
behavior:  url(../informations/iepngfix.htc);
}

#boutons{
text-align:center;
behavior:  url(../informations/iepngfix.htc);
}

#titre{
text-align:center;
behavior:  url(../informations/iepngfix.htc);
}

#content{
padding-top : 1px;
padding-left : 100px;
padding-right : 90px;   
}

#content h1{
margin-left: 5px;
font-family : "Trebuchet MS", Georgia, Times, serif;
font-size :  110%;
font-weight : normal;
color : #993300;
}   

#content p{
margin-left: 5px;
font-family : "Trebuchet MS", Georgia, Times,serif;
font-size : 80%;
font-weight : normal;
color : #D27E00;
line-height : 140%;
}

.bloc1 {
background-color: #FCEFE1;
margin-left: -20px;
margin-top: 10px;
height: 100%;
width: 240px;
float: left;
}

.bloc2 {
background-color: #FCEFE1;
margin-top: 10px;
height: 100%;
width: 370px;
float: left;
margin-left: 10px;
}

.bloc3 {
background-color: #FCEFE1;
margin-left: -20px;
margin-top: 10px;
height: 100%;
width: 640px;
float: left;
}

#footer, #push{
clear: both;
height: 100%;
text-align:center;
}


Merci,

Alec
Modifié par Alec Effeil (01 Nov 2007 - 06:32)
Bonjour,

Avec le code HTML de cette page, les navigateurs tels que Firefox ou Opera afficheront la page en mode Standard, tandis qu'IE6 affichera la page en mode Quirks. D'où les différences dans la gestion des largeurs.

Faire une recherche sur les sujets suivants:
- le mode Quirks et mode standard;
- le modèle de boite CSS;
- prologue XML et mode Quirks.

Bonne continuation. Smiley smile
Bonjour,

Après avoir essayé tout les ''Doctypes'' possible, je n'ai eu aucun résultat quant-à mon problème avec le bloc 2, qui ne veut pas prendre une largeur de 390px sinon il ira se placer sous le bloc 1. Le seul changement que j'ai vu en testant les doctypes était que sous firefox, il y avait un espacement horizontal indésiré sous mes images du haut, espacement que je n'était d'ailleurs même pas capable d'enlever. Smiley ohwell

Merci quand même pour tes pistes Florent V....je vais continuer la dessu.
Modérateur
bonsoir

Ie7 semble bien se comporter , mais IE6 c'est la cata Smiley smile .
Pour ton probleme , Ne fait pas flotter bloc2 , en gardant les 390px de largeur , tu lui confère automatiquement le layout dans IE (grosso-modo L'élément concerné a alors une dimension propre et un espace réservé/attribué par IE a l'ecran). Le bloc va donc se degager et se positionner a coté du flottant (bloc1).
Pour retrouver un comportement analogue dans les autre navigateur (demarquage des flottant), ajoute au css : overflow:hidden; (par exemple et si tu ne donne pas de hauteur).


#bloc2 {
background-color: #FCEFE1;
margin-top: 10px;
height: 100%;
width: 390px;/* confère le layout dans IE */
overflow:hidden;/* ou auto , donne un comportement similaire dans les autres navigateurs  en se dégageant du flottant le précédent. */
margin-left: 10px;
}


Pour IE6 , peut-etre qu'une petite feuille de style corrective au travers des CC serait la bienvenue).

GC
Alec Effeil a écrit :
Après avoir essayé tout les ''Doctypes'' possible

Tu as bien commencé par virer le prologue XML? Il faut commencer par là pour éviter le mode Quirks dans IE6. Ensuite, s'assurer qu'on utilise un Doctype correct. Il n'y a pas trente six mille. Le Doctype XHTML 1.0 Transitional est à priori un bon choix.

Une fois que ce sera fait, il s'agira alors de corriger les 28 erreurs de validation du code HTML. Il y traine peut-être quelques erreurs de syntaxe qui pourraient mettre à mal ta mise en page.

Une fois que tout cela sera vu, on sera sur une base saine, notamment pour se pencher sur les aspects soulevés par gcyrillus.

Alec Effeil a écrit :
Le seul changement que j'ai vu en testant les doctypes était que sous firefox, il y avait un espacement horizontal indésiré sous mes images du haut, espacement que je n'était d'ailleurs même pas capable d'enlever. Smiley ohwell

C'est un comportement normal, et la FAQ du forum en parle. Smiley smile
Bonsoir,

Merci pour ton intérêt gcyrillus. J'ai apporté les changements à mon code mais le problème se retrouve alors dans IE tandis que dans Firefox tout est parfait. Bref le problème passe de l'un à l'autre en enlevant le float du bloc 2 et en ajoutant le (overflow: hidden;) .

Je ne suis pas très familier avec le css et ton truc de feuille de style corrective au travers des CC m'est complètement inconnu. Si tu peux me fournir de l'information supplémentaire la dessu ça serait bienvenue.

Merci encore Smiley ravi
Alec Effeil a écrit :
Je ne suis pas très familier avec le css et ton truc de feuille de style corrective au travers des CC m'est complètement inconnu. Si tu peux me fournir de l'information supplémentaire la dessu ça serait bienvenue.

La FAQ du forum en parle aussi. C'est fou ce qu'on y trouve, non? Smiley smile
Modérateur
arf , bonjour

Comme florent le fait remarqué , ton code html comporte des erreurs.

La première attitude a adopté alors , lorsque tu rencontre des problemes au niveau de l'application des regles css , comportement inhabituel ou difference entre differents navigateurs ,est de verifié la validité des doctype (si il y a) , puis la coherence du code html imbrication des differentes zones et balises et validité du code .

Ensuite , il est temps d'aller a la chasse au bug css.
Désolé d'etre intervenu si legerement et d'apporter encore plus de confusion a ton probléme (hmm , faut vraiment que je reste en vacances moi).

A prioiri , ton approche avec les flottants est la meilleure et avec une correction de ton code html , il y a toute les chances que le "css" ne soit pas a revoir.

L'histoire des CC est un plus qu'il te sera profitable de connaitre , pourtant ta page en fait deja usage !?!
extrait:
<!--[if IE 6]>
<style>
wrapper {width: expression(document.body.clientWidth > 775 ? "775px" : (document.body.clientWidth < 571 ? "570px" : "94%"));}
</style>
<script type="text/javascript">
function calcWidth() {
document.getElementById('wrapper').style.width = document.body.clientWidth > 775 ? '775px' : (document.body.clientWidth < 571 ? '570px' : '94%')
}
onbeforeprint = function() {document.getElementById('wrapper').style.width = '100%';}
onafterprint = calcWidth;
onresize = calcWidth;
</script>
<![endif]>


gc
Bonjour,

J'ai enlevé le prologue XML et gardé le doctype XHTML 1.0 Transitional. J'ai corrigé les erreurs du code HTML de ma page en me servant du ''Markup Validation Service'' et jusque là rien n'a changé. J'ai aussi installé MultiplieIEs et en effet sur les version précédante d'IE c'est la grosse cata! Smiley decu

J'ai aussi validé le CSS de ma page et mise à part un hack pour mon background en png tout semble bon.

http://www.socam.net/informations2/
Modifié par Alec Effeil (25 Oct 2007 - 04:44)
Bonjour,

J'ai réglé une partie du problème de mon bloc de droit en utilisant <!--[if IE 7]>

Donc sous IE7, Firefox et Netscape tout fonctionne comme je veux pour le bloc de droit, mais pour ce qui est d'Opera par exemple le margin-left: 10px; n'est pas pris en compte et le bloc se colle à l'autre bloc (bloc1). Y'a-t-il une raison pour laquelle le margin-left ne fonctionne pas sous Opera?

http://www.socam.net/informations2/

Voici le code CSS du bloc 2

#bloc2 {
background-color: #FCEFE1;
margin-top: 10px;
height: 100%;
width: 390px;
overflow: hidden;
margin-left: 10px;
}

Modifié par Alec Effeil (26 Oct 2007 - 04:18)
Bonjour,

Sur ta première version, avec la plupart des navigateurs tu ne peux pas élargir div#bloc2 au delà de 370px car... tu n'avais pas plus de 370px d'espace libre, tout simplement. La faute au padding-right: 90px de div#content.

Dans ta deuxième version, le problème est «réglé» en supprimant le float: left sur div#bloc2.

Pour ma part, j'aurais plutôt corrigé le padding de div#content:
#content {
padding-left: 80px;
padding-right: 70px;
padding-top:1px;
}
Ensuite, on peut supprimer la marge négative (margin-left: -20px;) sur div#bloc1, la largeur désormais inutile de div#bloc2, la largeur inutile et la marge négative parasite de div#bloc3. Et on devrait respirer un peu mieux.

Il y a également pas mal de height: 100% qui trainent dans le code, qui me semblent non seulement inutiles mais en plus dangereux (IE6 a l'air d'appliquer le height: 100% sur les éléments de pied de page...).

Alec Effeil a écrit :
mais pour ce qui est d'Opera par exemple le margin-left: 10px; n'est pas pris en compte et le bloc se colle à l'autre bloc (bloc1). Y'a-t-il une raison pour laquelle le margin-left ne fonctionne pas sous Opera?

Je ne sais pas si c'est volontaire, mais tu utilises un contexte de formatage pour que div#bloc2 vienne se placer à droite du flottant au lieu d'être recouvert par lui (comme c'est le cas en temps normal pour un élément de type bloc non flottant). Dans ce cas, les marges entre l'élément qui définit un contexte de formattage (div#bloc2, grâce au overflow: hidden) et le flottant ne sont pas toujours interprétées par les navigateurs, il me semble. Il est beaucoup plus sûr d'appliquer la marge au flottant (div#bloc1, à qui on attribuera un margin-right: 10px).

On peut aussi se passer de overflow: hidden, ainsi que du height: 100% (ce dernier est à supprimer de toute façon), supprimer le width: 390px inutile, et se contenter d'un margin-left: 250px sur div#bloc2.
Wow,

Merci vraiment pour ton aide Florent V. Pour IE7, Firefox, Netscape, Opera...Tout fonctionne à merveille! C'est génial.

Maintenant il me reste plus qu'à travailler sur les bugs de IE6 dont le centrage de la page qui semble faire défaut et le wrapper en alpha png qui ne semble pas afficher le repeat-y correctement.

Un gros merci,

Alec Smiley ravi

http://www.socam.net/informations/
Modifié par Alec Effeil (30 Oct 2007 - 22:26)