import streamlit as st # At the top of your existing file with your imports def add_sticky_header_css(): st.markdown(""" """, unsafe_allow_html=True) # Then at the start of your main function or execution flow add_sticky_header_css() # Rest of your existing app continues... # Inspect the header element, go to the "Computed" tab in styles, and find its height. #HEADER_HEIGHT = "60px" # EXAMPLE: Adjust this (e.g., "56px", "4rem") #HEADER_SELECTOR = 'header[data-testid="stHeader"]' # ---- SELECTOR FOR THE MAIN CONTENT AREA THAT NEEDS PADDING ---- # Target the first direct div child of the stAppViewContainer which often holds the main scrollable content #MAIN_CONTENT_SELECTOR = 'section[data-testid="stMain"]' #MAIN_CONTENT_SELECTOR = 'section[data-testid="stMain"] > div:nth-child(1)' #MAIN_CONTENT_SELECTOR = 'section[data-testid="stMainBlockContainer"]' #MAIN_CONTENT_SELECTOR = 'section[data-testid="stAppViewContainer"]' #MAIN_CONTENT_SELECTOR = 'section[data-testid="stAppViewContainer"] > div:nth-child(1)' # Alternative if the above doesn't work or if your content is further nested: #MAIN_CONTENT_SELECTOR = 'section[data-testid="stAppViewContainer"] .main-content-wrapper-class' # Or, very commonly, Streamlit wraps main content in a div with class "block-container": #MAIN_CONTENT_SELECTOR = 'section[data-testid="stAppViewContainer"] .block-container' #MAIN_CONTENT_SELECTOR = '.main .block-container' # A more general selector for block-container ''' custom_css = f""" """ ''' # Inject CSS as early as possible in your app st.markdown(custom_css, unsafe_allow_html=True) # --- PAGE SETUP --- type_text_page = st.Page( page="pages/type_text.py", title="DEMO (work in progress)", icon=":material/keyboard:", default=True,) # --- Your Streamlit App --- #st.logo(image="images/menu_book_60dp_75FBFD.png") st.title("Map descriptions to SBS codes with Sentence Transformer + Reasoning") st.subheader("Select specific Chapter for quicker results") st.logo(image="images/menu_book_60dp_75FBFD.png") st.sidebar.header("SBS V2.0 mapper") st.sidebar.write("(work in progress)") st.sidebar.text("Demo by JA-RAD") # --- NAVIGATION SETUP --- pg = st.navigation(pages=[type_text_page]) # WITHOUT SECTIONS ##pg = st.navigation({"Chapter_Index": [start_page], "Demo": [type_text_page, upload_file_page], "About": [about_page]}) # WITH SECTIONS pg.run()