, 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); })(); Calvin to host foremost urban planner - News & Stories | 麻豆区

麻豆区

Skip to main content

Calvin News

Calvin to host foremost urban planner

Wed, Oct 25, 2006
Myrna Anderson

A coalition of West Michigan organizations will bring one of the world's foremost urban planners to Grand Rapids for a public talk on November 9.

Jan Gehl is the principal of , a Danish firm specializing in urban planning. His November 9 talk will be at Calvin College at 7:30 pm in the Chapel and will be on "Between Buildings: The Human Dimension in Urban Planning and Design."

Gehl is best-known for his book Life Between Buildings, a study of social interaction in public space that has become a classic in its field. In addition his book Public Spaces, Public Life describes how Copenhagen has been transformed from a car-dominated city to a pedestrian-oriented city over the last 40 years.

His visit to West Michigan is being sponsored by a broad range of organizations including Calvin's art, philosophy, geography and sociology departments and the Calvin provost's office and office of community engagement, with underwriting support from Bazzani Associates, the Frey Foundation, Inner City Christian Federation, Jade Pig Ventures, Nederveld Associates and Progressive AE.

Says professor of philosophy Lee Hardy: "What we find attractive about Gehl's work is that he bases his design recommendations on the careful study of human beings--the dimensions, capacities and needs of the human body, the character of sensory experience, and the styles of social interaction. We have a lot to learn from him about the humane ordering of the built environment."

This past summer Gehl Architects won an international design competition in Pittsburgh, Pennsylvania, for a proposal for a LEED certified neighborhood containing a mix of office, residential and retail functions.

Gehl has been the director of the Urban Planning Program at the School of Architecture in the Royal Academy of Fine Arts in Copenhagen since 1976.