设置子盒子display:inline-block为什么会脱离父盒子

设置子盒子display:inline-block为什么会脱离父盒子?
Header组件
import React from 'react';

class Header extends React.Component {

// constructor(props) {
//     super(props);
// }
render() {
    return (
    <div className='header'>
         <div className='HCenter'></div>
         <div className='HCenter0'></div>
    </div>
    );
}

}
export default Header;

css代码:
.KContain{

width:100%;
height: 100%;

}
.KContain .header{

width:100%;
height: 0.65rem;
background: pink;

}
.header .HCenter{

width:3rem;
height:0.3rem;
background: red;
display: inline-block;

}
.header .HCenter0{

width:6rem;
height:0.3rem;
background: orange;
display: inline-block;

}

见下图所示:
图片描述

图片描述

图片描述

阅读 3.7k
3 个回答

试下

.header{
    font-size: 0;
}

注意到rem的基准是130px,在外层盒header元素没有设置font-size的情况下,内部两个inline-block元素的line-height值就是初始值,chrome浏览器下是1.14em,而header的高度是0.6rem,这样内部的两个元素看起来就在盒外了。所以根本在于line-height行高的影响。这样解决方法就是:
1、header上设置line-height覆盖初始值, 再设置内部元素的vertical-align调整竖直方向的位置。
2、因为line-height值是基于元素自身的font-size大小设置的,所以可以改变header上的font-size,可以看看font-size从0开始不断变化的效果。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏