I am trying to add shadow to node. For normal node, the shade will not impact the label. However, for nodes inside a matrix, the labels are shadowed too.
MWE below
\documentclass[border=5mm, convert]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes, positioning, matrix, shadows}
\begin{document}
\begin{tikzpicture}[auto]
\tikzset{myrect/.style={draw, rectangle, font=\ttfamily, fill=white, drop shadow}}
\tikzset{mylabel/.style={color=blue, font=\tiny \ttfamily}}
\node[myrect, label={[mylabel]above:normal label}] (ele) {Single Element};
\matrix (layer) [matrix of nodes, nodes={myrect, anchor=center}, column sep = 1cm, below = of ele] {
|[label={[mylabel]:matrix label 1}]|matrix element 1 &
|[label={[mylabel]:matrix label 2}]|matrix element 2 &
|[label={[mylabel]:matrix label 3}]|matrix element 3 \\
};
\end{tikzpicture}
\end{document}
The output is as the following:
How this happen and is there way to avoid it?

nodes=key for the matrix is like a shortcut forevery node/.style=and since labels are also nodes, they also get thedrop shadow. I suspect that some keys, likedraware reset within a label, but others likedrop shadoware not. – Max Jan 11 '19 at 09:54no shadowskey from solution B from this answer and add it to yourmylabelstyle. That would delete all preactions added to the labels, including thedrop shadow. – Max Jan 11 '19 at 10:06