, 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); })(); Plaster Creek Watershed Plaster Creek Stewards | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

What is a watershed?

A watershed is an area of land, naturally delineated by topography, where all the water drains to the same place. Watersheds should connect communities, as water flows from the headwaters to the lower reaches and carries the effects of land use with it: surface runoff, flooding, erosion, and more. Communities that work together to protect the waterways, in essence show respect for their downstream neighbors.

Plaster Creek basics

The Plaster Creek Watershed occupies approximately 58 square miles, all in metropolitan Grand Rapids, Michigan. The creek itself is about 27 miles long. Its headwaters originate south and east of Grand Rapids, with many of its tributaries coming from agricultural areas around Dutton and Caledonia. The creek flows through commercial and residential areas of the city, and finally through industrial areas and low-income neighborhoods before emptying into the Grand River a mile south of downtown Grand Rapids. By the time the creek enters the Grand River is it considered one of the most impaired waterways in West Michigan (read more about the state of Plaster Creek). For more information, view , an interactive GIS database of the watershed created by the Geology, Geography, and Environmental Studies department.

Welcome to your watershed: Townships

Township officials make decisions to protect the quality of life for current and future township residents. These individualized portfolios help township officials understand the needs of healthy watersheds in their communities. These downloadable brochures explain why land use decisions in the townships should be made with careful consideration of their impact on waterways like Plaster Creek and provide helpful ideas for protecting freshwater resources for everyone.