关于布局中垂直居中,踩过的坑(解决了,但是还是稀里糊涂的)

本文探讨了在使用CSS布局时遇到的垂直居中问题,通过调整font-size属性解决了inline-block元素的基线对齐问题,并附上了详细的代码示例。

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

昨天拿了一个页面练手,刚写了三行,碰见一垂直居中问题。没有问题的代码截图如下:

html:

css:

html,body,div,ul,li,span,img,input{
	padding: 0;
	margin: 0;
	font-size: 72px;
    box-sizing:border-box;
}
div{
	display: inline-block;
}
#wrapper{
    position: absolute;
    top: 0.455rem;
}
header{
    position: fixed;
    width: 100%;
    height: 1.222rem;
    line-height: 1.222rem;
    background-color: #F9F9F9;
    font-size: 0;
}


header input{
    margin-left: .416rem;
    height: 0.722rem;
    width: calc(100% - 1.722rem);
    /* margin-right: .2rem; */
    border-radius: .361rem;
    vertical-align: middle;
    font-size: 0.361rem;
    text-indent: 1rem;
    color: #333333;
    background-color: #ececec;
}


input::-webkit-input-placeholder{
    color:red;
}
input:-moz-placeholder{   /* Mozilla Firefox 19+ */
    color:red;
}
input::-moz-placeholder{    /* Mozilla Firefox 4 to 18 */
    color:red;
}
input:-ms-input-placeholder{  /* Internet Explorer 10-11 */ 
    color:red;
}


#search{
    position: absolute;
    /* float: left; */
    left: .5rem;
    z-index: 99;
}
#search img{
    width: 0.611rem;
    height: 0.611rem;
    border-radius: .361rem;
    z-index: 99;
    vertical-align: middle;
}
#clock{
    width: .611rem;
    position: relative;
    left: .278rem;
    font-size: 0;
}
#clock img{
    vertical-align: middle;
    width: 100%;
    height: 100%;
    
}
1.我在页面之初,为了布局方便,打算采用rem的形式,所以预先设置了
html,body,div,ul,li,span,img,input等元素的font-size:72px

2.在进行布局时,我没有给header设置任何的font-size ,也没有给直接给包裹着imgde DIV(id为clock)置任何的font-size,input 设置垂直居中,时钟的IMG设置垂直居中,就出现了下面的现象(为了更好说明问题,我将header背景做一下重新设置);


3.在给header 添加完font-size:0 ,情况貌似更糟糕了


4.但是当我给div(id为clock)添加上font-size之后,神奇般的正常了


查了资料,

说是垂直居中的基线问题,原本元素对齐的基线是baseline 。设置完font-size 后,会将inline-block元素的默认基线设置为文字的base-line。

资料来源:https://www.cnblogs.com/charling/archive/2013/10/15/3371060.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值