Here's yet another proof, which works by constructing a border point if $A$ is clopen nonempty proper subset of $\mathbb{R}$:
Be $A\subset\mathbb R$ both open and closed, but neither empty nor $\mathbb R$. Then there exist points $a\in A$ and $b\in\mathbb R\setminus A$.
Now construct two sequences $(a_n)$ and $(b_n)$ as follows:
$a_0=a$, $b_0=b$. For any $n$, be $c_n=(a_n+b_n)/2$. If $c_n\in A$, then $a_{n+1}=c_n$, $b_{n+1}=b_n$, else $a_{n+1}=a_n$, $b_{n+1}=c_n$.
Quite obviously for all $n$, $a_n\in A$ and $b_n\notin A$. Also $\lim_{n\to\infty}\left|a_n-b_n\right| = \lim_{n\to\infty}2^{-n}\left|a-b\right| = 0$. Therefore there exists exactly one point $x$ so that $\min(a_n,b_n)\le x\le\max(a_n,b_n)$ for all $n$ (nested intervals).
Since $\lim_{n\to\infty}a_n=x$ and $\lim_{n\to\infty} b_n=x$, we have in every open neighbourhood of $x$ both points in $A$ (namely $a_n$ for sufficiently large $n$) and in the complement of $A$ (namely $b_n$ for sufficiently large $n$). Thus $x$ is a border point of $A$, in contradiction that $A$ is both open and closed, and thus cannot have any border points.