Note: I am adding this answer because it offers an alternative way to add the arrows without using an image but does follow the logic of keeping the arrows in the background.
A way to add the arrows without an image while keeping that styling of the images (just have to tweak it to taste and I didn't optimize the divs or the logic in the css ~ more of a proof of concept (fast prototype)). Another benefit of this approach is that you can easily change the arrows coloring with classes plus if you place the two arrows in separate divs you could even hide one when it is already selected (currently they just change color separately on hover).
See the example in action!
HTML
<table class="test-table">
<tr class="headRow">
<th>
<div class="table-head-container">
<div class="table-head-background">
<div class="right-text">
<div class="small-frame">
<div class="up-arrow">▲</div>
<div class="down-arrow">▼</div>
</div>
</div>
</div>
<div class="Col-header">First</div>
</div>
</th>
<th>
<div class="table-head-container">
<div class="table-head-background">
<div class="right-text">
<div class="small-frame">
<div class="up-arrow">▲</div>
<div class="down-arrow">▼</div>
</div>
</div>
</div>
<div class="Col-header">Last</div>
</div>
</th>
<th>
<div class="table-head-container">
<div class="table-head-background">
<div class="right-text">
<div class="small-frame">
<div class="up-arrow">▲</div>
<div class="down-arrow">▼</div>
</div>
</div>
</div>
<div class="Col-header">Phone</div>
</div>
</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>555-5555</td>
</tr>
<tr class="evenRow">
<td>Jane</td>
<td>Smith</td>
<td>555-5555</td>
</tr>
<tr>
<td>Homer</td>
<td>Simpson</td>
<td>555-5555</td>
</tr>
</table>
CSS
.table-head-container {
position: relative;
color: white;
max-width: 100px;
}
.test-table {
border: solid black 1px;
}
.headRow {
background-color: green;
color: white;
}
.headRow > th {
border: solid black 2px;
padding: 10px 20px 10px 5px;
min-width:100px;
font-size: 1.6em
}
.evenRow {
background-color: #E8E8E8;
}
table {
border-collapse: collapse;
}
tr > td {
border: solid black 1px;
padding: 5px;
}
.Col-header {
text-align: left;
}
.table-head-background {
position: absolute;
top: -10;
left: 15;
bottom: 0;
right: 0;
z-index: 1;
width: 0;
color: white;
background-color:green;
}
.table-head-background > .right-text {
text-align: right;
}
.table-head-background > .right-text > .small-frame {
position: absolute;
left: 80px;
width: 5px !important;
word-wrap: break-word;
}
.table-head-background > .right-text > .small-frame > .up-arrow, .table-head-background > .right-text > .small-frame > .down-arrow {
font-size: .8em;
}
.table-head-background > .right-text > .small-frame > .up-arrow:hover, .table-head-background > .right-text > .small-frame > .down-arrow:hover {
color: blue !important;
}