91³Ô¹ÏÍø

Watch CBS News

A little more sunshine expected across Maryland Thursday

A thick blanket of clouds hung over Maryland as moisture streamed northward Wednesday afternoon. While most of the steady rain stayed in southern Maryland, a few stray showers did manage to pop up during the afternoon. 

Skies will manage to clear late tonight, some patchy fog could develop-especially in low-lying river valleys. Overnight lows will fall into the 60s for most, with some cooler spots in the upper 50s in western Maryland.

Looking ahead to Thursday and Friday, high pressure nearby will keep our weather relatively quiet. Winds coming in off the water will help hold temperatures a bit below normal for early August. Expect highs in the upper 70s to low 80s both days, with overnight lows in the upper 50s and 60s. We'll see a mix of clouds and sun Thursday-though clouds may win out by the afternoon. Friday is looking brighter overall, with a little more sun breaking through as the system overhead moves out.

Rain chances look very limited to end the week, though we can't completely rule out a quick popup shower Thursday afternoon. If you are headed to the Ravens Pre-Season Game at the Bank Thursday evening, expect temps in the 70s under partly cloudy skies. Ideal weather for some football.

As we head into the weekend, dry conditions are expected to continue across much of Maryland, along with slightly cooler-than-normal temperatures. Expect highs in the 80s with lows in the 60s. It will be warmer than it was during the week

Next week brings some changes. Warmer air will start to push in from the south, leading to a slow return of humidity-and eventually, better chances for showers and storms. Monday and Tuesday could bring a few spotty, heat-driven showers. But the best chance for more widespread rain looks to arrive around midweek.

By then, expect the humidity to return in full force. Heat index values could approach 100 degrees by Wednesday or Thursday, marking a noticeable shift from this week's cooler, cloudier pattern.

In the meantime, enjoy the fresh air and mild temperatures-it's a break from the usual August heat, and it won't last much longer.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });