, 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); })(); Native Plant Sale Ecosystem Preserve | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Native Plant Sale

Image
Fall Native Plant Sale

Thank You for a great season of native plant sales!

Our sale season may be over, but we want to take a moment to thank you for an amazing spring, summer, and fall of receiving and processing your online orders. And of course, we appreciate meeting & talking with you at our in-personal sales! Your support means more native plants in West Michigan鈥檚 outdoor spaces, and we couldn't have done it without you.

Now, we鈥檙e moving into the next phase: collecting and sorting seeds. We鈥檒l give the seeds an artificial winter and then begin the growing process again in February. Maybe you'll consider joining us as a greenhouse volunteer in February, too. Come back for news of the 2025 sales season and volunteer opportunities after the new year.

Stay in touch with us on and .

..................................................................................................................

View our Native Plant List & Cultural Guide聽for an idea of what products are available throughout the year.聽

Native plants are flowers, grasses, trees and shrubs that have inhabited Michigan since before European settlement. Each year, we collect native seeds from West Michigan and propagate them in our greenhouses. The Native Plant Sale features more than 100 rare, unusual, and favorite varieties of native wildflowers, shrubs, and grasses for all growing conditions, including drought-tolerant, rain garden, and shade species.

When the online native plant sale is open, orders are fulfilled on Thursdays and available for pickup on Fridays from the glass house at 1750 East Beltline Ave. SE, Grand Rapids, MI 49546.

Proceeds benefit educational and stewardship programs at the preserve. Thank you for your support!

LEARN MORE

For additional species information and photos, visit these online databases:

  • (best plants for birds)