Вопрос

CssRegistration выполняет огромную работу по ссылке на CSS-файл относительно URL-адреса сайта, на котором вы находитесь.

Что вы делаете внутри CSS-файл?Если я развертываю ресурсы в каталоге /_layouts/images, конечно, /_layouts/images отлично работает на БОЛЬШИНСТВЕ сайтов.Однако иногда встречаются /sites/ в качестве корневого веб-сайта, и в этом случае ссылка должна быть /sites/_layouts/images.

Есть ли хороший способ сделать это?

Это было полезно?

Решение

URL в файлах CSS всегда относительно сама файла CSS.Если у вас есть активы для ссылки, которые находятся в одном (или закрытии) местоположении (например, в стиле библиотеки или аналогичные), вы можете просто использовать пути относительно файла CSS.

Если вы ссылаетесь на активы из _layouts или _layouts / изображения, которые так же просто.Они настроены как виртуальные папки, которые доступны с любого сайта (поскольку он указывает на файловую систему, а не содержимое базы данных).Так что все эти пути одинаковы:

http://localhost/_layouts/images/logo.png
http://localhost/sites/abc/_layouts/images/logo.png
http://localhost/sites/abc/subsite1/subsite2/_layouts/images/logo.png
.

В вашем файле CSS путь просто: _Layouts / Images / logo.png

Другие советы

ХОРОШО.Итак, если у вас есть такая структура каталогов:

Folder1/  
Folder1/images/image1.png
Folder1/css/style.css

(Это может быть внутри любой папки, например:_layouts, _layouts/1033/Styles и т. д.)

Чтобы обратиться к image1.png из style.css, все, что вам нужно сделать в style.css, это:

'../images/image1.png'

«../» в начале будет искать каталог изображений на один уровень выше того места, где находится таблица стилей CSS.Поэтому нет необходимости рассматривать /sites/ проблема здесь, поскольку относительный путь всегда будет определяться на основе местоположения файла style.css.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top