Vi samler op sammen bagefter...
<Button
variant="primary">
Log in
</Button><Button
variant="primary"
size="medium">
Log in
</Button>---
const { variant, size } = Astro.props;
---
<button class={variant + " " + size}>
<slot />
</button>
<style>
.primary { ... }
.medium { ... }
</style>---
const { variant, size } = Astro.props;
---
<button class:list={[ variant, size ]} />
<slot />
</button>
<style>
.primary { ... }
.medium { ... }
</style>---
const { variant, size } = Astro.props;
---
<button data-variant={variant} data-size={size}>
<slot />
</button>
<style>
[data-variant="primary"] { ... }
[data-size="medium"] { ... }
</style><nav>
<a href="/">Home</a> <!-- index.astro -->
<a href="/search">Search</a> <!-- search.astro -->
</nav><html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>Search</title>
</head>
<body>
<h1>Search</h1>
</body>
</html>---
import MainLayout from '../layouts/MainLayout.astro';
---
<MainLayout title="Search">
<h1>Search</h1>
</MainLayout>---
const { title } = Astro.props;
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body>
<slot />
</body>
</html>---
import MainLayout from '../layouts/MainLayout.astro';
---
<MainLayout title="Search">
<h1>Search</h1>
</MainLayout>---
const { title } = Astro.props;
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body>
<slot />
</body>
</html>---
import MainLayout from '../layouts/MainLayout.astro';
---
<MainLayout title="Search">
<h1>Search</h1>
</MainLayout>We conventionally use the term “layout” for Astro components that provide common UI elements shared across pages such as headers, navigation bars, and footers.
---
const { title } = Astro.props;
---
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body>
<Nav />
<Topbar />
<slot />
<Footer />
</body>
</html>Lav undersiden Search med layout og pages.
betinget HTML
<article>
<h2>...</h2>
<p class="badge">New</p>
<img />
</article><article>
<h2>...</h2>
<img />
</article>Astro can conditionally display HTML
<p class="badge">New</p>---
const visible = true;
---
<article>
<h2>...</h2>
<img />
</article>Astro can conditionally display HTML
<p class="badge">New</p>{}&&visible---
const visible = true;
---
<article>
<h2>...</h2>
<img />
</article>Astro can conditionally display HTML
<p class="badge">New</p>{}&&visible---
const visible = true;
---
<article>
<h2>...</h2>
<img />
</article>Astro can conditionally display HTML
<p class="badge">New</p>{}&&visiblehvis visible er sand
---
const visible = true;
---
<article>
<h2>...</h2>
<img />
</article>Astro can conditionally display HTML
<p class="badge">New</p>{}&&visiblevis HTML
---
const { newBadge } = Astro.props;
---
<article>
<h2>...</h2>
{newBadge && <p class="badge">New</p>}
<img />
</article><CategoryCard
newBadge={true}
...
/>Astro can conditionally display HTML
{}&&---
const { newBadge } = Astro.props;
---
<article>
<h2>...</h2>
{newBadge && <p class="badge">New</p>}
<img />
</article><CategoryCard
newBadge={true}
...
/>
<CategoryCard
newBadge={false}
...
/>Astro can conditionally display HTML
Dynamiske klasser
<Component
isActive={true}
...
/>---
const { isActive } = Astro.props;
---
<div class={isActive && "active"}>
...
</div>Dynamiske klasser
hvis isActive er sand -> "active"
activeDynamiske klasser
Developer Tools
---
const { isActive } = Astro.props;
---
<div class={isActive && "active"}>
...
</div>activeDynamiske klasser
Developer Tools
---
const { isActive } = Astro.props;
---
<div class={isActive && "active"}>
...
</div>activenpm run buildLaver koden om til almindelig HTML, CSS og JavaScript
Netlify gør det hele for os