PMHK KLN EXHIBITION
Art & Cultural Heritage Experience
Preserving History Through Modern Discovery
Special Collections & Galleries
This is the standard body text used across all articles and editorial descriptions. It is optimized with fluid scaling between 16px on mobile (390px) up to 17px on desktop (1440px), maintaining comfortable readability and typographic harmony with the Traditional Chinese font pairing.
This is the medium-weight body text used for emphasized descriptions, lead paragraphs, card highlights, and key informational summaries.
中華基督教會香港區會九龍堂 · 信仰與傳承
當頁面包含繁體中文或帶有 body.tc / :lang(zh) 屬性時,標題字體會自動平滑切換至 Noto Sans TC,確保中文字符顯示清晰且排版風格統一。
Discover our exclusive Permanent Exhibition Galleries and book your spot for the Curator-led Heritage Tour. The underline draws smoothly from left to right on hover, and gracefully shrinks toward the right when moving the cursor away.
<input>, padding 10px 25px, nền xám trong suốt #00000008.
- Style trực tiếp vào <input>: Thuộc tính
background: #00000008,padding: 10px 25px, font Body-R và border radius 0 được định nghĩa vào chính thẻ<input>, không gắn vào thẻ<form>bọc ngoài. - Khoảng cách riêng trong Input Search: Text trong input có khoảng cách (gap) chính xác 17px so với icon kính lúp (20×20) bên trái và button mũi tên (16×12) bên phải. Áp dụng
padding-left: 62px(25px mép + 20px icon + 17px gap) vàpadding-right: 58px(25px mép + 16px button + 17px gap). - Focus State: Khi focus, nền chuyển mượt sang
#0000000f, outline none sạch sẽ và hiện đại.
- Select: Font Body – R, nền cam
#FF8700(hover giữ nguyên màu cam), chữ trắng, padding 8.5px 25px, gap 20px với iconangle_down.svg, không có border radius, không có box shadow. - Options: Nền kem
#FAF5EF, không có border bao ngoài, không box shadow, padding tương tự select (8.5px 25px), chữ căn center, hover đổi màu cam. - Giới hạn chiều cao & Cuộn mượt: Menu tự động giới hạn
max-height: 250pxkèm thanh cuộn thanh mảnh 5px tone cam/xám,overscroll-behavior: containngăn scroll lan ra trang web. Tự động cuộn item vào tầm nhìn khi duyệt bằng bàn phím. - Placeholder thông minh: Hỗ trợ
<option value="" disabled selected hidden>hoặcdata-placeholder: trigger hiển thị placeholder khi chưa chọn, danh sách options xổ xuống chỉ gồm các lựa chọn thực (không xuất hiện placeholder). - Sự kiện: Hỗ trợ đầy đủ 100% sự kiện native của thẻ select (
change,input,focus,blur, formreset, phím mũi tên Lên/Xuống, Enter, Space, Escape, Tab và type-ahead search).
- Kích thước nút mũi tên: Kích thước 29px x 22px, màu đen, khi bị disable (ở trang đầu hoặc trang cuối) thì mờ với
opacity: 0.3. - Typography số trang: Font H4 (Gambarino) kích thước 27px trên Desktop, xuống Mobile chuyển sang font Mobile/Lead in 1 (22px). Trang hiện tại có màu đen
#272727, các trang chưa chọn có màu mờrgba(39, 39, 39, 0.4). - Hiệu ứng Hover: Khi rê chuột vào số trang hoặc nút mũi tên, chỉ đổi màu sang cam
#FF8700, tuyệt đối không phóng to (transform scale) để tránh giật bố cục. - Khoảng cách (Gap): Giữa các item trong thanh phân trang là 50px ở Desktop,
clamp(20px, 6vw, 40px)ở Mobile. - Hỗ trợ Mobile 3 trang: Trên mobile, sử dụng
.pmhk-pagination__numbers--desktopvà.pmhk-pagination__numbers--mobileđể giới hạn tối đa 3 số trang tránh tràn màn hình. - Hỗ trợ AJAX & PHP Render: Dùng hàm PHP
pmhk_render_pagination( $paged, $max_pages )hoặc module JSPMHKAjaxListingđể tải trước dữ liệu AJAX khi load trang.
- Container cố định:
.pmhk-toast-containercố định ở góc dưới bên phải màn hình (bottom: 30px, right: 30px, mobile: 20px). Tự động xếp chồng từ dưới lên trên. - Màu sắc & Điểm nhấn: Nền màu Blue thương hiệu
#234677, chữ trắng, đổ bóng mềm mạibox-shadow: 0 10px 30px rgba(0,0,0,0.22). Đường viền bên trái dày 4px màu cam#FF8700cho thông báo chung/thành công, hoặc màu đỏ#ef4444khi có lỗi. - Tự động đóng & Diễn hoạt: Trượt êm từ dưới lên (
pmhkToastSlideIn 0.35s) và tự động mờ dần biến mất sau 4 giây, hoặc người dùng có thể nhấn nút [X] để đóng tức thì. Chống thông báo trùng lặp nội dung. - API Javascript: Gọi trực tiếp
window.pmhkToast.show( message, 'info' | 'success' | 'error' )bất kỳ lúc nào trên toàn site (được khởi tạo tự động trongmain.js).