等高的行级div却不在同一条水平线上

本文详细介绍了使用CSS实现元素垂直对齐的两种有效方法:一是利用inline-block结合vertical-align属性,二是采用flex布局并设置align-items属性。文章通过具体代码示例展示了如何应用这两种方法,并讨论了它们相对于传统定位和浮动的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因
  1. 基线没有对齐
  2. 其中有的div单独设置了对准方式
  3. 其中有的div设置定位方式(fixed|absolute)
  4. 其中有的div设置浮动
思路
  1. div通过inline-block转换行级后,添加vertical-align属性指定对准方式
  2. div通过弹性盒子flex转换子节点行级后,父添加align-items属性指定对齐方式
方案1

CSS: 

.bank-box .bank-change .bank-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../images/change.png);
    background-size: cover;
    display: inline-block;
}

页面:

.bank-box .bank-change .bank-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../images/change.png);
    background-size: cover;
    display: inline-block;
    vertical-align: top;
}

前后效果可自行对比

方案2
// 父级
.bank-box .bank-change {
    display: flex;
    align-items: center; // 垂直对齐方式
    // justify-content: center // 水平对齐方式
}

// 子级
.bank-box .bank-change .bank-icon {
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../images/change.png);
    background-size: cover;
    // align-self: center; // 你也可以单独指定某个子级的垂直对齐方式
    // justify-self: center; // 你也可以单独指定某个子级的水平对齐方式
}

效果如下

总结

除了上诉两种方法外,你还可以通过浮动、定位、设置行高等方式来实现垂直对齐。

但这样做可能会影响你的布局:浮动记得要在合适的节点及时清除clear:float,不然会出现很多奇奇怪怪的布局问题。

定位要记得控制层级,还要尽量控制在父节点内position: relative,还要注意显示权重z-index。

所以我更推荐上述两种方式,其中以弹性盒子的方式最为推荐。

相较于inline-block,弹性盒子只需在父节点设置即可,而且有更多、更灵活的子节点控制,这里不做赘述。

在InnoDB中,锁最终是加在索引记录上而不是加在数据页上。这是因为InnoDB使用了索引来实现锁的机制。 在InnoDB中,每个索引记录都有一个唯一的ID,称为“lock index”,可以用于标识该记录所属的。当事务需要对某一加锁时,它会先在索引中查找该的锁定标识符,然后对该锁定标识符进加锁或解锁操作。 具体来说,InnoDB采用了两种类型的索引来实现锁的机制:聚簇索引和辅助索引。聚簇索引是指将数据存储在同一个树中的索引,它的叶子节点保存的是数据本身,因此,通过聚簇索引可以直接访问数据。辅助索引是指不将数据存储在同一个树中的索引,它的叶子节点保存的是数据的引用,因此,通过辅助索引需要先获取到数据的引用,然后再访问数据。 当事务需要对某一加锁时,它会先在对应的索引中查找该的锁定标识符,然后对该锁定标识符进加锁或解锁操作。如果该使用的是聚簇索引,那么事务会直接在聚簇索引中查找该的锁定标识符,然后进加锁或解锁操作。如果该使用的是辅助索引,那么事务需要先在辅助索引中查找该的引用,然后再到聚簇索引中查找该的锁定标识符,最后进加锁或解锁操作。 需要注意的是,在使用锁时,需要避免死锁和锁争用等问题,以充分发挥InnoDB的性能优势。同时,也需要注意锁粒度的问题,如果锁粒度过大,可能会导致锁争用和性能问题。因此,在设计数据表结构和应用程序逻辑时,需要合理地选择锁粒度和锁的类型,以达到最优的性能表现。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值