温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

CSS中如何实现底部对齐

发布时间:2022-02-25 14:01:41 来源:亿速云 阅读:230 作者:小新 栏目:web开发

这篇文章主要介绍了CSS中如何实现底部对齐,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    效果说明:

    1、红色区域数据需要倒排(即从底部开始数,数字为1、2、3、4、5),并且显示在最底部

    2、当数据过多时需要显示滚动条,**并且滚动条需要拉到最底部**

    3、数据从websocket中推送过来,推送间隔为几十毫秒

    4、需要兼容ie10及以上浏览器

    使用flex布局实现

    <style>

    *{

    margin:0;

    padding:0;

    box-sizing:border-box;

    }

    .container{

    position:relative;

    width:300px;

    height:500px;

    margin:10pxauto;

    border:1pxsolid#f60;

    color:#fff;

    }

    .top,

    .bottom{

    height:50%;

    padding:20px;

    }

    .top{

    background-color:#da2e22;

    }

    .top>ul{

    width:100%;

    height:100%;

    overflow:auto;

    }

    .bottom{

    overflow:auto;

    background-color:#1e1e1e;

    }

    </style>

    <divclass="container">

    <divclass="top">

    <ulstyle="padding-top:104px;">

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    <divclass="bottom">

    <ul>

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    </div>

    使用flex布局是目前最好的解决办法,子元素布局还是按照1、2、3、4、5这样的顺序进行布局,浏览器器在渲染时会自动反转过来,并且滚动条也会反转过来,即自动定位到最底部。但是IE10目前为止还不支持~,所以在我做的这个项目中是用不了了,只能另辟蹊径。

    使用padding-top实现

    <style>

    *{

    margin:0;

    padding:0;

    box-sizing:border-box;

    }

    .container{

    position:relative;

    width:300px;

    height:500px;

    margin:10pxauto;

    border:1pxsolid#f60;

    color:#fff;

    }

    .top,

    .bottom{

    height:50%;

    padding:20px;

    }

    .top{

    background-color:#da2e22;

    }

    .top>ul{

    width:100%;

    height:100%;

    overflow:auto;

    }

    .bottom{

    overflow:auto;

    background-color:#1e1e1e;

    }

    </style>

    <divclass="container">

    <divclass="top">

    <ulstyle="padding-top:104px;">

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    <divclass="bottom">

    <ul>

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    </div>

    使用padding-top是最容易想到的一种实现方式,但它无法用纯css实现,它还必须使用js进行计算才可以。我在项目中刚开始就是padding-top+js计算来实现的,这种方式实现起来就是感觉不爽,websocket每推送一条数据过来就要进行计算。那么还有没有更好的办法呢?答案是肯定有的,在css世界中总有意想不到的惊喜,关键是内功要强。

    使用table-cell来实现

    <style>

    *{

    margin:0;

    padding:0;

    box-sizing:border-box;

    }

    .container{

    position:relative;

    width:300px;

    height:500px;

    margin:10pxauto;

    border:1pxsolid#f60;

    color:#fff;

    }

    .top,

    .bottom{

    height:50%;

    padding:20px;

    overflow:auto;

    }

    .top{

    background-color:#da2e22;

    }

    .top-container{

    display:table;

    width:100%;

    height:100%;

    }

    .top-container>ul{

    display:table-cell;

    vertical-align:bottom;

    width:100%;

    height:100%;

    }

    .bottom{

    background-color:#1e1e1e;

    }

    </style>

    <divclass="container">

    <divclass="top">

    <divclass="top-container">

    <ul>

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    </div>

    <divclass="bottom">

    <ul>

    <li>我是第1个li元素</li>

    <li>我是第2个li元素</li>

    <li>我是第3个li元素</li>

    <li>我是第4个li元素</li>

    <li>我是第5个li元素</li>

    </ul>

    </div>

    </div>

    使用table-cell来实现底部对齐目前是最后的解决方案了,并且它还兼容ie8。底部对齐问题解决了,"滚动条需要拉到最底部"这个问题使用table-cell是无法实现的,没办法最后只有使用js去控制了,不知道有哪位大神有其他办法没~

CSS中如何实现底部对齐


感谢你能够认真阅读完这篇文章,希望小编分享的“CSS中如何实现底部对齐”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

css
AI