background: url("../images/img1.jpg") no-repeat;
Выше по отношению к текущему местоположению. Он поднимается на одну папку, затем вниз до папки с изображениями и, наконец, получает файл изображения.
background: url("~/images/img1.jpg") no-repeat;
Вышеуказанное недействительно. Тильда означает начало в корне сайта. Но CSS не поддерживает этот синтаксис. Эквивалент будет background: url("/images/img1.jpg") no-repeat;
.
В зависимости от вашего макета сайта оба будут работать. Я склонен использовать корневые относительные пути, потому что, если вы переместите свой CSS-файл в другую папку, он может сломаться по пути относительно текущего местоположения.
Для хорошего обсуждения относительного относительного отношения к объекту относительно абсолютного, see this article.
Я не думаю, что '~ /' будет работать в css-файлах. – edhedges
В чем разница между точками (./Images) и двойной точкой (../Images) в пути к файлу? –
'../ Images' означает перейти вверх по одному каталогу, а затем в папку« Images ». './Images' означает перейти в папку« Images »в текущем каталоге. – mason