You can use for example the enumitem
package to customize the enumerate
environment.
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}[label=Property \arabic*.,itemindent=*]
\item First
\item Second
\end{enumerate}
\end{document}
enumitem
also allows you to define your own list environment:
\documentclass{article}
\usepackage{enumitem}
\newlist{Properties}{enumerate}{2}
\setlist[Properties]{label=Property \arabic*.,itemindent=*}
\begin{document}
\begin{Properties}
\item First
\item Second
\end{Properties}
\end{document}

Setting the itemindent
to *
automatically calculates the necessary width for the entire label. Without this the label will run into the left margin.
If an item text is too long to fit on one line, the next line will be indented a little from the left margin:

If you want this second line to be aligned with the start of the item text, use leftmargin=*
instead of itemindent=*
. If you want the second line to not be indented, use leftmargin=0pt
in addition to itemindent=*
. The following example sums this up:
\documentclass{article}
\usepackage{showframe}
\usepackage{enumitem}
\begin{document}
Just changing the label:
\begin{enumerate}[label=Property \arabic*.]
\item First, with a very long text that should extend to the next line if I'm not very much mistaken.
\item Second.
\end{enumerate}
\hrule\medskip
With \verb|itemindent=*|:
\begin{enumerate}[label=Property \arabic*.,itemindent=*]
\item First, with a very long text that should extend to the next line if I'm not very much mistaken.
\item Second.
\end{enumerate}
\hrule\medskip
With \verb|leftmargin=*|:
\begin{enumerate}[label=Property \arabic*.,leftmargin=*]
\item First, with a very long text that should extend to the next line if I'm not very much mistaken.
\item Second.
\end{enumerate}
\hrule\medskip
With \verb|itemindent=*,leftmargin=0pt|:
\begin{enumerate}[label=Property \arabic*.,itemindent=*,leftmargin=0pt]
\item First, with a very long text that should extend to the next line if I'm not very much mistaken.
\item Second.
\end{enumerate}
\end{document}

This works by putting the item into a savebox, measuring its size and overlaying the colored line on top.
The spacing between items is larger than the OP, as one would expect (see A list and a figure side by side)
I had the hardest time getting this to work. I believe that \item
is incompatible with \rlap
, \llap
and \sbox0
.
\documentclass{article}
\usepackage{enumitem}
\usepackage{color}
\usepackage{lipsum}
\begin{document}
\newsavebox{\tempbox}
\newcommand{\coloritem}[2]% #1 = color of bar, #2 = item text
{\item \savebox{\tempbox}{\parbox[t]{\linewidth}{#2}}%
\usebox{\tempbox}\hspace{-\columnwidth}%
{\color{#1}\rule[-\dp\tempbox]{4pt}{\dimexpr \ht\tempbox+\dp\tempbox}}%
}
\lipsum[1]
\smallskip
\begin{enumerate}
\coloritem{red}{\lipsum[2]}
\coloritem{blue}{\lipsum[3]}
\end{enumerate}
\smallskip
\lipsum[4]
\end{document}

Best Answer
You could simply use the optional Argument of
\item
I hope that’s what you wanted to do …