Popup Trigger Contact
A button that opens the contact form in a modal dialog, keeping the page clean. Good for portfolios where you want the form hidden until a visitor asks.
A button that opens the contact form in a modal dialog, keeping the page clean. Good for portfolios where you want the form hidden until a visitor asks.
Search blocks by description or jump to a page.
Popup Trigger Contact keeps the page surface clean. The section centers a bold heading, a short inviting paragraph, and a single "Contact Me" button with a mail icon. A fallback email address sits below the button in smaller muted text. Clicking the button opens a modal dialog containing a labeled name field, an email field, a four-row message textarea, and a full-width submit button. A second trigger lives as a fixed circular icon button pinned to the bottom-right corner of the viewport, giving visitors a persistent shortcut to the same form without cluttering the page layout.
Both the centered section copy and the floating button open identical dialog forms, so the contact path is always one click away regardless of where the visitor is on the page. The heading, paragraph, fallback email address, and the form field labels are all plain text you can swap freely. You can also drop the floating button entirely if a single trigger is enough.
This layout fits portfolio pages where the contact section sits at the end of a long scroll. For a project management workspace where collaborators and potential clients browse a showcase before deciding to reach out, keeping the form tucked in a dialog prevents a heavy form from interrupting the work on display. It works better than an always-visible form when the page already carries a lot of content and you want the contact step to feel optional and low pressure rather than insistent.
A natural flow around it on a Portfolio page:
Before
After
The block has two independent trigger surfaces plus a form that appears in both. A few ways to adapt them:
Tip: wire both form instances to the same submission handler so replies land in one place regardless of which trigger the visitor used.