Precedente :: Successivo |
Autore |
Messaggio |
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Mar 2005 16:21 Oggetto: [CSS] larghezza minima con IE |
|
|
A seguito di disperati tentativi falliti mi rivolgo a voi esperti di css.
Sto realizzando un organigramma senza usare le tabelle, sono a buon punto ma mi seriverebbe realizzare una linea orizzontale.
Ho una classe di questo tipo:
Codice: | .right {
top: 50%;
left: 100%;
width:33%;
margin-left: 0.05em;
border-bottom: 0.05em solid #000;
} |
Su IE non si vede nulla, l'unico modo per far apparire qualcosa è di mettere degli spazi, a quel punto anche con IE si allarga. Ovviamente io non posso sapere quanti metterne, altrimenti perché avrei usato una percentuale.
Tutto il mio layout si riadatta inpercentuale per occupare tutto lo schermo, mi dispiacerebbe dover rinunciare per una pecca di IE.
help |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Mar 2005 17:10 Oggetto: Trovato |
|
|
Ho trovato l'errore, era tutto da un'altra parte... era impostato
e poi tentavo di allargare i "li" con
Codice: | ul { width:33%; } |
Ho tolto l'istruzione dall'ul e sembra andare.
La cosa strana è che se la larghezza dei li la mettevo in em l'impostazione sull'ul veniva ignorata, se la mettevo in percentuale invece ignorava quella dei li.....
Pazienza, l'importante è che funzioni. |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 23 Mar 2005 17:16 Oggetto: |
|
|
devi dare un'unita' di misura, altrimenti il validatore dovrebbe darti errore
cmq ben felice che tu abbia risolto
una curiosita': come mai scegli di fare in percentuale un bordino
Codice: | border-bottom: 0.05em solid #000; |
anziche' definirlo ad esempio 1px? |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Mar 2005 17:26 Oggetto: |
|
|
rebelia ha scritto: | come mai scegli di fare in percentuale un bordino anziche' definirlo ad esempio 1px? |
L'idea l'ho presa da questo articolo in cui si dice che quel valore per il bordo lo rende di 1px quasi sempre, se però l'utente imposta un font molto grande (tipo 30px) allora il bordo dovrebbe diventare di 2 pixel in modo da rimanere visibile.
Purtroppo non sono ancora pratico dei CSS e vado per tentativi, ho preso spunto dall'articolo citato ma ho aggiunto e modificato un sacco di cose per adattarlo alle mie esigenze (probabilmente l'ho incasinato).
Adesso funziona abbastanza bene, la grafica rimane coerente in un buon range di dimensioni per il carattere e dovrebbe andare bene da 800x600 in su.
Il mio prossimo obiettivo è quello di sostituire i li utilizzati per le linee in qualcosa di meno visibile se si rimuove il foglio di stile. |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 23 Mar 2005 17:39 Oggetto: |
|
|
puoi usare un div, e' una pratica piuttosto diffusa; c'e' il tag hr, ma e' un disastro, perche' ha 4 dimensioni e non e' formattabile in maniera decente per farlo diventare una semplice linea |
|
Top |
|
|
juzo kun Dio maturo
Registrato: 19/04/04 08:32 Messaggi: 1853 Residenza: tra la tastiera e la sedia
|
Inviato: 23 Mar 2005 17:49 Oggetto: |
|
|
Codice: | hr { width:100%; height:1px; border:0; color:#000000; background-color:#000000; margin:0; padding:0; } |
...che poi si tiri dietro dei margini che in IE non vanno via neanche a fustigarli è un altro paio di maniche
Cià
JK |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Mar 2005 18:02 Oggetto: |
|
|
Il div non lo posso usare perché ha già delle regole sue per le caselle e quindi va in conflitto (credo).
Ho sostituito le liste con i tag samp, purtroppo è un uso improprio ma non saprei proprio come fare in alternativa.
Edit: stasera cerco di mettere online così posso farvi vedere un esempio concretro. |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 23 Mar 2005 18:07 Oggetto: |
|
|
horus ha scritto: | Il div non lo posso usare perché ha già delle regole sue per le caselle e quindi va in conflitto (credo).
Ho sostituito le liste con i tag samp, purtroppo è un uso improprio ma non saprei proprio come fare in alternativa. |
perche' va in conflitto? per quanto ne so, puoi usare quanti div vuoi
@juzo: sarebbe bello poterlo fare... purtroppo come ci ricorda(va?) la firma di gateo, contro il sw puoi solo imprecare, ehehe |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 23 Mar 2005 18:19 Oggetto: |
|
|
rebelia ha scritto: | perche' va in conflitto? per quanto ne so, puoi usare quanti div vuoi |
Credo che sia perché assegno un bordo a tutti i div:
Codice: | #diagram div {
border: 0.0.5em solid #000;
} |
quando voglio ad esempio a definire una linea orizzontale dovrei ridefinire uno solo dei bordi e cancellare gli altri ma facendo:
Codice: | #diagram div.line {
border: 0px;
}
#diagram .down {
top:100%;
left:50%;
margin-top: 0.05em;
border-left: 0.05em solid #000;
} |
mi scompaiono anche quelli che non dovrebbero.
l'html sarebbe ad esempio questo:
Codice: | <div class="row1 col0 size1 c_quadri"><span class="titolo">TITOLO</span><br /><span class="descr">Nome</span>
<div class="line down height2"></div>
</div> |
|
|
Top |
|
|
juzo kun Dio maturo
Registrato: 19/04/04 08:32 Messaggi: 1853 Residenza: tra la tastiera e la sedia
|
Inviato: 23 Mar 2005 20:57 Oggetto: |
|
|
spannometricamente (sono troppo cotta per fare delle prove sul campo...) prova a specificare il div anche nella seconda classe (.down)
Codice: | #diagram div.line {
border:0;
}
#diagram div.down {
top:100%;
left:50%;
margin-top: 0.05em;
border-left: 0.05em solid #000;
} |
(a pro', quando il valore è 0 non serve specificare l'unità di misura... credo).
Cià
JK |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 23 Mar 2005 22:19 Oggetto: |
|
|
Codice: | (a pro', quando il valore è 0 non serve specificare l'unità di misura... credo) |
ecciai raggione, ciai... ma a volte serve per far funzionare le cose, anche se non saprei proprio per quale motivo
io di solito non lo metto, ma se qualcosa non va dove voglio invece che vada lo aggiungo e funziona: il giorno in cui capiro' il perche', mi sa che come minimo mi ubriaco per festeggiare, uff! |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 24 Mar 2005 15:42 Oggetto: |
|
|
Ovviamente non sono riuscito a fare nulla ieri sera.
Ho comunque fatto qualche prova, ho specificato i div in ogni posto ma continuo a vedere tutti i bordi. In pratica mette quello impostato per tutti i div, dove poi ne definisco un altro me lo raddoppia.
Le classi le assegno ad esempio così:
Codice: | <div class="down height4"> |
Utilizzando un altro tag (che ovviamente di base non ha bordo) tutto funziona come dovrebbe.
Questo problema l'avevo già constatato con le liste, il mio menù è una lista formattata via css, se aggiungo nel foglio di stile delle alcune regole per le liste queste vanno ad influenzarmi anche il menu (anche se tutti gli oggetti hanno una classe che non combacia). |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 25 Mar 2005 10:08 Oggetto: |
|
|
Citazione: | Utilizzando un altro tag (che ovviamente di base non ha bordo) tutto funziona come dovrebbe.
|
cosa intendi per "un altro tag che di base non ha bordo"? neanche i div ce l'hanno
e definire le classi in modo che al max un elemento ne abbia una? non e' che hai il lavoro pubblicato da qualche parte in modo che ci si possa rendere conto dell'effetto? |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 25 Mar 2005 10:34 Oggetto: |
|
|
Scusa, mi sono espresso male, con quella frase intendevo dire che la prima istruzione che imposto è:
Codice: | div { border: ...} |
quindi da quel momento i div per me hanno bordo, tutti gli altri tag no.
Il lavoro lo trovi qui. |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 25 Mar 2005 11:01 Oggetto: |
|
|
horus ha scritto: | Scusa, mi sono espresso male, con quella frase intendevo dire che la prima istruzione che imposto è:
Codice: | div { border: ...} |
quindi da quel momento i div per me hanno bordo, tutti gli altri tag no.
Il lavoro lo trovi qui. |
che succede se togli la definizione generica del bordo dei div e la sostituisci con una definizione specifica dove e come ti serve? |
|
Top |
|
|
horus Macchinista
Registrato: 22/03/05 09:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 25 Mar 2005 11:34 Oggetto: |
|
|
Citazione: | che succede se togli la definizione generica del bordo dei div e la sostituisci con una definizione specifica dove e come ti serve? |
Succede che funziona. Come sempre riesci a risolvere i miei problemi, io mi ero fissato sul fatto di non duplicare il codice e non avevo pensato a questa soluzione.
A questo punto ho fatto ancora qualche piccolo aggiustamento di posizione e direi che ho raggiunto un risultato grafico accettabile (accettabile per me, probabilmente per te è una cozzaglia di colori senza senso) e anche senza foglio di stile rimane comprensibile. Stasera provvederò a mettere online la nuova versione senza i samp.
Se hai qualche altro consiglio su come migliorarlo fammelo presente.
Grazie. |
|
Top |
|
|
rebelia Dio maturo
Registrato: 17/07/03 08:22 Messaggi: 7987
|
Inviato: 25 Mar 2005 11:57 Oggetto: |
|
|
horus ha scritto: | Citazione: | che succede se togli la definizione generica del bordo dei div e la sostituisci con una definizione specifica dove e come ti serve? |
Succede che funziona. : |
bene
Citazione: | (accettabile per me, probabilmente per te è una cozzaglia di colori senza senso) |
e perche'?!?
Citazione: |
e anche senza foglio di stile rimane comprensibile. |
e questa e' la parte essenziale
Citazione: |
Se hai qualche altro consiglio su come migliorarlo fammelo presente.
Grazie. |
ok |
|
Top |
|
|
|