多列等高及自适应布局

编程入门 行业动态 更新时间:2024-10-20 20:58:17

多列等高及<a href=https://www.elefans.com/category/jswz/34/1769425.html style=自适应布局"/>

多列等高及自适应布局

多列等高是常见的布局之一。

即让内容高度不一样的每一列保持高度一致。

解决方案:

利用table的自适应,将每个div变成td,td自然都是等高的。

html:

<div class="wrapper"><div>生活如酒,或芳香,或浓烈,因为诚实,它变得醇厚;生活如歌,或高昂,或低沉,因为守信,它变得悦耳; 生活如画,或明丽,或素雅,因为诚信,它变得美丽。</div><div>若能掬起一捧月光,我选择最柔和的;若能采来香山红叶,我选择最艳丽的;若能摘下满天星辰,我选择最明亮的。也许你会说,我的选择不是最好,但我的选择,我相信。</div><div>当三闾大夫抱着石头与江水相拥,当西楚霸王自刎时的鲜血染红了整片夕阳,当普罗米修斯裸着身体被巨鹰啄食,当拉奥孔扭曲着身体仍想保卫自己的儿子,历史的悲风中发出阵阵悲鸣,但他们生命的结尾却那么响亮有力,数千年来仍叩击着人们的心灵,播放出永不低沉的生命绝唱!</div><div>人生弯弯曲曲水,世事重重叠叠山。</div>
</div>

css:

.wrapper{display: table;border-spacing: 20px; /* td的间距 */padding: 0;margin: 0;box-sizing: border-box;}
.wrapper > div {display: table-cell;width: 1000px;  /* 设置宽度,table自动平分 */border-radius: 5px;background: #eeedf2;padding: 10px;border: 1px solid #ccc;box-sizing: border-box;}

展示效果:

 

这样一个多列等高已经实现了。

但是一个好的页面要有好的自适应响应式布局。

当在移动端的时候,我们希望变成单列布局。利用媒体查询改一下样式覆盖表格属性即可。

/*宽度小于500时单列显示 适用于移动端*/@media (max-width: 500px) {.wrapper{display: block;}.wrapper > div{display: block;width: 100%;margin-bottom: 20px;}}

展示效果:

而当在中屏幕1024px设备上希望两行布局呢?

加一个tr就行。

<div class="wrapper"><div>生活如酒,或芳香,或浓烈,因为诚实,它变得醇厚;生活如歌,或高昂,或低沉,因为守信,它变得悦耳; 生活如画,或明丽,或素雅,因为诚信,它变得美丽。</div><div>若能掬起一捧月光,我选择最柔和的;若能采来香山红叶,我选择最艳丽的;若能摘下满天星辰,我选择最明亮的。也许你会说,我的选择不是最好,但我的选择,我相信。</div><span class="tr"></span><div>当三闾大夫抱着石头与江水相拥,当西楚霸王自刎时的鲜血染红了整片夕阳,当普罗米修斯裸着身体被巨鹰啄食,当拉奥孔扭曲着身体仍想保卫自己的儿子,历史的悲风中发出阵阵悲鸣,但他们生命的结尾却那么响亮有力,数千年来仍叩击着人们的心灵,播放出永不低沉的生命绝唱!</div><div>人生弯弯曲曲水,世事重重叠叠山。</div>
</div>
.tr{display: none;}
@media (max-width: 1024px) and (min-width: 501px) {.tr{display: table-row;}}

展示效果:

但是这个时候会有一个问题,就是中屏幕拉大大屏幕时tr的display:none已经没用了,因为table的布局已经计算好了。但是这个也不用考虑,刷新页面即可,如果真要解决,那就需要用到js了。

这样一个多列等高并且自适应的布局就做好了。

下面是完整代码demo。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>多列等高</title><style>.wrapper{display: table;border-spacing: 20px; /* td的间距 */padding: 0;margin: 0;box-sizing: border-box;}.wrapper > div {display: table-cell;width: 1000px;  /* 设置宽度,table自动平分 */border-radius: 5px;background: #eeedf2;padding: 10px;border: 1px solid #ccc;box-sizing: border-box;}/*宽度小于500时单列显示 适用于移动端*/@media (max-width: 500px) {.wrapper{display: block;}.wrapper > div{display: block;width: 100%;margin-bottom: 20px;}}.tr{display: none;}@media (max-width: 1024px) and (min-width: 501px) {.tr{display: table-row;}}</style>
</head>
<body>
<div class="wrapper"><div>生活如酒,或芳香,或浓烈,因为诚实,它变得醇厚;生活如歌,或高昂,或低沉,因为守信,它变得悦耳; 生活如画,或明丽,或素雅,因为诚信,它变得美丽。</div><div>若能掬起一捧月光,我选择最柔和的;若能采来香山红叶,我选择最艳丽的;若能摘下满天星辰,我选择最明亮的。也许你会说,我的选择不是最好,但我的选择,我相信。</div><span class="tr"></span><div>当三闾大夫抱着石头与江水相拥,当西楚霸王自刎时的鲜血染红了整片夕阳,当普罗米修斯裸着身体被巨鹰啄食,当拉奥孔扭曲着身体仍想保卫自己的儿子,历史的悲风中发出阵阵悲鸣,但他们生命的结尾却那么响亮有力,数千年来仍叩击着人们的心灵,播放出永不低沉的生命绝唱!</div><div>人生弯弯曲曲水,世事重重叠叠山。</div>
</div></body>
</html>

 

更多推荐

多列等高及自适应布局

本文发布于:2024-02-17 03:52:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1692540.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自适应   布局   等高

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!