Расширения CSS – Префиксы поставщиков CSS

CSS-префиксы поставщиков – CSS Vendor Prefixes

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

Основные поставщики браузеров обычно используют следующие префиксы для реализации нестандартных функций CSS:

Согласно спецификации CSS, расширения CSS, специфичные для конкретного поставщика, должны начинаться с тире или подчеркивания и иметь следующий формат:

['-' or '_'] + [vendor identifier] + ['-'] + [name]

Например, -webkit-border-radius – это свойство с префиксом поставщика, которое позволяет вам скруглять углы элементов для создания визуально привлекательного и современного дизайна в браузерах на основе WebKit, таких как Chrome.

CSS Расширения – Aspose.HTML

Префикс, используемый библиотекой Aspose.HTML, выглядит как -aspose- и предоставляет вам некоторые экспериментальные функции. Ниже приведен список функций CSS, которые можно включить с помощью префикса -aspose-:

NameDescription
currentPageNumberThis function returns the number of the current rendering page.
totalPagesNumberThis function returns the number of the total pages in the document.

Следующий фрагмент кода демонстрирует, как использовать расширения CSS для создания пользовательских меток на полях документа:

  1. Инициализируйте экземпляр класса Configuration.
  2. Используйте метод getService(), чтобы получить реализацию службы User Agent из конфигурации.
  3. Используйте метод setUserStyleSheetU(), чтобы определить правила CSS для полей страницы, размещения контента и стиля счетчиков страниц и заголовков.
    • Здесь используется свойство CSS -aspose-content для определения содержимого, отображаемого в правой нижней части. Оно включает в себя функции currentPageNumber() и totalPagesNumber(), которые предоставляются библиотекой Aspose.HTML для динамической генерации номера текущей страницы и общего количества страниц.
    • Кроме того, расширение CSS -aspose-content определяет контент, отображаемый в верхней центральной области. Оно устанавливает содержимое в строку «Hello, World Document Title!!!».
  4. Инициализируйте HTML-документ, используя класс HTMLDocument.
  5. Создайте экземпляр XpsDevice и укажите путь к выходному файлу, в котором будет сохранен визуализированный документ.
  6. Используйте метод renderTo(device) для преобразования HTML в XPS.
 1// @ms products/html/en/java/advanced-programming/dom-mutationobserver/_index.md#123
 2
 3// For complete examples and data files, please go to https://github.com/aspose-html/Aspose.HTML-for-.NET
 4//  Initialize configuration object and set up the page-margins for the document
 5Configuration configuration = new Configuration();
 6// Get the User Agent service
 7IUserAgentService userAgent = configuration.getService(IUserAgentService.class);
 8
 9// Set the style of custom margins and create marks on it
10userAgent.setUserStyleSheet(
11        "@page {\n" +
12                "  /* Page margins should be not empty in order to write content inside the margin-boxes */\n" +
13                "  margin-top: 1cm;\n" +
14                "  margin-left: 2cm;\n" +
15                "  margin-right: 2cm;\n" +
16                "  margin-bottom: 2cm;\n" +
17                "  /* Page counter located at the bottom of the page */\n" +
18                "  @bottom-right {\n" +
19                "    -aspose-content: \"Page \" currentPageNumber() \" of \" totalPagesNumber();\n" +
20                "    color: green;\n" +
21                "  }\n" +
22                "  /* Page title located at the top-center box */\n" +
23                "  @top-center {\n" +
24                "    -aspose-content: \"Hello World Document Title!!!\";\n" +
25                "    vertical-align: bottom;\n" +
26                "    color: blue;\n" +
27                "  }\n" +
28                "}");
29//  Initialize an HTML document
30HTMLDocument document = new HTMLDocument("<div>Hello World!!!</div>", ".", configuration);
31//  Initialize an output device
32XpsDevice device = new XpsDevice("output.xps");
33// Send the document to the output device
34document.renderTo(device);

Рекомендации

Вы можете загрузить полные примеры и файлы данных по адресу GitHub.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.