Liveweave: Generative AI Web Editor & HTML/CSS/JS Playground
Initializing
Liveweave
Web
expand_more
home
Home
Palette
Color Explorer
arrow_outward
Polyline
Graphics Editor
arrow_outward
frame_source
Python Playground
arrow_outward
build
Tools
expand_more
restart_alt
Load "Hello Weaver!"
post_add
Generate Lorem ipsum...
code
Format HTML
code_blocks
Format CSS
data_object
Format JavaScript
library_add
Library
expand_more
A
Algolia JS
Animate CSS
Apex Charts JS
B
Bulma CSS
Bootstrap
C
Chart JS
Chartist
Create JS
D
D3
Dojo
F
Foundation
Fullpage JS
G
Granim JS
Google Charts
H
Halfmoon
J
jQuery
M
Materialize
Moment JS
Masonry JS
Milligram CSS
P
Pure CSS
Primer CSS
Popper JS
Pattern CSS
Picnic CSS
R
React JS
Raphael JS
Raisin CSS
S
Semantic UI
Skeleton CSS
Spectre CSS
Tachyons CSS
T
Tailwind
Three JS
U
UI Kit
Vis JS
W
Water CSS
download
Download
expand_more
developer_mode
Download as HTML
folder_zip
Download as .ZIP
cloud_upload
Fork
account_circle
Login
settings
Settings
expand_more
Editor font
14
px
A
A
Night mode
Line number
Mini map
Word wrap
sync_alt
Reset Settings
smart_display
Run
left_panel_close
AI Assistant
dashboard
All
HTML
CSS
JS
visibility
Preview
bolt
Live Preview
terminal
JS Console
<!DOCTYPE html> <html> <head> <title>Editorial Typography</title> </head> <body> <!-- Start your code here --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=DM+Mono:wght@300;400&family=Manrope:wght@300;400;500;600&display=swap" rel="stylesheet" > <div class="page"> <header class="nav"> <div class="logo">FORM / 26</div> <div class="nav-center"> TYPE / SPACE / OBJECT </div> <div class="menu"> MENU </div> </header> <main> <section class="hero"> <div class="hero-meta"> <span>01</span> <span>TYPOGRAPHY AS FORM</span> </div> <div class="headline"> <div class="line line-one"> BEAUTY </div> <div class="line line-two"> <em>IN</em> <span>SIMPLICITY</span> </div> <div class="line line-three"> <span>DESIGN</span> <sup>®</sup> </div> </div> <div class="hero-description"> A study in proportion, rhythm and typography — where letters become architecture. </div> <div class="hero-mark"> <div class="circle"> <span>SCROLL</span> <span>→</span> </div> </div> </section> <section class="bottom"> <div class="quote"> “Good typography is invisible. Great typography is unforgettable.” </div> <div class="specs"> <div> <small>DISPLAY</small> <strong>BODONI MODA</strong> </div> <div> <small>BODY</small> <strong>MANROPE</strong> </div> <div> <small>DETAIL</small> <strong>DM MONO</strong> </div> </div> </section> </main> <footer> <span>INDEPENDENT TYPE STUDY</span> <span>VOL. 01 — 2026</span> <span>ATL / NY / LDN</span> </footer> </div> <!-- End your code here --> </body> </html>
* { box-sizing: border-box; } html, body { margin: 0; width: 100%; min-height: 100%; } body { background: #e9e6df; color: #171713; font-family: "Manrope", sans-serif; } .page { min-height: 100vh; padding: 0 5vw; display: flex; flex-direction: column; } /* -------------------------------- */ /* Navigation */ /* -------------------------------- */ .nav { height: 82px; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; border-bottom: 1px solid rgba(20,20,15,.15); font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: 1.5px; color: rgba(20,20,15,.55); } .logo { font-weight: 400; } .nav-center { text-align: center; } .menu { text-align: right; cursor: pointer; transition: color .2s ease; } .menu:hover { color: #111; } /* -------------------------------- */ /* Hero */ /* -------------------------------- */ .hero { position: relative; min-height: 68vh; padding-top: 8vh; display: flex; flex-direction: column; justify-content: center; } .hero-meta { position: absolute; top: 45px; left: 0; display: flex; gap: 16px; font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: 1.5px; color: rgba(20,20,15,.42); } /* -------------------------------- */ /* Main typography */ /* -------------------------------- */ .headline { position: relative; margin-left: -0.03em; font-family: "Bodoni Moda", serif; font-size: clamp( 75px, 13vw, 190px ); line-height: .78; letter-spacing: -.065em; font-weight: 500; max-width: 1300px; } .line { position: relative; overflow: hidden; } .line-one { animation: reveal .9s cubic-bezier(.16,1,.3,1) both; } .line-two { margin-left: 11vw; animation: reveal 1s .08s cubic-bezier(.16,1,.3,1) both; } .line-three { margin-left: 3vw; animation: reveal 1.1s .16s cubic-bezier(.16,1,.3,1) both; } .line-two em { font-weight: 400; font-style: italic; font-size: .65em; letter-spacing: -.08em; margin-right: .08em; color: #706b61; } .line-three sup { display: inline-block; margin-left: .08em; vertical-align: top; font-family: "DM Mono", monospace; font-size: 12px; letter-spacing: 0; opacity: .5; } @keyframes reveal { from { transform: translateY(110%); } to { transform: translateY(0); } } /* -------------------------------- */ /* Description */ /* -------------------------------- */ .hero-description { position: absolute; right: 4vw; bottom: 8vh; width: 230px; font-size: 11px; line-height: 1.7; color: rgba(20,20,15,.58); animation: fade .9s .5s ease both; } @keyframes fade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* -------------------------------- */ /* Round scroll mark */ /* -------------------------------- */ .hero-mark { position: absolute; right: 4vw; top: 14vh; } .circle { width: 78px; height: 78px; border: 1px solid rgba(20,20,15,.2); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: 1px; color: rgba(20,20,15,.6); transition: transform .5s cubic-bezier(.16,1,.3,1), background .3s ease; } .circle:hover { transform: rotate(15deg) scale(1.05); background: rgba(255,255,255,.3); } /* -------------------------------- */ /* Lower content */ /* -------------------------------- */ .bottom { display: grid; grid-template-columns: 1.3fr 1fr; gap: 10vw; padding: 6vh 0; border-top: 1px solid rgba(20,20,15,.15); } .quote { font-family: "Bodoni Moda", serif; font-size: clamp( 20px, 2.4vw, 32px ); line-height: 1.18; font-style: italic; max-width: 530px; } .specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; } .specs div { display: flex; flex-direction: column; gap: 7px; } .specs small { font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: 1.5px; color: rgba(20,20,15,.4); } .specs strong { font-size: 10px; letter-spacing: .5px; font-weight: 500; } /* -------------------------------- */ /* Footer */ /* -------------------------------- */ footer { min-height: 65px; margin-top: auto; border-top: 1px solid rgba(20,20,15,.15); display: flex; justify-content: space-between; align-items: center; font-family: "DM Mono", monospace; font-size: 8px; letter-spacing: 1.5px; color: rgba(20,20,15,.42); } /* -------------------------------- */ /* Responsive */ /* -------------------------------- */ @media (max-width: 800px) { .nav { grid-template-columns: 1fr auto; height: 65px; } .nav-center { display: none; } .headline { font-size: clamp(56px, 14vw, 105px); } .line-two { margin-left: 5vw; } .hero-description { position: relative; right: auto; bottom: auto; margin-top: 45px; width: 260px; } .hero-mark { display: none; } .bottom { grid-template-columns: 1fr; gap: 40px; } .specs { max-width: 450px; } footer { gap: 15px; flex-wrap: wrap; } } @media (max-width: 480px) { .page { padding: 0 20px; } .hero { min-height: 65vh; } .headline { font-size: 58px; } .line-two { margin-left: 0; } .line-three { margin-left: 2vw; } .specs { grid-template-columns: 1fr; } }
// Write JavaScript here
terminal
JavaScript Console
Preview
Clear
close
›
Run