Edit (oct 2017):
background-clip
or ratherbackground-image options
are now supported by every major browser: CanIUse
Yes, you can do this with only one character and only CSS.
Webkit (and Chrome) only, though:
h1 {_x000D_
display: inline-block;_x000D_
margin: 0; /* for demo snippet */_x000D_
line-height: 1em; /* for demo snippet */_x000D_
font-family: helvetica, arial, sans-serif;_x000D_
font-weight: bold;_x000D_
font-size: 300px;_x000D_
background: linear-gradient(to right, #7db9e8 50%,#1e5799 50%);_x000D_
-webkit-background-clip: text;_x000D_
-webkit-text-fill-color: transparent;_x000D_
}
_x000D_
<h1>X</h1>
_x000D_
Visually, all the examples that use two characters (be it via JS, CSS pseudo elements, or just HTML) look fine, but note that that all adds content to the DOM which may cause accessibility--as well as text selection/cut/paste issues.