2010-06-17 6 views
2

Considérez cette propriété CSS:dynamique URL Contexte CSS

background: url(http://images.something.com/background.png) left top repeat-x; 

Y at-il un moyen de spécifier dynamiquement l'URL utilisée dans le fichier externe (qui signifie que l'URL est une sorte de produit automatiquement plutôt que codé en dur dans le Fichier CSS)?

Merci.

+0

Voulez-vous que votre hôte soit dynamique (dans votre cas 'http: // images.something.com /') ou le nom de l'image? OMI, je ne pense pas que le nom de l'image peut être dynamique – Starx

+0

Eh bien oui, comment puis-je faire cela? – 500ml

Répondre

0

Oui.

Vous pouvez appeler une page côté serveur, et en fonction des variables, il peut y placer différents CSS.

Si vous voulez simplement dire avec html/css - il y a très peu de choses que vous pouvez faire dynamiquement.

0

Vous pouvez également définir des images d'arrière-plan en utilisant Javascript (il y a un grand nombre de possibilités), mais HTML et CSS sont, par nature, des langages statiques.

2

background: url(http://images.something.com/getimage.html?image=random) left top repeat-x;

Et dans le getimage.html, vérifier si la demande [image] == "aléatoire". En utilisant n'importe quel langage côté serveur que vous désirez, répondez avec une image arbitrairement ou aléatoirement sélectionnée.

+0

Il obtiendrait probablement 'getimage.php' mais, peu importe: P Votre logique est bonne. – mpen

+0

Cela fonctionne si vous définissez un aléatoire (dans cet exemple), mais si vous voulez une image qui est produite en fonction du contexte de la page? Vos options sont limitées à un langage de script (client ou serveur) pour charger une image plus spécifique. –

+0

@Mark: Oui, je sais. Je pensais que je rendrais la langue agnostique. Cela pourrait aussi être getimage.aspx ou autre chose. – Anthony

3

Dynamic CSS Background URLs

Il y a un autre truc cool.

Vous pouvez ajouter un

.php

au nom de sorte qu'il sera Hypertext Prétraitment prochaine du fichier, quelqu'un appelle.

Maintenant, vous pouvez facilement faire (dans votre fichier CSS):

< php $ num = rand (1, 3);? ? >

background: url (? http://images.something.com/background<?php echo $ num; > .png) gauche en haut répétition x;

Ce passe au hasard l'arrière-plan image entre

background1.png, background2.png et background3.png

post-scriptum Ne oubliez pas de mettre à jour votre <lien> à votre cs s .php fichier.