Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Problemi di validazione xhtml strict, tag link e noscript

    Buongiorno a tutti, spero tanto che qualcuno possa aiutarmi a risolvere questo problema.
    Ho creato un sito internet usando le specifiche Xhtml con dtd strict.
    All'interno dello head ho messo i <link> ai fogli di stile preparati per il sito.
    Poi ho inserito uno script che permettesse il riconoscimento del browser e la conseguente scelta automatica del foglio di stile corretto già preparato a seconda dei vari tipi di browser utilizzati dall'utente. per sicurezza ho inserito un tag <noscript> in modo da avere un foglio di stile di "default" diciamo nel caso i browser non interpretassero il codice javascript. fin qui tutto bene. al momento della validazione con il validatore w3c tutto questo non va bene, in quanto il tag <noscript> dice che può essere contenuto solo nel body, se voglio metterlo nell'head devo inserirlo in un altro tag <object>, mentre il tag <link> posso metterlo solo nell'head e dentro nient'altro. vi metto per sicurezza il codice. vi riporto l'head senza tutti i metatag inseriti, solo i <link> e lo <script>.

    <head>
    <link href="stampa.css" rel="stylesheet" type="text/css" media="print" />
    <link href="mobile.css" rel="stylesheet" type="text/css" media="handheld" />
    <script type="text/javascript">
    <!--
    var OPER=navigator.userAgent.indexOf("Opera");

    if((OPER>-1)) {
    document.write("<link rel='stylesheet' href='opera.css' type='text/css'>");
    }
    else if (document.all){ // Explorer
    document.write("<link rel='stylesheet' href='explorer.css' type='text/css'>");
    }
    else if (document.getElementById){ //Netscape 6, Mozilla Firefox
    document.write("<link rel='stylesheet' href='stile3.css' type='text/css'>");
    }
    //-->
    </script>
    <object>
    <noscript><link href="stile3.css" rel="stylesheet" type="text/css" media="screen" /></noscript>
    </object>
    </head>


    avete una vaga idea di come possa fare per mettere un foglio di stile di default senza incorrere nella non validazione del w3c?
    ringrazio chiunque mi risponda
    grazie mille!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    13
    Fare un css compatibile con tutti i browser no??

    Vuoi un codice xhtml e poi non crei qualcosa di compatibile per il css??

  3. #3
    fare un css compatibile con tutti i browser è quasi impossibile. il mio css è compatibile quasi perfettamente con netscape, mozilla e opera, con explorer fa schifo perchè non riconosce alcuni tag come gli hidden e pochissime altre cose. mi interessava quindi che anche con explorer si vedesse. con opera la variazione è minima, quindi avevo fatto un css apposito solo per qualche inezia. e se l'utente ha disattivato gli script con il foglio di stile di default si vede bene con 3 browser su 4. il problema è solo che il w3c non mi valida questa cosa. un tag link all'interno di un noscript, perchè per loro in realtà tu non dovresti nemmeno metterli gli script! quindi sto solo chiedendo se qualcuno sa di un'alternativa, o per mettere il foglio di stile per browser senza usare javascript (ma non mi viene in mente niente, tranne il trucco dell'@import ma funziona solo per netscape 4) o un altro modo per mettere di default un <link> riferito ad un CSS base per chi avesse disattivati gli script.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    13
    Io credo si possa fare... ne ho la certezza....
    Male che vada utilizzi gli css hack e risolvi il problema

  5. #5
    Ti risulta? se così per me potrebbe andare già bene, mi risolverebbe il problema.

    Internet Explorer 7 and below don't support media selectors on @import rules, instead ignoring the entire rule when they are present. Therefore, you can create an entire stylesheet for non-IE browsers and import it into your main stylesheet by adding @import "non-ie.css" all;.
    su http://www.webdevout.net/css-hacks#in_css-import_media

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    13
    Certamente... funziona

  7. #7
    sicchè insomma il trucco dell'@import, agli altri 3 gli metto quello, a explorer glielo metto con <link>. anche meglio così evito gli script. grazie mille per la dritta.
    ultima domanda: sai come fare a togliere il bordo delle immagini dovuto al fatto che sono link? border: hidden e border: none con explorer non funzionano, anche se non ho ancora provato a dargli un bordo di 0px. non ho ancora fatto il css per explorer, sto finendo quello per gli altri 3.
    sorry già che ci sono mi viene in mente un'altra cosa...uso html-kit per creare il codice xhtml, è possibile fare in modo che una modifica in una pagina, sia copiata in tutte le altre automaticamente. mi spiego meglio, adesso devo eliminare lo script e sostituirlo con <style> etc, è possibile farlo automaticamente in tutte le pagine senza fare copia e incolla in ognuna? credo che sia un'utopia ma magare c'è un trucchetto che non conosco....
    grazie ancora

  8. #8
    niente da fare, ie6 il css lo chiappa anche con @import.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    13
    Usa
    a img {border:0}

    Per sostituire il tutto usa un replace... sui file. Ci sono dei tools che lo fanno.

    Hai provato con gli IF condizionali sui css??

  10. #10
    no non li ho provati, come funzionano? cerco qualcosa in rete...

    si il replace di solito lo uso, ma sognavo qualcosa a cui dire "su tutte le 22 pagine al testo tot sostituisci questo" e come per magia tutte le 22 pagine cambiano al volo!

    non avevo letto bene! replace sui file! tool!? quali?!?! ora li cerco subito!!!

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.