水平排列元素的底部对齐
来源:互联网 发布:网络角色扮演游戏排行 编辑:程序博客网 时间:2024/05/16 14:17
最终运行结果
HTML结构
<div class="parent"> <div class="child" style="height: 200px; width:50px; background-color: red;">red</div> <div class="child" style="height: 140px; width:50px; background-color: blue;">blue</div> <div class="child" style="height: 100px; width:50px; background-color: yellow;">yellow</div> <div class="child" style="height: 180px; width:50px; background-color: green;">green</div></div>
这里的parent和child高度未知
1. absolute + bottom
首先想到的是用absolute定位来做,但这不是一个好方法原因基于两点:
- 绝对定位之后子元素脱离文档流会相互覆盖,需要对每个子元素指定不同的left或者margin
- 由于子元素脱离文档流,父元素高度会收缩,导致看不到完整的子元素。解决方法是给父元素指定宽度或者对子元素指定一个负的bottom,而且这个高度或者bottom要至少等于最高子元素。但是子元素高度并不知道,所以这不是个好方法。
.parent { position: relative; /*height: 200px;*/ } .child { position: absolute; bottom: -200px; // 不指定此属性会导致子元素只有底部部分可见 width: 50px; }
2. vertical-align + inline-block
指定子元素为内联块元素,然后指定他们的垂直对齐方式
.child { display: inline-block; vertical-align: bottom;}
vertical-align不同于text-align,是指定自身相对于父元素的垂直对齐方式
这种方式简单而且只在子元素上设置样式即可,兼容性也非常好
3. flex + align-items
在父元素上设置
.parent { display: flex; align-items: flex-end;}
这种方式也非常简单,只需在父元素上设置样式,但是兼容性不好
完整代码示例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> /*第二种*/ .child { display: inline-block; vertical-align: bottom; } /*第三种*/ /*.parent { display: flex; align-items: flex-end; }*/ </style></head><body> <div class="parent"> <div class="child" style="height: 200px; width:50px; background-color: red;">red</div> <div class="child" style="height: 140px; width:50px; background-color: blue;">blue</div> <div class="child" style="height: 100px; width:50px; background-color: yellow;">yellow</div> <div class="child" style="height: 180px; width:50px; background-color: green;">green</div> </div></body></html>
0 0
- 水平排列元素的底部对齐
- 行内元素 水平对齐的简单方法
- 让绝对定位的元素水平居中对齐
- html中ul元素水平排列问题
- 【干货】:怎么让元素水平排列
- 利用vertical-align:middle实现行内元素的水平垂直居中对齐
- 已知/未知宽高的浮动元素水平垂直居中对齐
- li的水平排列问题
- 解决: 排列inline-block元素出现顶部不对齐的问题
- HTML中input和img标签元素同行水平对齐
- 图片在块级元素中的对齐问题(取消图片在垂直和水平方向上的空隙)
- 不同高度的图片 底部对齐方法
- 不同大小的字体底部对齐
- CSS设置段落的水平对齐
- html设置行的水平对齐
- float 元素的水平居中
- 元素水平居中的实现
- 元素的水平居中总结
- CodeForces 706B (二分)
- view_ _ Android应用坐标系统全面详解
- 网络请求框架(一):AsyncHttpClient
- 利用ScriptEngineManager执行js的RSA加密
- 元素脱离普通文档流后特点及问题总结
- 水平排列元素的底部对齐
- iOS数据库汇总-----更新不间断
- 不持有焦点的跑马灯效果TextView
- # android 系统修改/dev/bus/usb/*和串口的访问权限
- Metro
- leetcode_c++:图:Clone Graph(133)
- [leetcode]153. Find Minimum in Rotated Sorted Array
- 线程间通信-方法join的使用
- 图片传输(APP端将图片传至服务器端存储)