Comment définir une image d'arrière-plan dans les rails de css?
Je suis à l'aide de rails 3.2 et je dois définir un arrière-plan pour l'une de la page et j'ai essayé de nombreuses façons et rien n'est droit, de sorte que la recherche d'une bonne aide. J'ai essayé
background: url(<%= asset_path 'background.jpg' %>)
background: url("public/background.jpg");
background-image:url('/assets/images/background.jpg')
et rien n'a fonctionné. S'il vous plaît aider moi.
- surpris personne n'a pris le temps de voter ce, considérant qu'il a été vu 2236 fois. 1+ formulaire de moi.
background: url(<%= asset_path 'background.jpg' %>)
a fonctionné pour moi guides.rubyonrails.org/asset_pipeline.html#css-and-erb
Vous devez vous connecter pour publier un commentaire.
Dans votre CSS:
ou
Dans
environments/production.rb
:<%= stylesheet_link_tag "application.css" %>
config.assets.initialize_on_precompile = false
config.assets.enabled = true
?config.assets.enabled = true
background-image: url(background.jpg);
OUbackground-image: url(/assets/background.jpg);
background-image
uniquement pour la page de connexion?Pour sass (scss) ce code fonctionne avec l'image suivante chemin
app/assets/images/pictureTitle.png
Vous pourriez aussi avoir besoin de redémarrer votre serveur rails.
Si vous avez l'image dans votre répertoire public comme public/bg.jpg
Si vous avez de l'image dans app/assets/images/bg.jpg
Si vous utilisez sass (scss), l'utilisation de l'image-fonction url:
J'ai suivi les suggestions ci-dessus (Merci!!) - juste au cas où il ne fonctionne pas pour les autres, cette solution a fonctionné pour moi:
donc au lieu de "background-image", j'ai dû utiliser "arrière-plan" dans mon scss.
Le problème pourrait être plus profond que vous ne le pensez. Il n'est probablement pas un Rails de l'actif problème que beaucoup de présumer, mais 'malentendu' entre vos éléments html. Voici pourquoi:
Tout d'abord, la preuve fool votre code en mettant le backgound image dans le
body
élément.Une fois que vous vous rendez compte que la console ne donne pas une 404 de plus, confirmer l'image se charge avec ceci:
http://localhost:3000/assets/pic-name.jpg
body
élément se cache quelque chose - lorsque vous placez l'image dans lebody
, il fonctionne, quand vous la mettez dans un autre élément, il fonctionne pas.C'est le truc; dans ce
other
élément sur lequel vous souhaitez que l'image d'arrière-plan, le mien étaitheader
, insérer du texte ou des lignes, Oui, juste en texte brut ou quelque chose! Le mien était:Et hélas, il a travaillé! Si elle n'était pas de montrer l'intégralité de l'image, juste la partie supérieure. Mais au moins je savais que ça a fonctionné.
Espère que cela aide quelqu'un.
Et parallèlement à cela, j'ai réalisé que ce n'était pas facile à placer l'image de fond pour couvrir le
nav
ainsi, esp si en utilisant bootstrap; les deuxnav
et votre autre élément doivent êtrechildren
de la mêmeparent element
, par exemple, le mien était leheader
comme indiqué ci-dessus, et vous aurez également à rendre la valeur liquidative à l'intérieur de votre, de dire,homepage.html.erb
, et toutes les autres pages, plutôt que de simplement rendre sur leapplication.html.erb
Mise à jour
Bon d'accord, c'est ce que j'ai fait pour montrer l'intégralité de l'image d'arrière-plan, sans insertion de textes ici et là. Dans mon
application.scss
, où vous avez votre css, j'ai simplement ajouté la hauteur de la propriété, commeN. B: l'Utilisation de
height: 100%
n'a pas fonctionné.D'essayer le code ci-dessous, il sera certainement le travail:
Ok, espérons que cela aide quelqu'un!! J'ai été dans une situation similaire récemment pour mettre en œuvre une image pour un thème.
Cette solution a fonctionné pour moi dans un home_page_header.html.erb fichier à condition que vous ayez une image appelée blog_image.jpeg dans votre app/assets/images dossier:
J'ai lutté avec pendant une journée entière. Enfin je l'ai eu à travailler à la fois le développement et la production par le codage de la css dans la vue qui contient l'image de fond:
Ensuite sur la feuille elle-même, j'ai créé un div avec id=tuile comme ceci:
Ruby 2.3.7 Rails 5.2.0
Beaucoup de réponses pour cette, pensé que je jetterais dans ma solution, qui répond à la question d'origine, car ils ont été à l'origine de la tentative d'utiliser, entre autres choses, une ERB helper:
à la suite de la lien à partir de ci-dessus à partir de Kangkyu, j'ai appris qu'il est possible d'ajouter la .erb l'extension de fichier sur mon .fichier css. Qui est certainement ce que Kangkyu fait.
application.css.erb
Cela me donne accès à l'aide de méthodes.
Au lieu de s'affairer à trouver le chemin d'accès correct à l'image, j'ai utilisé:
donc ma propriété CSS/valeur paire ressemble à ceci:
si vous avez votre image dans le dossier app/assets/images et son nom est " zi-plein écran-bg.png', par exemple
ensuite, vous pouvez utiliser
au moins, il a travaillé pour moi!
Il semble que les guillemets de travail.
Voici mon exemple:
Et le coucher du soleil jpeg est situé dans mon dossier des actifs.
"sunset.jpg"
?