Bonjour à tous, je suis un newbee dan sle domaine CSS, et je fais appel à vous pour m'aider à trouver la solution.
J'ai rencotré 3 problèmes lors de la création d'un site en CSS:
Mon site se présente sous la forme:
HEADER (hauteur fixe)
menu onglets dynamique
-------------------------------------
MENU G | CONTENU
(largeur fixe)|
|
-------------------------------------------
FOOTER (hauteur fixe)
avec scrollbars désactivées
Mes soucis:
1. Comment figer le footer EXACTEMENT en bas de la page et qu'il reste visible même si on modifie la taille de la fenêtre?
La solution la plus viable que j'ai trouvé c'est de mettre un containeur qui prend 80% de la page pour inclure le milieu, mais quand on agrandi la fenetre, le footer n'est plus en bas de page
2. Le menu horizontal de type onglets à image coulissante, dynamique en fonction de l'option choisie dans le menu de gauche. Comment bloquer l'afichage de l'onglet active tant qu'on est sur la page qui lui corresponde (pour expliquer : on a un menu Accueil | Produits | Contact, si on passe la souris sur les menu ils changent d'apparence, mais quand on clique dessus, ils reviennent à leur état passif).
3. Lors de la réduction de la fenêtre, les menus qui dépassent l'espace visible de mettent en dessous de la première rangée, en couvrant le contenu qui s'y trouve
Voilà mes CSS
Et le code html:
MErci de votre aide,
[édité par Alan, mise en forme du code]
Modifié par Alan (14 Dec 2006 - 10:40)
J'ai rencotré 3 problèmes lors de la création d'un site en CSS:
Mon site se présente sous la forme:
HEADER (hauteur fixe)
menu onglets dynamique
-------------------------------------
MENU G | CONTENU
(largeur fixe)|
|
-------------------------------------------
FOOTER (hauteur fixe)
avec scrollbars désactivées
Mes soucis:
1. Comment figer le footer EXACTEMENT en bas de la page et qu'il reste visible même si on modifie la taille de la fenêtre?
La solution la plus viable que j'ai trouvé c'est de mettre un containeur qui prend 80% de la page pour inclure le milieu, mais quand on agrandi la fenetre, le footer n'est plus en bas de page
2. Le menu horizontal de type onglets à image coulissante, dynamique en fonction de l'option choisie dans le menu de gauche. Comment bloquer l'afichage de l'onglet active tant qu'on est sur la page qui lui corresponde (pour expliquer : on a un menu Accueil | Produits | Contact, si on passe la souris sur les menu ils changent d'apparence, mais quand on clique dessus, ils reviennent à leur état passif).
3. Lors de la réduction de la fenêtre, les menus qui dépassent l'espace visible de mettent en dessous de la première rangée, en couvrant le contenu qui s'y trouve
Voilà mes CSS
* {
margin:0;
padding:0;
}
body {
margin:0;
padding:0;
height: 100%;
background: #BFBDCC;
}
* html { /*removes the right scroll bar in IE.*/
overflow-y:hidden;
}
#conteneur { /* le conteneur global du site, qui sera centré */
bottom:0;
height:100%;
margin: 0 auto;
overflow:hidden;
position: relative;
top: 0;
width: 100%;
}
#header {
/* Le calque du haut de la page */
height: 70px;
background: #369 url(_images/fond_top2.gif) repeat-x bottom;
}
#topbar {
position:absolute;
/*background:#369 url(_images/fond_top2.gif) repeat-x bottom;*/
font:small Georgia,Serif;
_font:x-small;
/*font-size:93%;*/
line-height:normal;
height: 25px;
left: 200px;
top: 35px;
width:100%;
padding: 10px 0 0 0;
}
#sidebar { /* Le menu de gauche */
position: absolute;
left: 0;
width: 350px;
height: 400px;
top: 92px;
}
.boite {
/* Récipient pour accueillir le fond du menu gauche*/
float: left;
position :absolute;
left: 0;
width: 250px;
height: 400px;
top: 70px;
background-image: url(_images/fond_menu.gif);
background-repeat: no-repeat;
}
#main {
/* Le calque du contenu principal */
width: auto;
top: 50px;
height: 80%;
background: #FFFFFF;
margin-left: 200px;
overflow:auto;
}
#footer {
/* Le calque du bas de la page */
height: 30px;
padding: 5px 0 0 0;
left: 0;
background: #F8FD82;
}
.menugauche {
list-style-type: none;
margin: 25px 0 0 25px;
padding:0;
font-family: "Times New Roman", Times, serif;
font-size: 16px;
font-weight: bold;
}
.menugauche li {
margin-bottom: 30px;
}
.menugauche a {
margin: 0 2px;
color: #000000;
text-decoration:none;
}
.menugauche a:hover {
text-decoration: none;
}
p {
margin: 0 0 5px 0;
}
.bottom_lg{
/* Choix de la langue */
position:absolute;
height : 30px;
width: 170px;
right: 0;
}
.menu_lg{
font-size: 12px;
liste_style_type:none;
margin: 0;
padding: 0;
}
.menu_lg li{
float: left;
block: 25px;
margin-right: 3px;
text-align: right;
}
.menu_lg li a{
width: 53px ;
line-height: 25px ;
display: block ;
text-decoration: none ;
}
.lg1{
background-image: url(_images/flag_fr.jpg);
background-repeat: no-repeat;
}
.lg2{
background-image: url(_images/flag_gb.jpg);
background-repeat: no-repeat;
}
.lg3{
background-image: url(_images/flag_ro.jpg);
background-repeat: no-repeat;
}
#top_menu ul {
liste-style-type:none;
margin:0;
padding: 0;
}
#top_menu li{
display:inline;
margin:0;
padding:0;
}
#top_menu a{
float:left;
margin:0;
padding:0 7px 0 0;
border-bottom:1px solid #765;
text-decoration:none;
background: url(_images/right_roll.gif) no-repeat right top;
}
#top_menu a span{
float:left;
display:block;
font-weight:bold;
padding: 5px 2px 4px 20px;
color: #9cf;
background: url(_images/left_roll.gif) no-repeat left top;
text-decoration:none;
text-align: center;
white-space:nowrap;
}
#top_menu a:hover{
color: #0000FF;
background-position: 100% -100px;
}
#top_menu li:hover a{
background-position: 100% -100px;
}
/* Un forcing pour IE */
#top_menu a:hover span{
background-position: 0% -100px;
}
/* Commented Backslash Hack hides rule from IE5-Mac \*/
#header a span {float:none;}
/* End IE5-Mac hack */
#header a:hover span {
color:#333;
}
Et le code html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>DEFI GROUP - DEveloppement et Fabrication Industriels</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="accueil.css" rel="stylesheet" type="text/css">
<link href="top_menu.css" rel="stylesheet" type="text/css">
<link href="menu_g.css" rel="stylesheet" type="text/css">
<style type="text/css" media="screen">@import "accueil.css";</style>
</head>
<body>
<div id="conteneur">
<div id="header"> DEFI GROUP</div>
<div id="topbar">
<?php
# Affichage et changement du top menu en fonction du choix fait sur le menu de gauche
if (!isset($_GET['page'])) $page= 'menu'; else $page= $_GET['page'];
switch($page)
{
case 'menu': include ('top_menu/top_accueil.htm');break;
case ($page==1||($page>=10&&$page<=19)): include ('top_menu/top_presentation.htm');break; # top_menu presentation
case ($page==2||($page>=20&&$page<=29)):include ('top_menu/top_metiers.htm');break; # top_menu metiers
case ($page==3||($page>=30&&$page<=39)):include ('top_menu/top_produits.htm');break; # top_menu produits
case 4:include ('top_menu/top_offres.htm');break;
case 5:include ('top_menu/top_contact.htm');break;
}
?>
</div>
<div class="boite"></div>
<div id="sidebar">
<ul id="menu_g">
<li><a href="accueil_fr_frameless.php?page=1">Présentation</a></li>
<li><a href="accueil_fr_frameless.php?page=2">Metiers</a></li>
<li><a href="accueil_fr_frameless.php?page=3">Produits</a></li>
<li><a href="accueil_fr_frameless.php?page=4">Offres / Postuler</a></li>
<li><a href="accueil_fr_frameless.php?page=5">Contact</a></li>
</ul>
</div>
<div id="main">
<!-- http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP -->
<?php
if (!isset($_GET['page'])) $page= 'menu'; else $page= $_GET['page'];
switch($page)
{ # Pages thématiques affichées suite aux choix du menu à gauche
case 'menu': include ('contenu/accueil.htm');break;
case 1: include ('contenu/presentation.htm');break;
case 2:include ('contenu/metiers.htm');break;
# case '3':include ('contenu/clients.htm');break;
case 3:include ('contenu/produits.htm');break;
case 4:include ('contenu/offres.htm');break;
case 5:include ('contenu/contact.htm');break;
# Pages détaillées suite aux choix du top_menu
# Présentation
case '11' : include ('contenu/details/presentation/evolution.htm');break; # Evolution
case '12' : include ('contenu/details/presentation/sites.htm');break; # Sites de prod
case '13' : include ('contenu/details/presentation/clients.htm');break; # Clients
case '14' : include ('contenu/details/presentation/chiffres.htm');break; # Chiffres clés
case '15' : include ('contenu/details/presentation/innovations.htm');break; # Innovations
case '16' : include ('contenu/details/presentation/certifications.htm');break; # Certifications
case '17' : include ('contenu/details/presentation/environnement.htm');break; # Environnement
# Metiers
case '21' : include ('contenu/details/metiers/fabrication.htm');break; # Fabrication
case '22' : include ('contenu/details/metiers/logistique.htm');break; # Logistique
case '23' : include ('contenu/details/metiers/qualite.htm');break; # Qualité
case '24' : include ('contenu/details/metiers/etudes.htm');break; # Etudes
case '25' : include ('contenu/details/metiers/services.htm');break; # Services
case '26' : include ('contenu/details/metiers/evolution.htm');break; # Evolution carrière
# Produits
case '31' : include ('contenu/details/produits/decoupage.htm');break; # Découpage
case '32' : include ('contenu/details/produits/emboutissage.htm');break; # Emboutissage
case '33' : include ('contenu/details/produits/assemblage.htm');break; # Assemblage
case '34' : include ('contenu/details/produits/profilage.htm');break; # Profilage
case '35' : include ('contenu/details/produits/tubefil.htm');break; # Tube & Fil
case '36' : include ('contenu/details/produits/outillage.htm');break; # Outillage
# Offres / Postuler
# Contact
}
?>
</div>
<div id="footer">
<div class="bottom_lg">
<ul class="menu_lg">
<li class="lg1"><a href="#">FR</a></li>
<li class="lg2"><a href="#">EN</a></li>
<li class="lg3"><a href="#">RO</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
MErci de votre aide,
[édité par Alan, mise en forme du code]
Modifié par Alan (14 Dec 2006 - 10:40)