[Tex/LaTex] Color changes cell height in tabular

colorspacingtables

The following code shows that a \color{red} command increases the height of a tabular cell.
I want to use a switch, not a command as \textcolor{red}{text}.

\documentclass{article}

\usepackage{xcolor}
\usepackage{float}

\begin{document}

\begin{table}[H]
\begin{tabular}{*{2}{p{0.45\textwidth}}}
\hline
\color{red} header &
header \tabularnewline
\hline
 %
 content  & content \tabularnewline
 content  & content \tabularnewline
 content  & content \tabularnewline
\hline
\end{tabular}
\end{table} 
\end{document}

enter image description here

How can I work around this problem?

Best Answer

The cell height will be correct if you insert \leavevmode before \color for changing into horizontal mode. \textcolor does the same internally, it calls \leavevmode and then \color, additionally it does grouping. So use this as a switch:

\leavevmode\color{red} header &

If necessary in other places (maybe in moving arguments), consider protecting \leavevmode.

\protect\leavevmode\color{red}