栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何实现多行文字梯形排版?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何实现多行文字梯形排版?

可以利用文字会环绕浮动元素的特性来做:

HTML:

#box {    width: 400px;    height: 600px;    background-color: red;}#box .float-div{    float: left; // 浮动起来    clear: both; // 这个很重要,不然会排版出错    background: rgba(0,0,0,0.2); // 这里只是为了看看而已}<div id="box">        <span id="text">我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,我是一段文本而已,</span></div>

JS

// JS 部分仅仅是为了生成 div, 就不多优化了var box = document.getElementById('box')var text = document.getElementById('text')var bH = box.offsetHeightvar bW = box.offsetWidthvar step = 10var dH = 10var dW = bW - step * 4var num = parseInt(bH / dH)var tem = document.createdocumentFragment()for(var i=0;i < num && dW > 0;i++){    var d = document.createElement('div')    d.style.height = dH + 'px'    d.style.width = dW + 'px'    d.classList.add('float-div')    tem.appendChild(d)    dW -= step}box.insertBefore(tem,text)

效果:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/366045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号