<script>
    if (window.internals)
        window.internals.settings.setAppleMailLinesClampEnabled(true)
    
</script>
<style>
    html { writing-mode:vertical-rl; }
    div.clamp { border:5px solid black; -webkit-lines-clamp: 4 7 foo; -webkit-column-gap:50px; -webkit-column-rule:5px solid blue; }
    #foo { width: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 Five<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>

