Notizie: puoi sempre seguire i nostri aggiornamenti su Twitter (@MozillaItalia) e Facebook (/MozillaItalia)

Autore Topic: Problema con Table nel codice HTML interpretato da FireFox.  (Letto 3525 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline kocahoctpa

  • Post: 8
Ho creato un sito con .NET e il sistema delle masterpage, il sito si chiama
http://www.blog-buster.net e come potete osservare visualizzandolo con Firefox si ottiene
un risultato graficamente innaccettabile.

Ho usato una Table per inserire elementi nella pagina: La barra menu nella colonna a
sinistra, il testo in centro e una ulteriore barra a destra. (a parte la barra a destra, la tecnica e' analoga a quella usata per questo sito, l'unica cosa e' che io ho del codice prima della table principale).

Il difetto:
Purtroppo la table non va a capo e rimane in fondo allargando enormemente la
pagina.
Se sistemo la table allineandola a sinistra (align=left), questa si sistema
ma poi il contenuto a seguire sotto la table non va a capo e si allinea dopo
la table.

1) Ho provato a usare < b r > per mandare a capo la Table ma non funziona.

1) Ho provato a inserire la table in un <p></p> per mandarla a capo ma la
cosa oltre a non funzionare genera un errore nel validatore HTML di .NET in
quanto non e' corretto inserire la table in un paragrafo (secondo le
specifiche html).

2) Ho provato in fine a inserire la tab in un <div></div> ma nulla di fatto,
il risultato visivo con Firefox e' quello che vedete.

Come posso fare per far si d'ottenere un risultato visibile accettabile con
Firefox? Che consigli mi date?
« Ultima modifica: 16 Aprile 2006 04:06:17 da kocahoctpa »

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #1 il: 16 Aprile 2006 09:46:33 »
Ho provato a dare una rapida occhiata al codice di quella pagina e non ci si capisce nulla!
Ci sono decine di tabelle completamente inutili.

Se vuoi usare un validator, usa questo
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.blog-buster.net%2F

Sinceramente sono stupito che un software moderno possa generare un layout simile :?

Offline DarkLordSauron

  • Post: 235
    • Foto di Guerra
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #2 il: 16 Aprile 2006 10:30:41 »
Che consigli mi date?
Non usare tabelle per l'impaginazione.
Fare riferimento al validatore del w3c che ti ha linkato flod
Usare un altro editor

Offline indigo

  • Post: 1277
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #3 il: 16 Aprile 2006 13:23:18 »
Per imparare come si scrivono per bene le pagine web ti consiglio queste utili guide:

http://www.html.it/guidebase.htm

in particolare "html" e "CSS"..

ciao!

Offline kocahoctpa

  • Post: 8
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #4 il: 16 Aprile 2006 14:52:01 »
Non ho problemi con il validare il codice HTML (.NET lo crea in dinamico, e la versione 2005 ha comunque un editor di pagina maniacale per quanto riguarda la validazione dei componenti HTML).

Guardando il mio sito con Firefox si vede esattamente dove c'e' l'errore: Nel codice html a un certo punto c'e': <div align=left> e dentro questo elemento c'e' una table che non riesco a mandare a capo.

Un altra cosa, perche' firefox <div align=left> non lo prende e la table rimane a destra?
Con firefox sembra impossibile mandare a capo una table, se per esempio dopo <div align=left> si aggiunge <b r > la table a seguire rimane comunque sulla stessa riga, allineata a destra.

Se la table la allineo a sinistra non usando una DIV, ma impostando l'attributo align della table stessa, la table va a capo, pero' poi si scombussola il codice che segue la table: (tutto quello che rimane sotto la table visivamente va a finire sopta!).
« Ultima modifica: 16 Aprile 2006 15:01:24 da kocahoctpa »

Offline DarkLordSauron

  • Post: 235
    • Foto di Guerra
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #5 il: 16 Aprile 2006 15:43:39 »
Stando al w3c in quella pagina di errori ce ne sono circa un centinaio.
Riguardo al codice l'attributo "align" è deprecato e quindi non andrebbe usato, lo stesso vale per le tabelle che gestiscono l'impaginazione, non sono fatte per quello e quindi non vanno usate.

Una lettura dell specifiche html e css non fa male, lo stesso dicasi per le guide di html.it

Se la cosa può consolarti anche io ho cominciato a fare web con le tabelle e poi ho dovuto abbandonarle: all'inizio non è facile, ma poi ti ci abitui e ti trovi anche meglio (codice più pulito e aderente al w3c)

Offline kocahoctpa

  • Post: 8
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #6 il: 16 Aprile 2006 17:37:38 »
Riguardo al codice l'attributo "align" è deprecato e quindi non andrebbe usato, lo stesso vale per le tabelle che gestiscono l'impaginazione, non sono fatte per quello e quindi non vanno usate.
Non ho bisogno del validatore in quanto il code e' generato in dinamico con .NET, e qel poco non generato in dinamico, e' stato validato con Visual Studio 2005 (che e' il miglior validatore di codice che abbia mai visto).

Il tipo documento e' di tipo XHTML http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd xmlns="http://www.w3.org/1999/xhtml

Tra le altre cose il validatore da voi segnalatomi e obsoleto e sconsigliabile per chi sviluppa applicazioni web: http://validator.w3.org/check?uri=www.google.com

Sono innumerevoli gli attributi che non conosce, o forazature (come far passare per errore l'omissione dell'atributo ALT in un immagine.. questo potrebbe al massimo essere un aletr, ma un errore proprio no).

Per il codice html e dhtml meglio dare sempre un occhiata qui: http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_entry.asp

Alla facciaccia di chi dice che non bisogna usare le table per impaginare il sito, ma questo sito in cui scrivo e' tutto dentro una table... e mi sa che sara' la soluzione che usero' anche io per far si che il mio sito appaia visualizzato corretto con firefox.
Con firefox il problema c'e', ed e' che le table non vanno a capo, e se le allinei a sinistra scombussolano la visualizzazioe degli elementi a seguire.

Se per esempio, questo forum non fosse stato tutto dentro una table, con firefox verrebbe visualizzato con le table shiftate a destra (come avviene nel mio sito).
« Ultima modifica: 16 Aprile 2006 17:47:16 da kocahoctpa »

Offline indigo

  • Post: 1277
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #7 il: 16 Aprile 2006 17:51:38 »
spiace contraddirti, ma il validatore del W3C non fa altro che controllare l'aderenza del tuo codice con gli standard propri di quel consozio, del quale fanno parte diversi enti (ache microsoft).

cosa fa il w3c? cerca di unificare il linguaggio usato, per consentire una visione omogenea sui diversi browser.

tra l'altro il tuo xhtml fa riferimento a delle specifiche emanate proprio da quel consorzio

Citazione
Il tipo documento e' di tipo XHTML http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd xmlns="http://www.w3.org/1999/xhtml

un conto è un codice leggibile dai browser (di ora), un conto è un codice che sia anche corretto dal punto di vista sintattico e degli elementi usati.

nel tuo codice ci sono errori di partenza:
un esempio è quello dei tag
, che in xhtml vanno chiusi:
..
quanto ad "alt" è stato incluso come fondamentale anche per consentire alle persone con accessibilità minore (non vedenti, ad esempio) di comprendere e utilizzare la pagina (è come un marciapiede troppo alto per una persona in carrozzella, ok?).

per quanto riguarda le tabelle, non è che siano il demonio in persona, ma non dovrebbero più essere usate per impostare il layout del sito, bensì per il loro scopo, quello di tabelle.

per il layout ora si utilizzano css e div, principalmente.

infine, sei chiaramente libero di scrivere il codice come vuoi, ma le specifiche del w3c dovrebbero essere seguite, anche perchè (in teoria) i prossimi browser dovrebbero leggere solo i tag approvati e smettere di interpretare i tag deprecati.

ciao

Giacomo

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #8 il: 16 Aprile 2006 18:10:07 »
Caro kocahoctpa, visto che ritieni di avere tutte le risposte (validator del w3c obsoleto e sconsigliabile, Microsoft come fonte attendibile per il codice html e dhtml) non vedo in che modo potrà risultarti utile questo forum ;-)

A rischio di sembrare noioso, ti faccio presente che il codice di quella pagina è scorretto e decisamente incomprensibile (a differenza del codice di questa pagina che valida perfettamente); se vuoi continuare a creare siti in quel modo sei liberissimo di farlo, non sarò certo io ad impedirtelo.

Per la cronaca, basta assegnare nello stile un "clear: both" al div che contiene la tabella spostata (il perché questo sia necessario lo ignoro, visto che non intendo analizzare il resto della struttura di quella pagina).

Offline kocahoctpa

  • Post: 8
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #9 il: 16 Aprile 2006 21:38:25 »
Ringrazio tutti per le indicazioni riportate, provero' a seguire l'indicazionen di flod.

Esco fuori dall'argomento del topic per toccate un aspetto interessante (almeno per me, ovvero la filosofia delle applicazioni web):
A mio giudizio l'utilizzo di meccanismi lato server e' preferibile all'utilizzo dei CSS o quantaltro lavori lato client.
Per esempio in questo sito c'e' un menu laterale che puo' essere nascosto o visualizato per mezzo di 2 differenti impostazioni di stile, questa e altre impostazioni ottenute con i CSS non sempre funzionano, quindi e' inutile essere perfettini sulla validazione del codice HTML, quando poi un sito non funziona su browser che non supportano DHTML e semplicemente non hanno attivato Active Scripting.
Quindi se il sito vuole essere dinamico, meglio che lo sia interamente dal lato server e non client, con cio'  voglio dire che se un menu laterale deve sparire, anziche nasconderlo lato client, e' preferibile far si che il server invii direttamente la pagina priva di menu, ovvero nascondere il componente direttamente lato server (con l'attributo hide (runat=server)).
Anche per quanto riguarda i CSS in generale (che ora pare vadino di moda), trovo piu' comodo e universalmente piu' compatibile, generare dinamicamente i controlli gia' impostati graficamente per mezzo degli attributi (cosi' non occorre poi ritoccarli con gli stili)... I CSS sicuramente sono indispensabili per i siti non dinamici, altrimenti se si cambiasse un qualche aspetto grafico si verrebbe costretti a mettere mano all'intero codice HTML, ma per i siti dinamici e' meglio intervenire sul rendering dei componenti. (guardo ora il codice lato client del forum e deduco che si tratta di un ibrido: Alcune cose sono impostate con i CSS, altre hanno gli attributi impostati nel codice HTML, presumibilmente si tratta di attributi comunque impostati in maniera dinamica lato server e per cambiarli non occorre mettere mano al codice ma ritoccare i settaggi).
E se non si volesse rinunciare ai CSS, una strada validissima e' quella di generare anch'essi in dinamico: La filosofia che si va affermando nella programmazione web, e' quella di non inzozzarsi le mani scrivendo direttamente il codice per il client (HTML, CSS, JavaScript, ecc), ma crearlo dinamicamente usando gli oggetti lato server, questi ultimi con il processo di rendering verranno inviati al browser sottoforma di codice (html, css, script, ecc.). I tempi di sviluppo si accorcianio e il codice generato dal rendering dei componenti e' meno soggetto a rischi di errori grossolani (anche se tanti usano ancora i controlli Literal... ma perche' inzozzarsi le mani se se ne puo' fare a meno?).
Ecco che a mio avviso trovo molto piu' valido inserire menu, barre laterali, intestazione, fondo pagina, ecc.. nelle table (o altri componenti tipo "contenitore"), che a seconda delle necessitudini possono essere nascosti dalla applicazione lato server, (anziche' inviare al browser tutto e poi aggiustarlo con i CSS si client).
« Ultima modifica: 16 Aprile 2006 23:42:12 da kocahoctpa »

Offline flod

  • Amministratore
  • Post: 15057
    • http://www.flod.org
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #10 il: 17 Aprile 2006 07:53:38 »
A mio avviso ci sono un paio di difetti di fondo nel tuo ragionamento.

1) La strada (da diversi anni) è quella di separare il contenuto (html, xhtml, ecc. ecc.) dalla presentazione. In altre parole non ha senso usare un <BR> per mettere uno spazio tra due paragrafo, imposta i margini del paragrafo stesso applicando lo stile.
http://www.shinynews.it/usability/0306-web-standard.shtml
http://www.webstandards.org/learn/faq/

2) La creazione degli oggetti lato server è molto comoda, peccato che tu dipenda in tutto e per tutto dalla qualità del generatore (che in questo caso dà risultati inguardabili)

3) Riguardo ai siti dinamici, nessuno ti obbliga ad usare componenti e relativo rendering: fortunatamente esistono i linguaggi di script lato server come asp o php! Ti basta separare la pagina in moduli ed includere solo quelli che ti interessano usando delle condizioni.

Prova a dare un'occhiata qui: http://www.csszengarden.com/
E prova a dare un'occhiata al codice (in termini di leggibilità, pesantezza, ecc. ecc.)

Concludo facendoti notare una cosa: molti siti "enormi" sono passati alla soluzione (x)html+css non solo per una questione estetica o per la facilità di manutenzione, ma anche perché questa soluzione gli permette di risparmiare qualche milione di $ che prima spendevano per pagare la banda ;-)




Offline DarkLordSauron

  • Post: 235
    • Foto di Guerra
Re: Problema con Table nel codice HTML interpretato da FireFox.
« Risposta #11 il: 17 Aprile 2006 15:56:31 »
Solo qualche appunto:
Se il codice è corretto firefox lo rende correttamente, se l'aspetto è sballato la colpa è da ricercare nel codice.

Se vuoi usare dei contenitori ci sono i div e non le tabelle.

Molti problemi dei siti attuali sono dovuti alla presenza di tag deprecati, sono tag fastidiosi e che possono creare problemi di resa grafica, non utilizzarli rende il web più pulito ed è segno di lungimiranza (prima o poi i browser si decideranno a non considerarli!)

Andando verso l'XML i tag tenderanno a diventare sempre più significativi e meno generici, cioè dal tag si dovrebbe poter identificare cosa vi è contenuto: trovare mezza pagina in una tabella non aiuta di sicuro.

0 Utenti e 1 Visitatore stanno visualizzando questo topic.