2012-05-03 10 views
12

Ho trovato un bug in un sito che ho creato in IE7.Bootstrap da Twitter IE7 bug

URL del sito: http://moldipaints-dokkum.nl/productcontroller/getProductList/19

Quando si apre un prodotto in IE7 modale bootstrap è dietro la pagina e la sovrapposizione grigia è in cima. e le immagini sono al di sopra del modale.

ho cambiato il seguente:

posizione css: relativo/assoluto/fisso (Solo modale non è mostrando correttamente)

css z-index: (Non alcuna differenza)

potenziale correzione Twitter (Github); http://jsfiddle.net/ATeaH/8/

Nessuno di questi è corretto. Cosa posso fare per farlo funzionare?

Codice Update dal progetto

Rendering page

<?php 
    if(isset($productByType)){ 
     $countwidth = (count($productByType)/2)*260+100; 
    }?> 



    <div class="productView"> 
     <div class="aligndiv"> 
      <div class="productcenter"> 
       <div class="productenview"> 
        <div class="productcontainer" style="width:<[email protected]$countwidth?>px;" > 
         <?php 
         if(!empty($productByType)){ 
         for($i=0;$i < count($productByType); $i++){ 

         $id = $productByType[$i]['id']; 
         $title = $productByType[$i]['title']; 
         $img = base_url('/img/producten/'.$productByType[$i]["img"]); 

         if($i % 2 == 0){ 
          echo '<div class="seperatorforproduct">'; 
         //0,2,4,6,8 
         } 

        echo '<div class="button btnstyle">'; 
        echo '<div class="imgbtn">';  
        // <!-- afbeelding --> 
        echo '<img src="'.$img.'" title="'.$title.'" alt="'.$title.'" data-toggle="modal" href="#modal'.$id.'" />'; 
        echo '</div>'; 
        echo '<div class="txtbtn txtstyle">'; 
        echo '<a class="btn" data-toggle="modal" href="#modal'.$id.'" >'.$title.'</a>'; 
        echo '</div>'; 
        echo '</div>'; 
        ?> 
        <div class="modal" style="display:none;" id="modal<?=$id?>"> 
         <div class="modal-header"> 
          <a class="close" data-dismiss="modal">&times;</a> 
          <h2><?=$title?></h2> 
         </div> 
         <div class="modal-body"> 
          <div class="modal-left"> 
          <img src="<?=$img?>" title="<?=$title?>" alt="<?=$title?>" /> 
          </div> 
          <div class="modal-right"> 
          <p><?=$productByType[$i]['info']?></p> 
          </div> 
         </div> 
         <div class="modal-footer"> 
          Neem contact op met Moldipaints-Dokkum.nl voor meer informatie, telefoonnummer: 0519-297409 
         </div> 
        </div> 

        <?php 
        if($i % 2 == 1 || $i == count($productByType)){ 
         // 0,3,6,9,12 
         echo '</div>'; 
        } 
       }  
      }?> 
     </div> 
    </div> 
</div> 

CSS Bootstrap

.modal-backdrop { 
     position: fixed; 
     top: 0; 
     right: 0; 
     bottom: 0; 
     left: 0; 
     z-index: 10; 
     background-color: #000000; 
    } 
    .modal { 
     position: absolute; 
     top: 50%; 
     left: 50%; 
     z-index: 1000; 
     min-height: 500px; 
     width: 700px; 
     margin: -275px -380px; 
     background-color: #ffffff; 
     border: 1px solid #999; 
     border: 1px solid rgba(0, 0, 0, 0.3); 
     *border: 1px solid #999; 
     /* IE6-7 */ 

     -webkit-border-radius: 6px; 
     -moz-border-radius: 6px; 
     border-radius: 6px; 
     -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); 
     -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); 
     box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3); 
     -webkit-background-clip: padding-box; 
     -moz-background-clip: padding-box; 
     background-clip: padding-box; 
     } 

progetto di stile CSS

/* Producten */ 
    .productView{position:absolute; width:100%; height:700px; top:50px; margin:auto;} 
    .aligndiv{position:relative; width:1024px; margin:auto;} 
    .productcenter{width:1024px; height:500px; margin:auto;} 
    .productenview{position:relative; width:480px; height: 600px; overflow-x:scroll; overflow-y:hidden; float:left; left:10%; margin:auto; margin-right:300px} 
    .productcontainer{height: 400px; margin-top:90px; z-index:0;} 
    .productmenu{position:absolute; width:300px; top:100px; right:5%; z-index:0;} 
    .seperatorforproduct{position:relative; width:240px; height:480px; float:left;} 

Grazie in anticipo

+0

Scusami, ho modificato il mio post – Loed

+0

Ho appena risolto con un altro modal. Grazie per il tuo tempo. Per riferimento: http://www.queness.com/post/77/simple-jquery-modal-window-tutorial – Loed

+0

Si prega di aggiungere la soluzione come risposta e accettare così altri sanno che è risolto :) –

risposta

22

Ho riscontrato lo stesso problema con il popup modale in IE7. La finestra di dialogo modale è stata visualizzata sotto lo sfondo modale. Tuttavia, l'aggiunta di questa javascript DID risolvere il problema per me:

$('.fixedVersion .modal').appendTo($("body")); 

maggiori dettagli qui: http://jsfiddle.net/ATeaH/8/

+0

Grazie per l'ottima idea e il violino completo: D –

+1

Non posso prendermi il merito del violino, il link era nella domanda. –

3

Ho avuto lo stesso problema e ha finito per fissare il problema 1) assicurandosi che tutte le mie finestre di dialogo modali erano non nidificato nella gerarchia HTML, ma al livello di root (all'interno di <body>) e 2) alla fine del documento HTML.

Le due condizioni di cui sopra possono essere un po 'eccessivo, ma ha risolto il problema per me.