Какой лучший способ установить фоновый URL в CSS?

0

Я новичок в приложении mvc и создании сайта в режиме просмотра aspx. У меня есть файл css в mycss/style.css, а изображения - в images/img1.jpg. в чем разница между

 background: url("../images/img1.jpg") no-repeat;
 and background: url("~/images/img1.jpg") no-repeat;

в стиле.css

  • 1
    Я не думаю, что ~/ будет работать в файлах CSS.
  • 0
    В чем разница между точкой (./Images) и двойной точкой (../Images) в пути к файлу?
Показать ещё 5 комментариев
Теги:
asp.net-mvc

3 ответа

3
background: url("../images/img1.jpg") no-repeat;

Вышеуказанное относится к текущему местоположению. Он поднимается на одну папку, затем вниз до папки с изображениями и, наконец, получает файл изображения.

background: url("~/images/img1.jpg") no-repeat;

Вышеуказанное недействительно. Тильда означает начало в корне сайта. Но CSS не поддерживает этот синтаксис. Эквивалентом будет background: url("/images/img1.jpg") no-repeat; ,

В зависимости от вашего макета сайта оба будут работать. Я склонен использовать корневые относительные пути, потому что, если вы переместите свой CSS файл в другую папку, он может сломаться по пути относительно текущего местоположения.

Для хорошего обсуждения относительной относительной vs-позиции относительно абсолютной см. Эту статью.

0

Вы также можете написать так background: url("images/img1.jpg") no-repeat; без "префикса", что означает "изображения в папке с изображениями ".

  • 0
    Это предполагает, что папка с изображениями находится в той же папке, что и CSS. Что, вероятно, не тот случай, судя по опубликованному коду в вопросе.
-1

Это было бы правильно.

background: url("../images/img1.jpg") no-repeat;
  • 0
    Как насчет объяснения, почему версия с ~ не будет правильной?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню