Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: problema con width

  1. #1

    problema con width

    ciao a tutti, mi si è verificato un problema di cui ignoravo l'eventualità:

    nel foglio di stile:
    codice:
    #cvd{
    	width:35px;
    	padding-right:11px;
    	display:inline;
    	overflow:hidden;
    }
    
    #cvd img{
    	position:relative;
    	right:-11px;
    	top:-2px;
    }
    nella pagina web:
    codice:
    [...]
    <script type="text/javascript">
    function toggle_cvd(){
    	var cvd = document.getElementById('cvd');
    	var exp_clp = document.getElementById('exp_clp');
    	if(cvd.style.width==35){
    		cvd.style.width=120;
    		exp_clp.src="./clp.png";
    	} else if(cvd.style.width==120){
    		cvd.style.width=35;
    		exp_clp.src="./exp.png";
    	} else {
    		cvd.style.width=35;
    		exp_clp.src="./exp.png";
    	}
    }
     </script>
    [...]
    <div id="cvd" style="width:35px;">
     <span title="Adobe Acrobat Portable Document Format">pdf</span>,
     <span title="Formato Microsoft Office Word 2007">docx</span>,
     <span title="Formato Microsoft Word 97-2003">doc</span>,
     <span title="Rich Text Format (Word Pad)">rtf</span>
     [img]./exp.png[/img]
    </div>
    [...]
    ignorando lo script, che ho inserito solo per esplicitare cosa voglio fare, non capisco perchè il div ignori completamente la proprietà width del foglio di stile!!
    qualcuno mi sa aiutare?
    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di vikey89
    Registrato dal
    Apr 2009
    Messaggi
    333
    Perchè specifici 2volte width???
    e poi nel foglio css specifica il background..

  3. #3
    no la seconda volta che lo specifico era sl un test per vedere se almeno così me la vedeva, ora non c'è più! e cosa me ne faccio del background? deve rimanere trasparente come se il div nemmeno ci fosse! io voglio solo che si rimpicciolisca alla width che IO gli dico!!! xk nn lo fa?

    ah e tra l'altro mi sono accorto che non mi prende nemmeno lo script!!! ok che il div non si ridimensiona ma dovrebbe cambiarmi almeno le immagini invece? NO!!

    sto impazzendo aiutatemi

  4. #4
    Utente di HTML.it L'avatar di vikey89
    Registrato dal
    Apr 2009
    Messaggi
    333
    inserisci background:trasperent; vede se ti da qualkosa

  5. #5
    nada!!!! esattamente come prima!

  6. #6
    ok ho individuato il problema: dove c'è una proprietà display:inline; css ignora bellamente ogni valore di width e lo renderizza come se fosse settato ad auto anche se il valore della proprietà display fosse effettivamente quella inserita...

    questo però non fa altro che farmi arrabbiare di più perché non ha alcun senso!!! io voglio che ci sia un'area che si visualizzi inline, che abbia una larghezza precisa e che su comando javascript si espanda come detto nello script sopracitato (lo so che quello che ho postato è sbagliato, l'ho corretto ora).

    in ogni caso mi sembra una cosa non semplice: di più!!!! qualcuno ha qualche suggerimento!?!?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    E` un problema di semantica.

    Se un elemento e` inline, non ha senso che abbia una larghezza definita: si prende lo spazio necessario. E all'interno di un inline non ci possono essere elementi posizionati (ne` elementi di tipo blocco).

    Per cosa hai usato il display:inline? Se e` solo per affinacare gli elementi, lo puoi fare (meglio) con i float.
    Altrimenti un <div> e` di default di tipo blocco, e come tale puo` avere dimensioni
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    ma non ha senso che non posso digli che deve avere una certa dimensione!!! uffa...
    io voglio fare un div (o uno span qualunque cosa va bene) che si visualizzi all'interno del testo e che sia contraibile in modo tale che se ne veda solo una parte salvo esplicito comando...
    dici che è impossibile quindi?

    una roba così più o meno:
    http://ultimateshadow.altervista.org/sample.gif

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non ho detto che e` impossibile!
    Ho detto che se usi un elemento inline la cosa non ha senso.

    Lo puoi fare con un elmento di tipo blocco.
    Prova a togliere il
    display: inline;
    al tuo CSS: a quel punto il blocco puo` dimensionarsi.

    Nota: potresti avere degli effetti collaterali (perche` di solito il display:inline viene inserito per qualche motivo di layout): in tal caso il layout va rivisto, usando strutture semantiche (e non inserendo attributi a caso "finche` qualcosa funziona in qualche modo")
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  10. #10
    d'accordo ma display:block; per definizione mette un'interruzione di linea prima e dopo il blocco!!! eco perchè non l'ho ancora provato... l'unica cosa che mi vine in mente a questo punto è di inserire il div con display:block; all'interno di uno span con display:inline; ma non è un po macchinoso?

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.