CSS Background-Image refuse de l'afficher dans ASP.Net MVC
Je vais avoir des problèmes d'affichage d'une image de fond dans mon ASP.NET MVC 2 de la demande. Actuellement, Dans ~/Views/Shared/Site.maître, j'ai mis mon lien vers la feuille de style:
<link href="<%:@Url.Content("~/Content/Site.css") %>" type="text/css" />
L'image j'ai l'intention d'affichage est dans mon ~/Content/Images/Designs.png
Voici ce que j'ai essayé
body
{
background-image: url(~/Content/Images/designs.png);
background-repeat: repeat;
font-size: .75em;
font-family: Verdana, Helvetica, Sans-Serif;
margin: 0;
padding: 0;
color: #696969;
}
Autres Essais Inclus:
background-image: url(./Content/Images/designs.png);
background-image: url(Content/Images/designs.png);
background-image: url(Images/designs.png);
aucun des ci-dessus tente travaillé. Que puis-je faire?
Avez-vous essayé
oui, vérifiez haut bloc de code
Désolé, le glissement du doigt. Je voulais dire
Vous n'avez pas obscur "sensible à la casse des noms de fichiers" interrupteur quelque part, vous?
le nom du fichier est tout en bas de casse. assez positif
../Content/Images/designs.png
oui, vérifiez haut bloc de code
Désolé, le glissement du doigt. Je voulais dire
..
au lieu de ~
.Vous n'avez pas obscur "sensible à la casse des noms de fichiers" interrupteur quelque part, vous?
le nom du fichier est tout en bas de casse. assez positif
OriginalL'auteur Eon | 2012-03-22
Vous devez vous connecter pour publier un commentaire.
L'url à l'intérieur d'un fichier CSS est relatif à l'emplacement du fichier CSS.
Donc, si nous supposons que vous avez
~/content/foo.css
et que vous souhaitez inclure~/images/foo.png
voici comment faire référence à l'intérieur defoo.css
:Ne pas utiliser n'importe quel
~
à l'intérieur d'un fichier CSS. Il n'a pas de sens.Donc, dans votre cas le fichier CSS est
~/Content/Site.css
et que vous souhaitez pour référence~/Content/Images/Designs.png
la syntaxe correcte est:Si cela ne fonctionne pas pour vous, il peut y avoir différentes causes:
Ce que je vous recommande est d'utiliser FireBug et inspecter le corresopnding élément du DOM pour voir exactement ce que les styles et les images sont appliquées.
pas tous à la fois de l'ofc
Droite, donc la syntaxe correcte est
background-image: url(images/designs.png);
.oui, cela fonctionne. Si ça ne marche pas il y a d'autres raisons. Non pas parce que son adresse n'est pas correcte.
Attendez, vous dites que vous avez essayé toutes ces choses en même temps?
OriginalL'auteur Darin Dimitrov
C'est ce que j'avais à faire:
Nice, cela a fonctionné pour moi alors que je cherchais une ligne (à la cshtml) solution donc, mon code ressemble à
<option style="padding: 5px 0 5px 40px; background: #FFFFFF url('@Url.Content("~/Content/flags/flag-usa2x.png")') no-repeat left center;">USA</option>
Solution parfaite si vous êtes à l'aide de la CSS à l'intérieur de Rasoir comme Zia dit.
OriginalL'auteur eilenberger
Si vous utilisez des faisceaux et a la structure de répertoire :
ensuite, vous pouvez faire un autre bundle pour le contenu des sous-répertoires en définissant le faisceau dans le sous-répertoire:
OriginalL'auteur LIDEN
Dans mon cas, j'ai dû revenir à la racine, et inclure un chemin d'accès au répertoire de Contenu.
Donc même si ma structure de répertoire ressemblait:
Je ne pouvais pas faire
Que j'avais à faire:
Cette travaillé localement en mode debug (pas de minification) et déployé à AWS (avec minification) correctement.
Aussi, n'oubliez pas si vous êtes en utilisant un Faisceau de minification et que vous utilisez
@import
dans votre CSS pour toujours inclure l'actif dans le bundle. Par exemple:Assurez-vous d'inclure
some.css
dans votre bundle:Pas besoin de le faire si vous êtes en utilisant plus ou SASS bundlers que le gestionnaire sait comment trouver les fichiers et de les inclure (c'est le but!); toutefois, si vous le faites comme un droit des CSS à l'importation, le bundler ne saurez pas à l'inclure quand il minifies.
Espère que cela aide quelqu'un!
OriginalL'auteur tofortier
Il pourrait être un problème de mise en cache dans le navigateur, qui est, le navigateur peut mettre en cache une version antérieure, si le fichier css. Effacer la mémoire cache et essayez à nouveau.
Donc, c'est un tout nouveau site web? Est-il au moins un peu de contenu dans le corps?
Mauvais upvote, comme ce fut également 1 étape j'ai suivi, vous ne savez pas si elle est fixée. le plus proche de la réponse que j'ai eu à le fix + de l'apprentissage de quelque chose d'elle venait de darin
OK. Content que le problème est parti aujourd'hui!
OriginalL'auteur Mr Lister
utilisez code ci-dessous
.arrière-plan
{
background-image: url("../Images/backimage.jpg");
background-position: inherit;
}
OriginalL'auteur Sam Tam
Cela Fonctionne Pour Moi
QUE j'ai des images foler direct dans mon projet
j'ai utilisé dans l'url
comme
OriginalL'auteur Ghulam Dastgeer