Frage

Der Chef will die Menü der Masterseite schöner aussehen. Ich erzeugen meine Gradienten-Datei mit einem der verfügbaren Tool auf dem Netz, es kein Problem ..

Ich habe versucht, eine CSS-Klasse für jeden Menüpunkt zu machen, aber wenn ich die Hintergrund-Bild-Richtlinie und die Stil-Builder verwenden, erhalte ich eine Zeile wie:

background-image: url('file:///C:/Documents and Settings/Username/My Documents/Visual Studio 2008/WebSites/ThisSite/Images/Gradient.png')

... wenn das, was ich wollen ist

background-image: url('~/Images/Gradient.png')

Die erste URL wird natürlich nur funktionieren, wenn ich auf meinem lokalen Rechner bin Debuggen - Bereitstellen dieser und ich bin abgespritzt. So viele andere ASP.NET-Objekte Arbeit mit „~ /“, um anzuzeigen, das Top-Level-Verzeichnis der Website, aber meine CSS-Datei mag es nicht, und ich kann nicht ein Hintergrundbild für die Menüsteuerung oder die Menüpunkte gesetzt - scheint wie ein eklatantes Versäumnis, wenn ich es so viele andere Kontrollen tun.

Was bin ich fehlt?

War es hilfreich?

Lösung

Sie sind fast da ... versuchen Sie dies:

.menuStyle
{
  background-image: url('/images/BG.gif'); /* Putting a slash in front means its relative to the root.  No slash would be relative to the current directory. */
  background-repeat: repeat-x; /* assuming you have a vertical gradient. */
}

Ich hoffe, das hilft.

Andere Tipps

Die URL in Ihrem CSS muss eine absolute (oder relative) URL sein und nicht die Tilde-Mapping verwenden, da es nicht eine serverseitige Komponente ist.

    background-image: url(  "/images/menu.jpg" );

Es ist nicht ein eklatantes Versäumnis. Nicht eine Auslassung überhaupt. Die Tilde ist ein ASP-Konstrukt. In CSS wird es keine Bedeutung hat.

Ein „Alle ersetzen“ Betrieb und Sie werden eingestellt.

Ersetzen Sie file: /// C:. / Dokumente und Einstellungen / Benutzername / Eigene Dateien / Visual Studio 2008 / Website / ThisSite mit leeren

Ich habe versucht, die Eigenschaft background-image von CSS in meiner ASP.Net-Anwendung einstellen (das heißt den relativen Pfad zu geben, wie im Beitrag beschrieben). Allerdings konnte er sich nicht für mich arbeiten. Später Einstellung der Hintergrund-Bild als background-image:url('http://localhost:1701/Images/BannerTileBackground.gif'); es hat funktioniert ..

Bitte lassen Sie mich wissen, was der richtige Ansatz ist, und der Grund, warum es vorher nicht arbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top