> For the complete documentation index, see [llms.txt](https://docs.notionapps.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.notionapps.com/screens-and-components/types-of-screens/content.md).

# Content

Content (`CONTENT_PAGE`) is a screen for landing pages, help, legal, and public entry points. It is not a Notion list. This page is the canonical reference for HTML, per-screen CSS, guest vs signed-in, and table of contents.

## What this is / when to use it

Use Content when the screen **is the message**: a welcome page, a public marketing page inside the app, a thank-you page, or a help article.

When **not** to use it:

* Showing a Notion page body on a details record — use [Show Page Content](https://docs.notionapps.com/screens-and-components/show-page-content) on a details screen.
* A list of records — use a list screen.
* A form — use a form screen, then `go_to_screen` to a Content thank-you.

## Before you start

1. You know whether guests may open it ([Per-screen public access](https://docs.notionapps.com/how-to-guides/per-screen-public-access) / mixed portal how-to).
2. You have the copy. Content screens are maker-authored HTML/blocks, not a live Notion database.

## Build it

1. **+ New Screen → Content**.
2. Add Heading, Label, HTML block, images, buttons, and optional Show page content if you embed one Notion page.
3. Optionally add a [table of contents](https://docs.notionapps.com/how-to-guides/add-a-table-of-contents-to-page-content) when the page is long.
4. Add per-screen CSS only for this screen’s layout (spacing, hero). Account-wide CSS stays in Settings / Custom CSS how-to.
5. Set screen visibility: public for guests, or signed-in only.
6. Place it first in nav for a landing page, or hide it and open it from submit.
7. Publish. Open as guest and as a signed-in user.

## Every control

| Control                       | What it does                        |
| ----------------------------- | ----------------------------------- |
| HTML block                    | Maker HTML. No Notion property.     |
| Per-screen CSS                | Scoped styles for this screen.      |
| Show page content             | Embeds a Notion page; TOC optional. |
| Guest vs signed-in visibility | Who can open the screen.            |
| Buttons                       | `OPEN_URL` and friends.             |
| Hide from nav                 | Thank-you / legal deep links.       |

## What users see

A static (or Notion-embedded) page. Guests who are allowed see only this screen’s public chrome. Signed-in users see the same content plus the private nav if the screen is in their menu.

## Limits and plans

* HTML is not a full CMS. Do not paste untrusted scripts. Custom JS is a separate, plan-gated how-to.
* Per-screen CSS does not replace [Appearance](https://docs.notionapps.com/settings/appearance) theme presets.
* Page content embed freshness follows [sync](https://docs.notionapps.com/databases/reload-and-sync#page-content).

## Example

A mixed portal: public Content **Welcome** with a Button `OPEN_URL` to login and a second Button to a public Add-lead form. After login, Home (everyday chrome) replaces Welcome in the client’s tabs.

## Fix problems

| Symptom                    | Likely cause            | What to do                                       |
| -------------------------- | ----------------------- | ------------------------------------------------ |
| Guest sees login first     | Screen not public       | Per-screen public access.                        |
| CSS leaks                  | Selector too broad      | Scope to this screen’s classes.                  |
| Embedded Notion page empty | Not shared / not synced | Share with the integration. Reload page content. |

## Related

Next: [Show Page Content](https://docs.notionapps.com/screens-and-components/show-page-content). Mixed portals: [Build a Mixed Public–Private Portal](https://docs.notionapps.com/how-to-guides/build-a-mixed-public-private-portal).
