2010-09-29 6 views
2

Je suis en train de coder ie6 css exclusif, dans lequel je suis confronté au problème. Le pied de page ne prend pas la valeur min-width alors qu'il accepte la valeur de largeur fixe. J'utilise le repeat-x pour une image et lui assigne une valeur min-width. La même chose que j'ai fait avec header div et ça marche parfaitement bien. Par exemple, voici mon code.Pourquoi la min-largeur ne fonctionne-t-elle pas pour ie6?

En-tête HTML que j'ai utilisé dans le même but.

<div id="header"> 
<!-- top-menu --> 
    <div id="top-menu"> 
     <div id="left-logo"> 
     <a href="#"><img src="img/logo-left.png" alt="BhatkalNews" /></a> 
     </div> 
     <div id="navigation"> 
     <ul> 
     <li class="contact"><a href="#"><img src="img/contact.png" alt="contact" /></a></li> 
     <li class="photo"><a href="#"><img src="img/photo.png" alt="photo"/></a></li> 
     <li class="video"><a href="#"><img src="img/video.png" alt="video" /></a></li> 
     </ul> 
     </div> 
     <div id="right-logo"> 
     <a href="#"><img src="img/logo-right.png" alt="BhatkalNews" /></a> 
     </div> 
    </div> 
</div> 

Et voici le css que j'ai utilisé.

#header { 
    min-width: 1040px; 
    height: 111px; 
    background: url('../img/header-bg.jpg') repeat-x; 
} 

et dans le même but, le code de pied de page est.

<div id="footer"> 
</div> 

et le css

#footer { 
    min-width:1040px; 
    background:#36240A url('../img/footer.jpg') repeat-x; 
    height:291px; 
} 

Pourquoi le pied de page ne pas attribuer la largeur min?

Répondre

0
bien

pour être franc aucune de la solution satisfaisante pour moi a travaillé. et après avoir fait une solution de contournement je suis venu avec cette solution.

<div id="footer"> 
    <div id="footer-content"> 
    </div> 
</div> 

J'ai défini le pied de page. et enveloppé pied de page contenu à l'intérieur et assigné la largeur de 990px ​​car je voulais que le contenu soit enveloppé dans 940px j'ai donné un remplissage de 50px; à gauche. voici le css que j'ai utilisé.

/*footer*/ 
#footer { 
    height: 291px; 
    background: url('../img/footer.jpg') repeat-x; 
} 
#footer-content { 
    margin:0 auto!important; 
    width: 990px; 
    height:291px; 
    padding-left:50px; 
} 

cela fonctionne parfaitement bien pour moi et les positions de la div parfaitement bien, même si je redimensionne. merci pour toute l'aide les gars.:)

2

Malheureusement, la largeur minimale ne fonctionne tout simplement pas dans IE6. Il y a quelques hacks basés sur javascript que vous pouvez essayer si vous avez absolument besoin d'utiliser min-width.

+0

si tel est le cas, alors comment se fait-il fonctionne pour en-tête, je l'ai testé à l'aide de nombreux outils pour IE6. –

+2

min-width n'est pas supporté par IE6. Ce que vous voyez est probablement le fait que les DIV sont des éléments de niveau bloc et donc 100% de largeur par défaut. –

5

IE6 (pas même 7) ne prend pas en charge la largeur minimale.

Expresssions try comme

width: expression(document.body.clientWidth < 1040 ? "1040px" : "auto"); 
+3

expressions sont diable lent. – Stephen

+0

@Stephen - Votre solution de contournement utilise Expressions :) –

+0

Aussi je viens de remarquer que votre expression définit une "largeur maximale" et non une "largeur min" – Stephen

1

min-max et la largeur de la largeur ne sont pas supportées par ie6.

Here is a workaround que j'ai trouvé avec un google rapide.

Bien que je ne l'ai pas testé, il semble être sain.

+0

+1 pour la solution de contournement –

5

Min largeur ne fonctionne pas avec IE6 - pas de surprises, car IE6 est terrible.

Il y a quelques solutions de contournement, voici one:

{width:90%; min-width:1040px} 

Fondamentalement, l'utilisation de largeur avec un pourcentage - vous devrez expérimenter sur le pourcentage en fonction de ce que vous essayez d'atteindre.

+0

+1 pour la solution de contournement –

1

Cela ne fonctionne que dans IE:

#footer{ 
    width:expression 
     (document.body.clientWidth < 1040? "1040px": "auto") 
} 
+0

cela ne fonctionne pas dois-je l'envelopper avec une balise de script? –

+0

@Ibrahim Cessez d'utiliser "n'est pas" quand vous voulez dire "n'est pas". "n'est pas" n'est pas un mot. – meagar

0

Essayez _width: 1040px; avec min-width: 1040px;

+0

IE 6 ne prend pas en charge la largeur minimale, mais il traite beaucoup la largeur comme min-width. votre réponse utilise une astuce qu'IE6 ignore les traits de soulignement principaux, alimentant ainsi une largeur à IE, qui est ignorée par les autres navigateurs. –

0

Puisque vous codez exclusivement pour IE6, il est beaucoup plus simple il suffit d'utiliser:

Largeur: 1040px;

IE6 ne reconnaît pas la largeur minimale, mais traite mal la largeur, comme s'il s'agissait d'une largeur minimale.

(Si ce n'est pas exclusivement pour IE6, vous pouvez utiliser un hack, comme la _width qu'ils vous ont déjà suggéré ... ou, mieux encore, utiliser des commentaires conditionnels).

Questions connexes