Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [pillola] min e max su IE6 e precedenti

    Forse non tutti sanno che tra i suoi bachi Internet Explorer annovera il mancato supporto di min-height, min-width, max-height e max-width.
    Questo è un grosso impedimento per me che sviluppo layout ridimensionabili, liquidi o fluidi.
    Già normalmente comunque uso almeno un file CSS per sovrascrivere le regole che IE non gestisce correttamente.

    Cominciamo dal più semplice.

    Implementare min-height anche su Internet Explorer
    La soluzione più semplice è stata spiegata (non se anche trovata o inventata) da Gianluca Troiani ed è nata dall'osservazione di come IE si comporta.
    Internet Explorer interpreta height come se si trattasse di min-height.
    Basta quindi servire solo a IE un valore dell'altezza pari al valore dell'altezza minima che serviamo agli altri browsers.
    Per servire solo a IE una regola CSS le strade sono molte... Gianluca nel suo articolo sfrutta un altro baco di IE: il mancato supporto di !important.
    Io normalmente per servire a IE regole particolari uso (sfruttando un altro baco ancora) * html.
    Basta infatti anteporre * html al selettore CSS perchè la regola in questione venga presa in considerazione solo da IE.

    Implementare max-width e min-width anche su Internet Explorer
    Le soluzioni trovate sono molteplici e tutto sommato abbastanza "sporche".

    C'è la soluzione "niente DTD".
    Ovvero al posto della dichiarazione di tipo di documento inserire:

    Vedi min-width, max-width re-hacked

    Ci sono le varie espressioni condizionali... vedi:

    max-width in Internet Explorer
    MAX-WIDTH and flexible layout with short lines
    funzionanti solo dipendentemente dalla risoluzione.
    Pertanto per i layout in em perfettamente inutili.

    Come suggerito da Gianluca (grazie ancora!) durante una discussione sul forum di Diodati bisogna usare un div aggiuntivo come riferimento per rendere questo sistema funzionante in em.

    Ci sono i vari javascript (molto pesanti a mio avviso e inadatti a layout complessi)... vedi:
    minmax.js
    (specifico per curare i bachi di cui stiamo parlando) e IE7 (che cura anche altri bachi).

    La soluzione che preferisco per il min-width rimane quella solo CSS di Stu Nicholls.
    Anche se richiede almeno 2 div aggiuntivi, è la soluzione più stabile (e forse pulita) che ho trovato.
    How to Use CSS to Solve min-width Problems in Internet Explorer
    riassunta su CSS PLAY.
    Vediamone un esempio.

    codice:
    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    <style type="text/css">
    body {background:#fff; font-family:sans-serif; font-size:100%; color:#000}
    
    /* per tutti i browsers seri */
    .width {width:50em; min-width:800px;}
    
    /* per IE6 */
    * html .minwidth {border-left:800px solid #fff; position:relative; float:left; z-index:1;}
    * html .container {margin-left:-800px; position:relative; float:left; z-index:2;}
    
    .container{background-color:#FF0000}
    
    </style>
    </head>
    <body>
    	<div class="width">
    		<div class="minwidth">
    			<div class="container">
    				
    				
    
    Contenuti</p>
    				
    			</div>
    		</div>
    	</div>
    </body>
    </html>
    In futuro approfondirò le parti che trovate più interessanti (ditemi! ditemi!) o che non capite.

    edit: ops mi son dimenticato un pezzo.

    Per migliorare il codice di Stu consiglio di aggiungere nel CSS riguardante il container width:100% (per i browser seri) e width:auto (per IE): gli elementi con larghezze in % all'interno così si dimensioneranno correttamente.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ultimamente ho trovato sconsigliato usare hack che sfruttano errori di sintassi dei browser. In effetti, se domani esce unapatch del browser che sistema solo l'errore di sintassi, l'hack fallisce.

    Invece conviene usare i commenti condizionali, che vengono riconosciuti solo in IE:
    codice:
    <!--[if IE]>
      <link rel="stylesheet" type="text/css" href="ie.css" />
    <![endif]-->
    Il codice proposto da Andrea, quindi diventerebbe:
    codice:
    <style type="text/css">
    body {background:#fff; font-family:sans-serif; font-size:100%; color:#000}
    
    /* per tutti i browsers seri */
    .width {width:50em; min-width:800px;}
    
    .container{background-color:#FF0000}
    </style>
    
    <!--[if IE]> <style type="text/css"> /* per IE6 */
    .minwidth {border-left:800px solid #fff; position:relative; float:left; z-index:1;}
    .container {margin-left:-800px; position:relative; float:left; z-index:2;}
    </style><![endif]-->
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Mich se risolvono * html e !important risolvono probabilmente anche gli altri bachi tipo min-width ecc... ... per il momento continuo ad usarli e non vedo controindicazioni

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La controindicazione puo` essere IE7 (in uscita in primavera o estate).

    Ritengo piu` semplice modificare un commento condizionale (eventualmente aggiungendo o togliendo il nuovo browser), che modificare gli hack.

    Esempio:
    Supponi che IE7 abbia ancora una serie di bachi, diciamo il 70% di quanti ne ha IE6 (probabilmente e` una cifra ragionevole), ma che non abbia piu` gli errori di sintassi.

    Devi andare in tutte le vecchie pagine a modificare gli hack.

    Invece se hai commenti condizionali devi solo modificare il commento se interessato dal nuovo browser (cosa che puoi fare molto piu` facilmente).


    Comunque mi rendo conto che e` una discussione teorica e prematura. Volevo solo mettere una pulce a qualcuno.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    IE7 penso avrà una gestione dei CSS molto migliore di quello che pensi... il problema dipenderà semmai dalla sue relativa diffusione per almeno un altro anno... infatti l'intenzione sembra quella di farlo uscire con Vista/Longhorn...
    quanti avranno quel s.o. avranno IE7...

    comunque per importare il file con le regole per IE uso
    /*\*/ @import "per_ie.css"; /**/
    come su http://www.nexus6design.com/w3au/
    che ne pensi?

    volendo si potrebbe usare il commento condizionale...


  6. #6

    Aggiornamento

    è stata rilasciata la beta 2 pubblica di Internet Explorer 7.

    Sembra (non ho ancora provato) che non supporti ancora il min-width.

    Bisogna quindi servire con un commento condizionale adeguato come suggerito da Mich (gli altri filtri probabilmente non funzionano).

    Appena ho tempo provo anche questo.


  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ecco cosa scrive blackwolf in un'altra lista:
    Riassumo un po le nuove feature per gli sviluppatori:

    * hover su tutti gli elementi
    * position: fixed;
    * maggiore supporto ai selettori
    * maggiore supporto agli elementi HTML/XHTML
    * supporto trasparenza PNG
    * maggiore supporto agli httpHandler per AJAX*
    * supporto nativo in js di xmlHTTP, e quindi abbandono (teorico) di
    active-x per usare ajax

    Diversi programmatori stanno però constatando che IE7 ha un nuovo box-model

    saluti
    E, ancora, in risposta ad una domanda:
    > approfitto della tua cortesia.
    > Sei in grado di precisare, per cortesia, il punto relativo ai selettori?
    > Grazie

    nel link che ho postato prima c'erano maggiori informazioni in merito.
    sembra comunque che ora supporti i selettori di adiacenza e di discendeza.
    Un altro utente (Marco Bertoni):
    Si li dovrebbe supportare (uso il condizionale percé con Micorsoft non si sa mai ) ...

    Segnalo un post del loro blog che spiega egregiamente quali problemi si potrebbero incontrare con gli hack CSS che siamo soliti usare per supplire alle carenze di IE6 e precedenti: http://blogs.msdn.com/ie/archive/2005/10/12/480242.aspx .

    ciao
    Gioacchino:
    In sostanza dobbiamo sempre correre ai ripari!
    E se noi facessimo
    <!--[if IE]>
    Probabilmente questo Browser non supporta tutte le caratteristiche.
    <![endif]-->
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Segnalo questo articolo... probabilmente prematuramente
    http://www.ibloomstudios.com/article7/
    ecco il primo filtro per IE7...

  9. #9

  10. #10
    Utente di HTML.it L'avatar di span
    Registrato dal
    Jan 2004
    Messaggi
    1,644
    Originariamente inviato da andrea.paiola
    Segnalo questo articolo... probabilmente prematuramente
    http://www.ibloomstudios.com/article7/
    ecco il primo filtro per IE7...
    interessante

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.