What's the best way to display an arbitrary button in a post?

AI-generated summary

In a support discussion titled ‘What’s the best way to display an arbitrary button in a post?’, adamengst seeks to add styled buttons (e.g., for registrations or donations) to individual forum posts using custom CSS, noting that raw HTML like <span style="..."> isn’t accepted. jordan-violet suggests using <kbd> tags with links as a workaround, but adamengst prefers full CSS control. jordan-violet then directs him to a meta post on embedding buttons, which adamengst confirms solves his need. Canapin shares a tutorial on customizing post content with styles, which adamengst acknowledges. He then asks about email notification rendering of such custom elements; Canapin replies that styles don’t carry over to emails, showing how custom HTML degrades to plain text. adamengst notes this is acceptable but requires careful wording to avoid calling it a ‘button’ in emails. Finally, MikeNolan asks if CSS can be edited on hosted Discourse sites, and JammyDodger confirms it’s possible on Standard plans and higher via theme components.

For the occasional post in our forum, I’d like to create a button that would, for instance, make it obvious what to click to register for a race, sign up to volunteer, or donate for a fundraising campaign. Just something that looks roughly like one of these:

If Discourse would take it (which it doesn’t seem to), I’d use something like this code.

<span style="display: inline-block; background-color: #7b38d8; padding: 20px; width: 200px; color: #ffffff; text-align: center;">
  Button
</span>

Is there a way to do something like this on an ad hoc, individual post basis?

Thank you!

Would this work for you?

Button!

[<kbd>Button!</kbd>](google.com)

Thanks! It’s certainly on the right track, though I was hoping for something I could tweak with CSS so the styles would be familiar to our users from other stuff we do.

In that case, I believe this is what you need:

That’s exactly what I wanted, thank you! I can take it from here…

There’s a whole tutorial about how to customize posts with custom content like buttons:

I saw that—thank you for writing it!

One question that’s come up—what happens with custom elements in email notifications?

Great question :slight_smile:

Displays as

I guess that the HTML generated with wraps won’t bring their style with them via email.

Good to know, thanks. It degrades well, but the text will have to be careful not to refer to it as a button, say.

Can CSS be edited on a site hosted by Discourse?

On the Standard plan and up. :+1: You would create a theme component and make changes in there, and then attach that to your theme(s).