The following code will not render the HTML on inactive tabs at the moment of rendering and has no responsiveness.
You can verify this by going to tab 2 and then refreshing.
import streamlit as st
tabs = st.tabs(["Tab 1", "Tab 2", "Tab 3"])
for tab in tabs:
with tab:
st.html("<h1>Hello</h1><p>This is a test</p>")
I tested this on:
python 3.11, streamlit 1.43.1
chrome, safari, and firefox