You need \par
in front of \color{blue}
.
What happens in your example is that the space coming from the endline is followed by {\color{blue}\begin{proof}...}
and the \par
that's issued by \begin{proof}
(actually by \trivlist
, but it's not important) cannot remove it. So a line consisting of just one space is built.
This can be seen by the following example, where you see that masking the endline with %
removes the spurious line.
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{amsmath}
\usepackage{amsthm}
\def\myproof#1{{\color{blue}\begin{proof}#1 \end{proof}}}
\begin{document}
\begin{enumerate}
\item 1
\myproof{sdf}
\item Thisis Thisis This is This is This is This is This is This is This is This.%
\myproof{sdf}
\item Thisis Thisis This is This is This is This is This is This is This is This.
\myproof{sdf}
\end{enumerate}
\end{document}
If we modify it as
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{amsmath}
\usepackage{amsthm}
\newcommand\myproof[1]{\par{\color{blue}\begin{proof}#1 \end{proof}}}
\begin{document}
\begin{enumerate}
\item 1
\myproof{sdf}
\item Thisis Thisis This is This is This is This is This is This is This is This.%
\myproof{sdf}
\item Thisis Thisis This is This is This is This is This is This is This is This.
\myproof{sdf}
\end{enumerate}
\end{document}
you can see that the %
is no longer necessary.
My preferred way would be
\newenvironment{blueproof}{\par\color{blue}\proof}{\endproof}
using
\begin{enumerate}
\item 1
\begin{blueproof}
sdf
\end{blueproof}
\item Thisis Thisis This is This is This is This is This is This is This is This.
\begin{blueproof}
sdf
\end{blueproof}
\end{enumerate}
\end{document}
\leavevmode
into the definition of\myproof
? (side note\textcolor
instead of\color
might work better although I didn't try. different syntax however)%
(comment) character right afterThis.
.\unskip{\color{blue}...