none
MASTERPAGE THEME & CSS : on divorce ? RRS feed

  • Question

  • Bonjour

    Moi vous me connaissez, je suis un gentil garcon qui fait ou on lui dit de faire

     je passe donc a asp.net 2.0 pour avoir enfin les fameuses et excellentes masterpage !

    donc j'affiche une page a partir d'une masterpage

    je cree des themes et j'apprends qu'il ne faut plus afficher dans le masterpage le lien css (puisque la masterpage, intelligente comme tout, va chercher automatiquement le css dans le dossier des themes) : bref génial !

    Bon ! Toujours bon garcon, j'apprends qu'il ne faut pas faire n'importe quoi en css, qu'il faut essayer de respecter des normes, qu'il ne faut plus creer des tableaux pour faire des mise en page : css se suffit a lui seul !

    je decide de faire un joli menu "pur css" tiré de cette adresse la

    ht  tp://css.alsacreations.com/Tutoriels-et-articles-divers/roll-over-css-image-unique

    et la c'est la catastrophe !

    asp.net 2.0 refuse d'afficher mon menu si le css n'est pas au meme endroit que ma masterpage !
    asp.net 2.0 m'oblige à afficher dans le masterpage le lien css  !

    tout le reste fonctionne (le fichier skin est bien fonctionnel dans le dossier des themes)

    mais si je mets le fichier css dans le dossier des themes et que j'enleve le lien css dans la masterpage : ca plante ! (le menu roll over ne s'affiche plus !)

     

    qui a une idée ????

    merci pour votre aide et votre indugence quant à .....ma "prose"

    lundi 11 septembre 2006 10:25

Réponses

  • le probleme venait de l'emplacement des images.

    chose que je n'ai pas encore bien saisi, il faut modifier le chemin proposé par le generateur css de vs2005

    quand celui ci propose
    background: url(App_Themes/Default/Img/logo-ste-clair.jpg)

    il faut "traduire" par
    background: url(Img/logo-ste-clair.jpg)

    de meme pour un fond se trouvant a la racine du css
    background: url(App_Themes/Default/bg_menu.gif)

    devra etre "traduit" par
    background: url(./bg_menu.gif) repeat-x 0px -25px;

    le pourquoi du "./" reste un mystere
    vu que dans "Img/logo-ste-clair.jpg " si je mets "./Img/logo-ste-clair.jpg " a la place cela ne fonctionne pas.

    Bon ! j'eviterai dorénavant de me fier corps et âme à vs2005

    merci pour votre lecture.

    jeudi 14 septembre 2006 08:24

Toutes les réponses

  • le probleme venait de l'emplacement des images.

    chose que je n'ai pas encore bien saisi, il faut modifier le chemin proposé par le generateur css de vs2005

    quand celui ci propose
    background: url(App_Themes/Default/Img/logo-ste-clair.jpg)

    il faut "traduire" par
    background: url(Img/logo-ste-clair.jpg)

    de meme pour un fond se trouvant a la racine du css
    background: url(App_Themes/Default/bg_menu.gif)

    devra etre "traduit" par
    background: url(./bg_menu.gif) repeat-x 0px -25px;

    le pourquoi du "./" reste un mystere
    vu que dans "Img/logo-ste-clair.jpg " si je mets "./Img/logo-ste-clair.jpg " a la place cela ne fonctionne pas.

    Bon ! j'eviterai dorénavant de me fier corps et âme à vs2005

    merci pour votre lecture.

    jeudi 14 septembre 2006 08:24
  • Heee Oui !!!

    Non la réponse est simple, asp.net 2.0 traduit automatiquement les url selon le theme choisit. Si tu places l'url complet on ne pourrait plus changer de theme à la volé.

    App_Themes : est un répertoire virtuel non accessible directement (aspnet bloque l'accès)

    Default : est le répertoire pour le theme par defaut, donc chaque repertoire en dessous App_Theme porte le nom d'un theme spécifique.

    Il ne faut donc pas utiliser App_Themes/Default dans les urls et comprendre que tous ce qui est en dessous est considéré comme étant dans le root du site. C'est également la même chose si tu fais référence à une image de l'un des themes, il faudra utiliser le tag img avec l'attribut runat="server" et un src commençant par "~/img/<name.xxx>" pour que ça fonctionne.

    ++

    Alexandre Cuva

     

    mercredi 4 octobre 2006 12:46
  • Le "/" te permet de remonter à la racine du site.
    Le "." te permet de remonter au dossier parent (par rapport au dossier dans lequel ta page de code se trouve)
    EXs :

    Si tu met "fold/image.png" -> dossier Fold a partir de l'emplacement actuel
    Si tu met "/fold/image.png" -> dossier Fold A PARTIR DE LA RACINE DU SITE (et non pas de l'emplacement actuel)
    Si tu met "./image.png" -> image image.png dans le dossier parent

    voilou
     bon courage
    ++
    :)

    jeudi 28 décembre 2006 15:13