Difference between revisions of "Character Sheet Enhancement"
From Roll20 Wiki
Andreas J. (Talk | contribs) (mobile adaptation example) |
Andreas J. (Talk | contribs) m (→) |
||
Line 117: | Line 117: | ||
You have a <code><details></code> where everything is inside, and then the <code><summary></code>-element inside it determine what is shown when it's collapsed. | You have a <code><details></code> where everything is inside, and then the <code><summary></code>-element inside it determine what is shown when it's collapsed. | ||
− | <pre data-language="html"> | + | <pre data-language="html" style="overflow:auto;"> |
<details> | <details> | ||
<summary>Epcot Center</summary> | <summary>Epcot Center</summary> |
Revision as of 19:08, 27 March 2021
Character Sheet Development
Getting Started
- Using Custom Sheets
- Building Sheets
(Main Page) - Glossary
- Code Restrictions
- Best Practice
- Common Mistakes
- Tutorials
- Examples, Templates
- Pattern Libraries
- HTML & storing data
- CSS & Styling
General
- Updates & Changelog
- Known Bugs
- Character Sheet Enhancement(CSE)
- Custom Roll Parsing
- Legacy Sheet(LCS)
- Beacon SDK
Reference
- Buttons
- Repeating Sections
- Sheetworkers
- Roll Templates
- sheet.json
- Translation
- Auto-Calc
- Advanced
- All SheetDev Pages
Tools & Tips
Other
Main Page: Building Character Sheets
Update is live as of March 9th 2021, see Character Sheet Enhancements!(Forum) for more info |
Character Sheet Enhancement (or CSE for short) is an update to character sheets and how they are made, enabling many new features, and removing some existing restrictions sheet creators have had to deal with.
It was available on the Dev Server for testing During February, and fully released on March 9th 2021, then partially(?) rolled back little later due to some problems.
Contents |
Info
- Character Sheet Enhancements!(Forum) (March 9th Release)
- iFrame-and-Sanitization-Changes
- Dev Server Testing details (Jan 29th): Now on Dev Server: Character Sheet Enhancements!(Forum) - Char sheet subforum
- Dev Server Talk(Forum) - Pro subforum tread
Features
A summary of what updates the sheet system will have.
- HTML updates:
- Accessibility enhancements: ARIA and semantic HTML support
- No pre-pending of “sheet-” to classes
- Enable use of #id in HTML elements
- Allowing the usage of HTML datalists – suggestion thread(Forum)
- Allowing the usage of HTML
<details>
and<summary>
-elements – suggestion thread(Forum) (part of semantic HTML support)
- The CSS sanitizer has been removed, which now allows for:
- Media queries that allow responsive design(like mobile support)
- Sheet authors can now use
@media print
media query to style their character sheet for printing from the popout window- – suggestion thread(Forum) - Support for CSS Animations – suggestion thread(Forum)
- Integrated macro bar for character quick attacks, including pop out windows
-
Character Sheet/Stat Block is the default for opening a PC/NPCThis is being reverted until we have more research regarding implementation.
How to update sheet to new
CSE Examples
This article is a stub. |
Collection of examples, usercases or links to info of some of the new features. Please expand with code or links to examples/documentation.
ID
Examples of using the HTML global element #id.
id CSS selector
Use an id to select one unique element. An id name cannot start with a number.
//html <input type="text" id="character-name" name="attr_character_name" value="" placeholder="Character Name" /> //css #character-name { text-align: center; color: red; }
id Clickable Label text
Create "clickable" label text by using a linked label and input. Linked labels could replace various methods that use hidden checkboxes to simulate clickable text/buttons on a sheet.
//html <input id="attackMod1" name="attr_attackMod1" type="checkbox" value="1" class="hidden"> <label for="attackMod1" class="link">Apply Modifier</label> //css .sheet-hidden { display:none; } label.link:hover { cursor: help; text-decoration: underline; color: red; } input[type="checkbox"]:checked + label.link { color: red; }
id Sheet Anchors
Create links to jump to anchored elements of a sheet. Could be used as a "Navigational Menu/Table of Contents", or simply as clickable text that can quickly move to another section of a sheet.
//html <h2>Sheet Anchor example</h2> <h3 id="menu">Menu</h3> <ul> <li><a href="#Attacks">Attacks</a></li> <li><a href="#Skills">Skills</a></li> <li><a href="#Spells">Spells</a></li> </ul> <h3 id="Attacks">Attacks</h3> <p>"Lorem ipsum"</p> <h3 id="Skills">Skills</h3> <p>"Lorem ipsum"</p> <h3 id="Spells">Spells</h3> <p>"Lorem ipsum"</p> <hr> <p><a href="#menu">Menu</a></p>
Datalist
suggestion thread(Forum)
"Datalists are a helpful tool for sheet authors to guide players toward filling out input-fields. Datalists combines the precision of a dropdown-field with the flexibility of an input-field." -Peter B.
<input type="text" list="abilityScores" name="attr_abilityScore"> <datalist id="abilityScores"> <option value="@{strength}">Strength</option> <option value="@{dexterity}">Dexterity</option> <option value="@{constitution}">Constitution</option> <option value="@{intelligence}">Intelligence</option> <option value="@{wisdom}">Wisdom</option> <option value="@{charisma}">Charisma</option> </datalist>
<details>
A more simple way to create a collapsible section on a sheet than the old CSS tricks we have.
You have a <details>
where everything is inside, and then the <summary>
-element inside it determine what is shown when it's collapsed.
<details> <summary>Epcot Center</summary> <p>Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p> </details>
Accessability
Accessibility enhancements: ARIA and semantic HTML support
- https://www.w3.org/WAI/fundamentals/accessibility-intro/
- https://developer.mozilla.org/en-US/docs/Web/Accessibility
- https://www.w3schools.com/html/html_accessibility.asp
Responsive Design
Aimed at making adjustment for mobile
- Our mobile app will be launching in the near future and we want character sheets to look beautiful on it!
- We now support breakpoints, ID’s, and new HTML tags, all of which should help in your responsive sheet journey.
- Here are some awesome articles on this topic:
Mobile
Responsive design leads way to more easily adapting/optimizing Char Sheet for eventual use with the new Mobile-app, which is in Open Beta(as of 18th March 2021).
- CortexPrime-Hammerheads sourcecode - sheet contains adaptations for mobile layout that have been tested to work with CSE at some point.
link:
@media only screen and (max-width: 480px) { .sheet-wrapper { min-width: 320px; } .sheet-traits4 { display: grid; grid-template-columns: repeat(2, 1fr ); align-items: start; } .sheet-traits3 { display: grid; grid-template-columns: repeat(1, 1fr ); align-items: start; } .sheet-traits2 { display: grid; grid-template-columns: repeat(1, 1fr ); align-items: start; } .sheet-traits2 .sheet-traits2 { display: grid; grid-template-columns: repeat(2, 1fr ); align-items: start; } .sheet-traits1 { display: grid; grid-template-columns: repeat(1, 1fr ); align-items: start; } /* halo layout */ .sheet-editPane { width: 80%; } input[name="attr_Portrait"][value="PC0"] { border: 1px solid #cccc00; text-align: center; background-color: rgba(255, 128, 0, 0.05); } h1.sheet-hide { visibility: visible !important; display: block; } input[name="attr_Portrait"]:not([value="PC0"]) ~ .sheet-physical { position: static; border: 1px dashed #ffcb2b; border-top: 6px solid #ffcb2b; padding: 5px; } input[name="attr_Portrait"]:not([value="PC0"]) ~ .sheet-mental { position: static; border: 1px dashed #ffcb2b; border-top: 6px solid #ffcb2b; padding: 5px; } input[name="attr_Portrait"]:not([value="PC0"]) ~ .sheet-social { position: static; border: 1px dashed #ffcb2b; border-top: 6px solid #ffcb2b; padding: 5px; } input[name="attr_Portrait"]:not([value="PC0"]) + .sheet-action { display: block; visibility: visible; } .charsheet button[type="roll"].sheet-blank-roll-button + span { display: block !important; visibility: visible !important; } }
Popup
code snippet by Roll20 Dev exemplifying how popups can be implemented on sheets.
https://codepen.io/imprakash/pen/GgNMXO
Print-Friendly
suggestion thread(Forum) Guide - How to Create Printer-friendly Pages with CSS
See Also