Questões Caminho background-image CSS
-
18-09-2019 - |
Pergunta
Em entre o meu CSS tenho o seguinte:
#framecontentTop{ position: absolute; top: 0; left: 120px; right: 0; height: 100px; overflow: hidden; background-image: url(/Users/myname/Website Project/logo.jpg); color: white; }
Quando o caminho para a imagem que deseja usar como a imagem de fundo é / Users / myname / Site Projeto / logo.jpg
No entanto, quando eu colocar na minha div com o ID framecontentTop, ele não mostra a imagem (ou mesmo nada) como pano de fundo. Não há outros divs no CSS a um conflito com ele, e quando eu definir o fundo para framecontentTop para uma cor ou mantê-lo como uma imagem, mas colocar o URL como alguma imagem aleatória on-line, ele carrega-lo bem. Então eu só posso supor que o problema é com a forma como eu ter especificado o caminho para a imagem? - Alguém pode ver o que eu tenho feito de errado aqui
Muitos agradecimentos
Solução
Se você tiver quaisquer caracteres especiais, devem ser escapou, ou no caso de white-space, pelo menos citado, assim:
background-image: url("/Users/myname/Website Project/logo.jpg");
Você pode ver o W3C Spec para o requisitos completos.
Alguns personagens que aparecem em uma URI não cotados, tais como parênteses, vírgulas, espaços em branco, aspas simples ( ') e aspas ( "), devem ser precedidos por uma barra invertida para que o valor URI resultante é um URI token: '(', ')', '\'.
Outras dicas
Você está usando um caminho absoluto que sempre vai resolver para o mesmo URL no seu servidor. Se isso funciona quando você colocá-lo em elemento de A, mas não funciona no elemento B, as chances são o problema não é com o URL, mas outra configuração background
ou background-image
interferir.
Gostaria de usar a função de Firebug "Inspect Element" para descobrir se há outra prioridade fundo definição tomada.
URLs com espaços devem estar sempre entre aspas pelo caminho:
background-image: url("/Users/myname/Website Project/logo.jpg");