Prova questo:
`\documentclass{article}
\usepackage{mdframed,lipsum,tikz}
\makeatletter
\def\@declenv#1{%
\newenvironment{#1}[1][]{%
\expandafter\let\expandafter\mdframedtitleenv\csname theorem@#1@titleenv\endcsname
\stepcounter{#1}%
\ifstrempty{##1}%
{\mdfsetup{frametitle={\strut}}}%
{\mdfsetup{frametitle={:~##1}}}%
\begin{mdframed}[innertopmargin=0pt,linecolor=blue!20,%
linewidth=2pt,topline=false,]%
}{\end{mdframed}}}
\def\@decltitleenv#1#2{%
\csdef{theorem@#1@titleenv}##1{%
\@afterindentfalse
{\parindent \z@
\setlength{\parfillskip}{\z@ plus 1fil}%
\mdraggedtitle\nobreak
\makebox[\linewidth][l]{%
\hspace*{-1\mdf@innerleftmargin@length}%
\rlap{\color{white}%
\hspace*{-1\mdf@middlelinewidth@length}%
\rule[\mdf@middlelinewidth@length]%
{\dimexpr\linewidth+1\mdf@innerleftmargin@length
+\mdf@innerrightmargin@length
+2\mdf@middlelinewidth@length\relax}%
{\dimexpr\ht\strutbox+.3333em\relax}}%
\rlap{\color{blue!20}%
\rule{\dimexpr\linewidth+\mdf@innerleftmargin@length%
+\mdf@innerrightmargin@length\relax}%
{\mdf@middlelinewidth@length}}%
\hspace*{-1\mdf@middlelinewidth@length}%
\tikz[remember picture,baseline]%
\node[,draw = none, text = black,fill = blue!20,]%
{\mdf@frametitlefont\strut #2~\@nameuse{the#1}##1};\relax
}%
\par\kern.5\baselineskip}%
\@afterheading}}
\newcommand\mdfnewtheorem[2]{%
\newcounter{#1}[section]%
\@declenv{#1}%
\@decltitleenv{#1}{#2}}
\makeatother
\mdfnewtheorem{teorema}{Teorema}
\mdfnewtheorem{definizione}{Definizione}
\begin{document}
\begin{teorema}[di pitagora]
\lipsum[3]
\end{teorema}
\begin{teorema}
\lipsum[2]
\end{teorema}
\begin{definizione}[di insieme]
\lipsum[4]
\end{definizione}
\begin{definizione}
\lipsum[6]
\end{definizione}
\end{document}
`
È fatto un po’ di fretta e magari non è flessibilissimo, ma sembra funzionare.
Ciao,
Antonio
PS: metti il codice nei tag [`[`, non con lo spoiler! 🙂