<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: 3 3 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>
    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>

