To achieve the desired result, you should change your markup. <caret>
div should before the text. Then you can give float right;
<b class="caret-right"></b>
News - a very long title
CSS
.caret-right {
float:right;
display: inline-block;
width: 0;
height: 0;
margin-left: 2px;
vertical-align: middle;
border-left: 5px solid;
border-left-color:#999999;
border-bottom: 5px solid transparent;
border-top: 5px solid transparent;
margin-top:5px;
margin-right:-8px;
}