<script>
    if (window.internals)
        window.internals.settings.setAppleMailLinesClampEnabled(true)
    
</script>
<style>
    div.clamp { border:5px solid black; -webkit-lines-clamp: 4 7 foo; -webkit-column-gap:50px; -webkit-column-rule:5px solid blue; }
    #foo { height:50px; border:2px solid blue; -webkit-user-select:none; }
</style>
<body>
<div class=clamp>
<div>
    <div style="float:right;border:2px solid green;font-size:24px">Float Line 1<br>Float Line 2<br>Float Line 3<br>Float Line 4</div>
    Line One<br>
    Line Two<br>
    Line Three<br>
    Line Four<br>
    Line Six<br>
    
    
</div>

<div id="foo">The middle piece.</div>

<div>
    Line Seven<br>
    Line Eight<br>
    Line Nine<br>
    Line Ten<br>
    Line Eleven<br>
    Line Twelve<br>
 
</div>
</div>

