It might seem quite intimidating to customize the HTML in a Shiny application, and you may feel that by going under the hood, it would be easy to break the application or ruin the styling. You may not want to bother rewriting every widget and output in HTML just to make one minor change to the interface.
In fact, Shiny is very accommodating, and you will find that it will quite happily accept a mix of Shiny code and HTML code produced by you using Shiny helper functions and the raw HTML, also written by you. So, you can style just one button or completely build the interface from scratch and integrate it with some other content. I'll show you all of these methods and give some hints about the type of things you might like to do with them. Let's start simple by including some custom HTML in an otherwise vanilla Shiny application.