Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    forzare la larghezza a un elemento di lista

    Ciao a tutti...
    Sto creando un menu non ordinato, secondo questa struttura

    <ul class="download">
    [*]PrimaVocePrimaVocePrimaVocePrimaVocePrimaVocePrima Voce
    <li class="voceCorrente">Seconda Voce
    [*]Terza Voce
    [*]Quarta Voce
    [*]Quinta Voce
    [/list]


    Cosa succede ora? Nel primo elemento di lista ho inserito una voce molto lunga per vedere se andava a capo automaticamente, ma niente, sborda e continua sulla riga.
    Sapreste indicarmi la soluzione?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    definisci una larghezza per i[*]
    e assegna loro word-wrap: break-word;

    attenzione però: a questo punto il testo sarà troncato ovunque per andare sulla seconda riga, ovvero può capitarti che un testo lungo ma spaziato vada a capo così

    codice:
    testo molto lungo ch
    e può andare a capo

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Non funziona. Con Firefox 3 per Mac perlomeno.

    Questo è il css

    .download{
    width:124px;
    margin:0px 5px 0px 20px;
    padding:0;
    list-style-type: circle;
    text-align:left;
    }
    .download li {
    margin-bottom:5px;

    }
    .download li a, a:visited {
    display: block;
    width:130px;
    word-wrap: break-word;
    text-decoration:none;
    }

    .download li a:hover {
    text-decoration:underline;

    }

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    cambia così

    codice:
        .download li a,
        .download li a:visited {
            width       : 130px;
            word-wrap   : break-word;
            -moz-binding	: url(wordwrap.xml#wordwrap);  
            text-decoration:none;
        }

    metti questo file nella cartella del file css o del file html che contiene queste regole

    codice:
    <?xml version="1.0"?>
    <bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">
        <binding id="wordwrap" applyauthorstyles="false">
    	<implementation>
    		<constructor>
    			//<![CDATA[
    			var elem = this;
    			doWrap();
    			elem.addEventListener('overflow', doWrap, false);
    			
    			function doWrap() {
    				var walker = document.createTreeWalker(elem, NodeFilter.SHOW_TEXT, null, false);
    			 	while (walker.nextNode()) {
    					var node = walker.currentNode;
                        node.nodeValue = node.nodeValue.replace(/\s{2,}/g, ' ');
    					node.nodeValue = node.nodeValue.split('').join(String.fromCharCode('8203'));
    				}
    			} //]]>
    		</constructor>
    	</implementation>
        </binding>
    </bindings>
    e chiamalo wordwrap.xml

    dovrebbe funzionare

    Ciao
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Funzia!
    Grande

  6. #6
    Originariamente inviato da fcaldera
    cambia così

    ...
    e chiamalo wordwrap.xml

    dovrebbe funzionare

    Ciao
    Scusate se mi intrometto.
    Ma cos'è tutto quel pappardello di javascript e xml? Perchè viene usato?
    Firefox non supporta già le proprietà CSS correttamente?

    E poi questo rende non più accessibile il sito, no? (l'utilizzo di behavior o 'altro' in Javascript)

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da pictor
    Ma cos'è tutto quel pappardello di javascript e xml? Perchè viene usato?
    E' l'equivalente degli hypertext component .(HTC) che usa IE, ma per mozilla

    Originariamente inviato da pictor
    Firefox non supporta già le proprietà CSS correttamente?
    Non supporta correttamente la proprietà word-wrap: break-word;

    Originariamente inviato da pictor
    E poi questo rende non più accessibile il sito, no? (l'utilizzo di behavior o 'altro' in Javascript)
    No, la cosa peggiore che può capitare è quella di vedere il testo che deborda in mancanza di js, (brutto da vedere però lo vedi comunque) quindi è un progressive enhancement.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Originariamente inviato da fcaldera
    E' l'equivalente degli hypertext component .(HTC) che usa IE, ma per mozilla
    Non sapevo esistessero
    Non supporta correttamente la proprietà word-wrap: break-word;
    Buffo :master: ... o meglio 'strano'
    No, la cosa peggiore che può capitare è quella di vedere il testo che deborda in mancanza di js, (brutto da vedere però lo vedi comunque) quindi è un progressive enhancement.
    Giusto: JS non è il male assoluto

    E' curioso che stessi leggendo dei progessive enhancement proprio mentre me li hai citati (e non ne avevo mai sentito parlare prima!)...

  9. #9
    Integrazione: il problema, perlomeno con il menu da me sviluppato, sembra verificarsi solo con Firefox per Mac. Può essere che IE7 e FF per PC (nonchè Safari, per PC e MAC) gestiscano in modo corretto l'impaginazione del testo all'interno di un elemento di lista, e che invece FF per Mac continui a presentare un bug inq uesto senso?

  10. #10
    Ci sta.
    Dovresti cercare documentazione sui bug di quella versione del browser
    Prova a Googlare: <nome browser e versione> css bugs

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.