, but this code // executes before the first paint, when

»Æ´óÏɸßÊÖÂÛ̳

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Chinese Student Association | »Æ´óÏɸßÊÖÂÛ̳

»Æ´óÏɸßÊÖÂÛ̳

Skip to main content

Chinese Student Association

Image
chinese-club-members
Chinese Student Association (CSA) is a vibrant community primarily composed of Chinese students, yet open to all who share an interest in Chinese culture.

Our organization offers diverse gatherings including major Chinese festivals that provide an enriching platform for individuals to learn and immerse themselves in the beauty of Chinese traditions. Additionally, we provide a forum for students interested in learning and practicing Chinese language with the World Languages Department. At CSA, we extend support to the Chinese student body, embracing all who identify with Chinese heritage, and actively foster a sense of community through various initiatives. Join us as we celebrate cultural diversity and create lasting connections within our inclusive and welcoming space.

Leadership

  • David Qu- President
  • Sherman Xia – Vice President of Administration
  • Daniel Hong – Vice President of Operations
  • Esther Chu - Secretary
  • Sarah Zhang- Finance Manager
  • Eden Shi - Treasurer
  • Steven Shi - Outreach
  • Michael Zhang - Event Coordinator
  • Gabriel Li - Event Coordinator

Contact us

·¡³¾²¹¾±±ô:Ìýcsa@calvin.edu

Instagram: °ª³¦²¹±ô±¹¾±²Ô³å³¦²õ²¹Ìý