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

Discussione: td background

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    220

    td background

    Mi sembrava di aver già letto tempo fa che in alcuni browser al tag <td> non piace molto il settaggio background="../dir/file.est" eppure io ho bisogno di creare all'interno di questa cella due colonne di colore diverso... il tutto senza dividere la cella in due sotto colonne perchè qui dentro devo poi inserire un file flash...

    Ho provato a fare una gif di 250x5 px e lo ho messa come sfondo della cella... Provando sia con explorer 5 che col 5.5 che con firefox e tutti se ne sbattono altamente della gif e non me la visualizzano...

    Li ho ringraziati e coccolati per bene ma proprio non me la vogliono visualizzare...

    Non è che a qlc viene in mente come posso risolvere questo problema?

  2. #2

  3. #3
    Vogliamo ricordare, innanzitutto, che HTML è un linguaggio di marcatura, con tendenze semantiche? Ciò significa che si occupa di DESCRIVERE il contenuto, non fornire ad esso una rappresentazione grafica.

    Quindi, la tua struttura di markup dovrà piuttosto rispecchiare il SIGNIFICATO dei dati contenuti nella cella in questione. Per la 'grafica' di quella benedetta porzione di tabella userai i CSS.

    Facciamo finta che la tua tabella contenga il prezziario di un fruttivendolo, quindi con due colonne, una per il nome del prodotto e l'altro per il prezzo. Avrai, pertanto, una celletta simile:
    codice:
    <td>2,00</td>
    Facciamo finta che esso sia il prezzo più basso di tutto il listino, pertanto vuoi evidenziarlo visivamente, attribuendo alla cella uno sfondo appariscente. Innanzitutto, identificherai quella cella a livello di significato:
    codice:
    <td id="prezzoPiuBasso">2,00</td>
    Nel CSS, poi, dirai semplicemente qualcosa del genere:
    codice:
    #prezzoPiuBasso
    {
       background-image:url('sfondo.gif');
    }
    Così facendo, il tuo HTML rimarrà bello e pulito, coerente alle sue funzioni, mentre gli attributi grafici (come background) verranno relegati all'esterno, nel CSS, appunto.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    220
    non mi pareva di aver postato io due volte... e ho anche cercato prima di postare per evitare di chiedere una cosa già chiesta... ma la ricerca impostata a un minimo di parole composte da 3 lettere mi hanno obbligato a usare come chiave di ricerca background... e non ti dico quanti risultati dei più disparati mi venivano fuori...

    Cmq per tornare al discorso... allora mi confermi che non è facile far riconoscere un file come background di celle...

    Grazie del suggerimento, adesso lo provo seduta stante...

    Nella nottata mi è venuta un idea... volevo chiedere se era possibile...

    Leggendo qua e la ho letto un pò sui div e ho letto che è possibile posizionarli in maniera relativa oltre che assoluta... Nel mio caso non posso posizionarli in maniera assoluta perchè la mia tabella madre si autocolloca al centro negandomi quindi la possibilità di avere delle coordinate numeriche fisse e inequivocabili...

    Mi è venuto in mente allora di posizionarli in maniera relativa... ho letto che in questo caso si posizionano rispetto a ciò che li contiene... quindi se io desidero che questa cella di 250px abbia due colonne dentro di se di colore diverso posso usare due div posizionati il primo a x=0 e il secondo a x=150 e posso pretendere che il browser mi visualizzi ciò che richiedo?

  5. #5
    Originariamente inviato da bernabaus
    non mi pareva di aver postato io due volte... e ho anche cercato prima di postare per evitare di chiedere una cosa già chiesta... ma la ricerca impostata a un minimo di parole composte da 3 lettere mi hanno obbligato a usare come chiave di ricerca background... e non ti dico quanti risultati dei più disparati mi venivano fuori...
    Veramente il doppio post era il mio.

    allora mi confermi che non è facile far riconoscere un file come background di celle...
    Come, scusa? Non mi pare proprio di aver confermato una tesi simile, anzi. Ti ho semplicemente mostrato come andrebbe fatto.

    Leggendo qua e la ho letto un pò sui div e ho letto che è possibile posizionarli in maniera relativa oltre che assoluta... Nel mio caso non posso posizionarli in maniera assoluta perchè la mia tabella madre si autocolloca al centro negandomi quindi la possibilità di avere delle coordinate numeriche fisse e inequivocabili...

    Mi è venuto in mente allora di posizionarli in maniera relativa... ho letto che in questo caso si posizionano rispetto a ciò che li contiene... quindi se io desidero che questa cella di 250px abbia due colonne dentro di se di colore diverso posso usare due div posizionati il primo a x=0 e il secondo a x=150 e posso pretendere che il browser mi visualizzi ciò che richiedo?
    Innanzitutto occhio ad usare le tabelle per il layout:

    - www.re1.it/pierofix/articoli/tabelle-layout.htm

    Tornando alla richiesta, provo a portarti un esempio generale. Supponiamo di avere questa struttura di markup:
    codice:
    <div id="contenitore">
       <div id="menu"></div>
       <div id="contenuto"></div>
    </div>
    Supponiamo che:
    • #contenitore sia centrato nella finestra e abbia larghezza fissa pari a 400px;
    • #menu abbia larghezza pari a 100px e sia posizionato in aderenza al vertice sinistro, in alto, di #contenitore;
    • #contenuto abbia larghezza pari a 300px e sia posizionato subito a destra di #menu.

    Tradotto in CSS avremo:
    codice:
    *
    {
       margin:0; padding:0;
    }
    body
    {
       text-align:center;
    }
       #contenitore
       {
          position:relative;
          width:400px;
          margin:auto;
          text-align:left;
       }
          #menu
          {
             position:absolute; top:0; left:0;
             width:100px;
          }
          #contenuto
          {
             position:absolute; top:0; left:100px;
             width:300px;
          }

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    220
    Prima di rispondere al post devo chiederti una cosa...

    Di solito già utilizzo i css più che altro però per la formattazione dei testi e devo ammettere di aver sempre usato le classi e non gli id...

    Pertanto ho provato ad usare questo codice:

    .celsx
    {
    background-image: url(sfondo.gif);
    }

    e poi nella tabella:

    <td class="celsx">

    E devo ammettere che funziona benissimo... a questo punto sorge spontanea la domanda... cosa è meglio usare? uno dei due è più compatibile? qual'è la differenza?

    E ora la risposta all'esempio...

    Ho provato il tuo esempio e devo ammettere che trovo questo sistema per generare una struttura molto interessante ed efficace... non ne conosco però i limiti, i pregi e i difetti perchè sono abituato da tanto tempo ad utilizzare sempre le tabelle per costruire l'ossatura del sito, mi viene più facile casomai utilizzarli solo per dei particolari...

    Anche perchè non so come si comporterebbero con i vari browser... sono sicuro che ci siano i sistemi per ottenere la compatibilità al 100% ma non conoscendoli ancora non posso adottare i css come base per la costruzione di un sito...

    Dato che mi pare tu li conosca invece molto bene, mi puoi affermare che a meno di usare delle funzioni particolari, si ottiene una compatibilità al 100% con i vari altri browser? Non dico tutti ma almeno explorer, firefox, safari?
    Pertanto consigli davvero di abbandonare le tabelle per utilizzare il più possibile i css?

  7. #7
    Originariamente inviato da bernabaus
    cosa è meglio usare? uno dei due [class e id] è più compatibile? qual'è la differenza?
    La differenza non sta a livello di convenienza quanto a livello di impiego appropriato.

    Un id non è altro che un identificatore univoco. Si può perciò utilizzare una sola volta all'interno di un documento. A livello semantico ha una forte valenza in quanto aiuta ad indentificare con precisione assoluta un elemento (che può essere ad esempio il menù di navigazione, oppure l'intestazione della pagina e via dicendo).

    Le classi (class), invece, permettono di generare una famiglia di elementi con caratteristiche uguali. Ecco che le puoi usare più volte in un documento. Un esempio banale? Supponiamo che tu voglia evidenziare in maniera differente tutti i link in base al loro riferimento: interno o esterno al sito. Potrai creare due classi ed usarle per ogni ricorrenza in tutta la struttura.

    In sostanza, banalmente parlando, l'id lo puoi usare solo una volta nel documento, mentre le class più volte.

    mi puoi affermare che a meno di usare delle funzioni particolari, si ottiene una compatibilità al 100% con i vari altri browser? Non dico tutti ma almeno explorer, firefox, safari?
    Pertanto consigli davvero di abbandonare le tabelle per utilizzare il più possibile i css?
    Bè, non sono solo io a dirlo, ma il consorzio che si occupa dello sviluppo del web e delle sue tecnologie, ovvero il W3C [ www.w3.org ]. La tesi non è campata per aria: ci sono innumerevoli dimostrazioni.

    Vuoi qualcuno di questi esempi? Dai un'occhiata qui:

    - www.re1.it/pierofix/me/bookmarks.htm#css
    - www.zeldman.com/externals
    - http://forum.html.it/forum/showthrea...hreadid=918395

    Si può fare! :Frankenstein:

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    220
    La citazione di Frankestein Junior mi è piaciuta assai...

    Sempre viva nella mia mente è l'immagine di Victor Frankestein, aka Gene Wilder, mentre la pronuncia, sempre lo è stata e sempre lo sarà... :P

    Tornando ai discorsi seri... ti ringrazio davvero per l'esempio banale ma che mi ha illuminato la strada verso nuove mete...

    In men che nn si dica ho rimpito la famosa cella di due colonne di colore diverso ampiamente settabili senza dover ricorrere all'uso di immagini gif esterne che per un motivi o per l'altro potrebbero non essere caricate. Pertanto mi sembra una soluzione decisamente migliore...

    Già che ci sono cmq posto di seguito il codice e ti chiederei di dirmi se secondo te sia davvero preferibile adottare questa soluzione piuttosto che lo sfondo della cella...

    Partendo dal presupposto che io ho una tabella così composta:

    <table width="600" height="300" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="120">
    <div id="contenitore">
    <div id="menu"></div>
    <div id="contenuto"></div>
    </div>
    </td>
    <td width="50"></td>
    <td width="330"></td>
    <td width="70"></td>
    <td width="30"></td>
    </tr>
    </table>

    Nella prima cella ho inserito i 3 div "evidenziati" dal loro id che ho settato in questo modo:

    <style type="text/css">
    *
    {
    margin:0; padding:0;
    }
    body
    {
    text-align:center;
    }
    #contenitore
    {
    position:relative;
    width:120px;
    margin:auto;
    text-align:left;
    background-color: #000033;
    height: 100%;
    }
    #menu
    {
    position:absolute;
    top:0;
    left:0;
    width:90px;
    background-color: #FF0000;
    height: 100%;
    }
    #contenuto
    {
    position:absolute;
    top:0;
    left:90px;
    width:30px;
    background-color: #0000FF;
    height: 100%;
    }
    </style>

    A questo punto volevo aggiungere il bordo della tabella di 1 px e di colore nero... ed ecco che ho aggiunto questo:

    table {
    border: 1px solid #000000;
    }

    Già che ci sono, se me lo permetti approfitterei ancora un pò della tua gentilezza per chiederti ancora una cosina... supponiamo di voler personalizzare non solo il bordo estremo della tabella ma anche i bordi verticali delle altre celle...
    Quale sistema mi consigli?
    Personalizzare il tag td come ho fatto per table? Oppure creare delle classi diverse per i vari td? Oppure ci sono altri sistemi preferibili?

  9. #9
    Originariamente inviato da bernabaus
    In men che nn si dica ho rimpito la famosa cella di due colonne di colore diverso ampiamente settabili senza dover ricorrere all'uso di immagini gif esterne che per un motivi o per l'altro potrebbero non essere caricate. Pertanto mi sembra una soluzione decisamente migliore...
    Il markup, ripeto, non va usato per creare effetti grafici. Esso deve DESCRIVERE. Due celle realizzate al solo fine di colorare il documento, capirai bene che non rispecchiano il concetto cardine.

    supponiamo di voler personalizzare non solo il bordo estremo della tabella ma anche i bordi verticali delle altre celle...
    Quale sistema mi consigli?
    Personalizzare il tag td come ho fatto per table? Oppure creare delle classi diverse per i vari td? Oppure ci sono altri sistemi preferibili?
    Ecco, divertiti:

    - www.w3.org/TR/CSS21/tables.html

    Lì trovi tutto quello che c'è da sapere sul connubio tabelle-CSS.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    220
    Capisco che il fine ultimo del markup sia quello di DESCRIVERE... ma bisogna anche adattarlo alle reali necessità degli utenti che lavorano per il web...

    Per spiegare meglio il mio pensiero devo fare una premessa... lo so sarò un pò prolisso ma mi interessa questa discussione... :P

    Non concordo con la tua affermazione che il markup non serve per creare effetti grafici ma per descrivere...

    Innanzitutto devo dire che l'utente finale non legge il codice e tantomeno il fine ultimo di costruire una pagina web è suscitare il godimento della macchina che ne interpreta il codice... :P

    Il web si è sviluppato per accompagnare esigenze commerciali e per facilitare lo scambio di informazioni e in entrambi i campi oltre all'efficenza stessa si è sempre ricercata anche una certa pregiatezza estetica.

    Daltronde la ricercatezza di una certa qualità grafica non è forse l'estensione della necessità di descrivere e quindi di evidenziare in maniera sempre più efficente? Non è forse con un look interessante che si riesce a fare meglio breccia nell'interesse altrui?

    Inoltre ti do ragione al 100% quando dici che il markup ha come scopo sicuramente quello di DESCRIVERE... ma il markup è un mezzo... un mezzo per realizzare appunto uno scopo... e sempre a parer mio è più importante lo scopo finale da raggiungere che il mezzo con cui si cerca di ottenerlo...

    Anzi mi correggo, più importante no sicuramente... ma nel mondo attuale ciò che importa è l'ottimizzazione del tempo, pertanto il mezzo da usare è senz'altro quello più rapido, per ottenere cosa? la soddisfazione estetica dell'utente finale...

    Per cui se c'è la necessità estetica di avere due celle di colore diverse per soddisfare le velleità estetiche della mente creativa e dell'utenza finale va ricercato il mezzo più rapido possibile...

    Nel concreto ho scoperto che il css così come lo ho usato io per ottenere lo scopo voluto ha un errore di visualizzazione su safari... questo mi obbligherebbe a cercare una eventuale modifica del codice adatta anche a questo browser... facendomi perdere del tempo prezioso che non ho... :P

    Per ragioni puramente riconducibili a esigenze commerciali sono costretto a utilizzare i normali tag html, meno efficenti forse ma sicuramente più compatibili ed efficaci... :P

    Anche se non del tutto vero... perchè con un pò di tempo a disposizione ogni buon lavoratore del web ha dalla sua parte alcuni strumenti che lo aiutano... tra cui ad esempio posso citare i forum e la buona volontà di alcuni mods e/o utenti saggi che hanno voglia e piacere di condividere la loro conoscenza con il prossimo... che Dio li benedica... ^^

    Concludo con un grazie per il link segnalato... stasera ho di che leggere dopo cena...

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.