attr() function
This lesson demonstrates the usage of the attr().
Example taken from https://raw.githack.com/vivliostyle/vivliostyle.js/master/packages/core/test/files/named-strings/string-set-attr.html
Repository files
PDF files
Converter | Status | PDF Preview |
---|---|---|
PDFreactor |
|
|
PrinceXML |
|
|
Antennahouse |
|
|
Weasyprint |
|
|
PagedJS |
|
|
Typeset.sh |
|
|
Vivliostyle |
|
|
BFO |
|
HTML input
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8" />
- <title>Named strings - string() function</title>
- <meta name="author" content="Test Author">
- <link rel="stylesheet" href="styles.css">
- </head>
- <body>
- <p>The top-left page header output must be "Named strings - string() function", retrieved from the "title" element:
- <code><title>Named strings - string() function</title></code></p>
- <p>The top-center page header output must be "Test Author", retrieved from the "content" attribute of the meta tag:
- <code><meta name="author" content="Test Author"></code></p>
- <section title="Section One">
- <h1>Test Section 1</h1>
- <p>The top-right page header output must be "Section One", retrieved from the "title" attribute of the section start tag:
- <code><section title="Section One"></code></p>
- </section>
- <section title="Section Two">
- <h1>Test Section 2</h1>
- <p>The top-right page header output must be "Section Two", retrieved from the "title" attribute of the section start tag
- <code><section title="Section Two"></code></p>
- </section>
- </body>
- </html>
Stylesheet
- meta[name="author"] {
- string-set: author attr(content);
- }
- title {
- string-set: title content(text);
- }
- section {
- string-set: section attr(title);
- break-after: page;;
- }
- @page {
- size: A4;
- margin: 72px;
- @top-left {
- content: string(title);
- width: 33%;
- border: 1px solid blue;
- }
- @top-center {
- content: string(author);
- width: 33%;
- border: 1px solid blue;
- }
- @top-right {
- content: string(section);
- width: 33%;
- border: 1px solid blue;
- }
- @bottom-center {
- content: "- " counter(page) " -";
- width: 33%;
- border: 1px solid blue;
- }
- }