Visualizzazione risultati 1 fino 11 di 11

Discussione: CSS validator: --> le CSS expression vengono considerate errori!!

  1. #1
    Guest

    Predefinito CSS validator: --> le CSS expression vengono considerate errori!!

    Il mio sito carica un foglio css esterno (il tipico "style.css")..

    All'interno del mio foglio di stile ho regolato le proprietà di un elemento così:

    .img_sx {
    float:left;
    height:100px;
    width: expression(this.width > 400px ? 400px: true);
    max-width:400px
    }


    Sono stato costretto ad usare la expression perchè IE non supporta max-width....

    Ma facendo così mi sono giocato la validazione w3c del foglio di stile...come risolvereste st'inghippo?

  2. #2
    Guest

    Predefinito

    io eviterei di utilizzare IE... credo che non ci sia una soluzione alternativa.
    Anche io ho cercato ovunque una soluzione alternativa a max-width che fosse supportata da tutti i browser, ma non ne ho trovate.

  3. #3
    Guest

    Predefinito

    io eviterei di utilizzare IE...
    Eh beh... Dovresti spiegarglielo al 95% delle persone che visitano il tuo sito e che usano solo IE !!

    Alla fine comunque ho tolto sia max-width che l'espression dalla classe nel foglio di stile... Le applico entrambe con uno style nell'elemento stesso...

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da attorianzo
    ... Alla fine comunque ho tolto sia max-width che l'espression dalla classe nel foglio di stile... Le applico entrambe con uno style nell'elemento stesso...
    Bello, ma così lo sposti il problema, mica lo risolvi... prova a far validare il CSS della pagina HTML in cui li hai inseriti (si dovrebbe poter fare anche quello se non ricordo male...).

    Se vuoi proprio risolverlo, dovresti eliminare del tutto la funzione "expression"... ma non potrai avere lo stile che vorresti: a questo punto, quindi, meglio un CSS non validato... a proposito, quando hai problemi del genere, cerca di mettere per ultimi gli stili più "critici", in modo che una loro non-interpretazione non causi la mancata lettura di quelli successivi (magari corretti).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    Hai ragione lo so bene... Così ho solo spostato il problema... ma purtroppo non posso farci nulla.... IE si ribella agli standard, ne ha paura... Quindi che devo farci?

    Poi sai... Non è un fatto estetico... Ma è proprio una necessità, per chi ha un blog, limitare la dimensione delle immagini eventualmente linkate dagli utenti al fine di salvaguardare l'intero layout...

    P.S. : L'ho dovuto spostare anche per necessità... Ho notato che le espressioni tipo quella da me usata, che usano "this" come richiamo all'oggetto, non funzionano inserite nella classe, ma solo nell'oggetto stesso!

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da attorianzo
    ... Poi sai... Non è un fatto estetico... Ma è proprio una necessità, per chi ha un blog, limitare la dimensione delle immagini eventualmente linkate dagli utenti al fine di salvaguardare l'intero layout...
    Beh, visto che GENERI i contenuti del blog, hai mai pensato di stampare le immagini in modo che escano così...?
    Codice HTML:
    <DIV STYLE="width:400px;overflow:scroll;margin:0;padding:0">
    <IMG SRC="..." WIDTH="..." HEIGHT="...">
    </DIV>
    così risolvi il problema mettendo solo cose standard...

    Stammi bene...
    Ultima modifica di dementialsite : 16-02-2006 alle ore 15.32.14 Motivo: Ho sbagliato attributo... (vedi 2 post sotto)
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    No... Si tratta di un blog "naturalistico"... La gente può caricare (o linkare ) nel sito delle foto che possono anche essere "panoramiche".. (hai presente quando sono piu foto unite insieme... che sono molto lunghe e poco alte (vedi QUI)

    Questo mi rende impossibile dare una width bloccata ad una misura particolare purtroppo...

  8. #8
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ho capito, adesso... effettivamente non puoi far molto... soprattutto con quello script che ho inserito sbagliato (ha più senso overflow:scroll che overflow:hidden, non trovi?).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  9. #9
    Guest

    Predefinito

    Sai ero riuscito a trovare un modo di risolvere la situazione del tutto, cioè non usare piu le CSS expression...

    Facendo così:
    Prima di mandare a video l'immagine,
    prendi la sua url e la fai passare da un bel getimagesize.

    In questo modo ti tiri fuori la width e la height REALI dell'immagine prima ancora di mandarla a video...

    Quindi tramite un semplice giochetto di proporzioni sistemavo i valori prima di mandare l'output con il tag <IMG>.. Insomma una cosa del genere:
    Codice PHP:

    list($width, $height) = getimagesize($url);

    if (
    $width > $dimensioni_max) $width_nuova = $dimensioni_max;
    else
    $width_nuova = $width;

    $height = ($width_nuova * $height) / $width;

    $stringa = '<img src="'.$url.'" alt="" style="float:'.$float.'; margin:0 0.5em 0.5em 0.5em; height:'.$height.'px; width:'.$width_nuova.'px;"/>';

    Queste righe (e altre che non ho messo perche non ce n'era motivo, le ho messe dentro una funzione a cui passavo:
    $dimensioni_max(50,80, 400, quello che vuoi!),
    $float (none, left, right), e
    $stringa (che conteneva la url)


    Però non capisco perche la funzione va alla grande in locale, ma non va quando lo carico su altervista....

    Potrai pensare: deve essere la url sbagliata e quindi getimagesize non trova l'immagine, ma mi sembra strano dato che l'<IMG SRC=url alla fine invece l'immagine la trova e la rappresenta...
    l'URL è passata nella sua forma completa cioè http://blablabla/blabla.jpg

    Non so se mi sono spiegato è un po un casino..

  10. #10
    Guest

    Predefinito

    Avevo risolto pure io così nel mio blog, ma su Altervista non sono abilitate le funzioni di wrapper, quindi non puoi analizzare file esterni o comunque richiamati tramite URL (stesso problema quindi per gli analizzatori di RSS e feed... ma questo è un altra storia).
    Se i file risiedono in una cartella del tuo spazio sei a posto: metti un percorso relativo e getimagesize torna a funzionare alla grande ;)

    Ciao!

  11. #11
    Guest

    Predefinito

    si... è così.. infatti funzionava su altervista, con il percorso relativo, (ma non funzionava affatto sul server locale... bah!)

    Comunque sia ho optato per una soluzione diversa...

    Purtroppo se vuoi una validazione w3c piena (validazione di accessibilità AAA e simili..) del tuo sito devi togliere tutti gli stili CSS (oltre ai tag proprietari ovviamente..) dal tuo html e usare solo classi CSS e le ID, e sbrigare tutto tramite fogli di stile esterni... altrimenti si avranno un sacco di warning...

    Tengo a sottolineare però che mi riferisco a validatori di accessibilità W3C, che sono particolarmente rognosi...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •