Visualizzazione dei risultati da 1 a 10 su 10

Discussione: link e display:block

  1. #1

    link e display:block

    'sera a tutti,

    chi mi da una mano ?

    ho questa pagina di esempio

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Untitled Document</title>
    <style>
    ul, li {margin:0 0 0 10px;padding:0;}
    
    li a {display:block;border-bottom:2px solid #eee;}
    
    #box {width:200px;border:1px solid silver;}
    </style>
    </head>
    
    <body>
    
    <div id="box">
    <ul>[*]ppppp[*]ppppp[*]ppppp[*]ppppp[*]ppppp[/list]
    </div>
    
    </body>
    </html>
    domanda: perchè se metto display:block; al link in IE mi spazia la lista (in verticale) in modo inaspettato ?

    Grazie

  2. #2
    elimina la lista, a questo punto non ti serve...

  3. #3
    domanda: perchè se metto display:block; al link in IE mi spazia la lista (in verticale) in modo inaspettato ?
    Semplice: perchè Explorer è Explorer

    Scherzi a parte, è un bug noto, risolvibile mettendo un display:inline; al[*] (nel qual caso però mi sa che ti toccherà rivedere i margin e i padding) oppure impostando l'altezza dei blocchi <a>.
    "This is the end, Clark... for both of us"

  4. #4
    Originariamente inviato da erredeco
    Semplice: perchè Explorer è Explorer

    Scherzi a parte, è un bug noto, risolvibile mettendo un display:inline; al[*] (nel qual caso però mi sa che ti toccherà rivedere i margin e i padding) oppure impostando l'altezza dei blocchi <a>.
    dunque, ho messo display:inline e ottengo il medesimo effetto a parti invertite, ovvero succede su FF mentre su IE "diciamo" di no.

    alla fine ho optato per un altro metodo, altrimenti non ne esco + fuori

    @lukeonweb:

    elimina la lista, a questo punto non ti serve...
    ????

    certo che mi serve

  5. #5
    dunque, ho messo display:inline e ottengo il medesimo effetto a parti invertite, ovvero succede su FF mentre su IE "diciamo" di no.
    Se vuoi fare in modo che del codice css sia interpretato solo da IE puoi usare un commento condizionale, oppure il più classico "star hack":

    * html selettore {/*regole css da non far vedere a FF e OP*/}
    "This is the end, Clark... for both of us"

  6. #6
    Originariamente inviato da erredeco
    Se vuoi fare in modo che del codice css sia interpretato solo da IE puoi usare un commento condizionale, oppure il più classico "star hack":
    vorrei evitare, comunque come dicevo ho optato per altre strade, in modo da ottenere il medesimo risultato

    grazie

  7. #7
    Originariamente inviato da erredeco
    Se vuoi fare in modo che del codice css sia interpretato solo da IE puoi usare un commento condizionale, oppure il più classico "star hack":
    Questo Star hack da te citato esclude le dichiarazioni al suo interno per Firefox e OP??


    X serialkiller :

    Mi farebbe piacere sapere quale soluzione hai adottato^^.

  8. #8
    Originariamente inviato da Another-Life
    Questo Star hack da te citato esclude le dichiarazioni al suo interno per Firefox e OP??


    X serialkiller :

    Mi farebbe piacere sapere quale soluzione hai adottato^^.
    è u po' complesso perchè è complessa la situazione in generale, il motivo per cui dovevo settare display:block al link era dovuto alla necessità di creare un linea sottostante al ai vari link, senza display:block la linea si limitava al testo del link e non a tutta la lunghezza del[*], per una serie di motivi, non potevo settare il border-bottom della lista, insomma per risolvere ho usato uno span dentro il quale vi sono i vari link

  9. #9
    Originariamente inviato da Another-Life
    Questo Star hack da te citato esclude le dichiarazioni al suo interno per Firefox e OP??
    Esatto. Lo star hack funziona in questa maniera:

    1 - "*" è il carattere jolly che sta per "tutto"
    2 - * html significa quindi "tutto quello che ha come figlio il tag <html>" solo che... il tag <html> NON ha un padre !! L'unico browser convinto che <html> possa avere un tag più esterno che lo contenga è IE, mentre tutti gli altri saltano una dichiarazione così bislacca.

    Lo star hack funziona di sicuro fino a IE6; non saprei dirti sul 7; per questo motivo sarebbe sempre meglio introdurre gli hack per IE in un commento condizionale.
    "This is the end, Clark... for both of us"

  10. #10
    Cap thx

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 © 2026 vBulletin Solutions, Inc. All rights reserved.