【CSS】同一行文字,字体大小不同,实现垂直居中

话不多说,先来看一下默认情况下,字体大小不同的同一行文字是如何展示的,以下实例中添加了背景颜色,用于分辨:

<body>
<div class="row">
    <span class="zongjia">总价</span><span class="price">200万</span><span class="sheng">最多省20万</span>
</div>
</body>

样式如下:

<style>
        * {
            padding: 0;
            margin: 0;
        }

        .row {
            background-color: #cccccc;
            margin-top: 20px;
        }

        .zongjia {
            font-size: 26px;
            background-color: #c9e2b3;
        }

        .price {
            font-size: 36px;
            background-color: #a6e1ec;
        }

        .sheng {
            font-size: 22px;
            background-color: #ff7800;
        }

</style>

此时看到页面如下:

放大来看看:

放大可以看到:最外层class为row的元素的高度=里面最大字体元素的高度;但是两边的小的为啥下面还留点儿空隙?为啥不居上或者居底显示呢?这里不是很明白,希望明白人来教教我。。。。。。

 

现在呢,我们想把它们垂直居中对齐,方法也很简单:(给每个子元素添加"vertical-align: middle;")

样式如下:

 <style>
        * {
            padding: 0;
            margin: 0;
        }

        .row {
            background-color: #cccccc;
            margin-top: 20px;
            margin-left: 20px;
        }

        .zongjia {
            font-size: 26px;
            background-color: #c9e2b3;
            vertical-align: middle;
        }

        .price {
            font-size: 36px;
            background-color: #a6e1ec;
            vertical-align: middle;
        }

        .sheng {
            font-size: 22px;
            background-color: #ff7800;
            vertical-align: middle;
        }
</style>

此时看到页面如下:(此时垂直居中了)

  • 14
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 可以使用 flex 布局来实现。将 iconfont 和文字放在同一个容器中,设置该容器为 flex 容器,然后使用 align-items: center; 属性来实现文字垂直居中。 HTML代码示例: ```html <div class="container"> <span class="iconfont"></span> <span class="text">文字</span> </div> ``` CSS代码示例: ```css .container { display: flex; align-items: center; } .iconfont { font-size: 16px; /* 其他样式属性 */ } .text { font-size: 14px; /* 其他样式属性 */ } ``` 其中,`.container` 为包含 iconfont 和文字的容器,`.iconfont` 为 iconfont 的样式,`.text` 为文字的样式。你需要将 `` 替换为你使用的 iconfont 的 Unicode 编码。 ### 回答2: 要实现iconfont和文字文字垂直居中的效果,可以借助CSS的flex布局来实现。 首先,将iconfont和文字放置在同一个容器内,可以使用一个div元素包裹它们。 然后,设置该容器的CSS样式,使用flex布局,并将其子元素(iconfont和文字)都设置为flex项目。 在容器上设置display为flex,使得其子元素按照一排列。 为了实现文字垂直居中,可以设置align-items属性为center,使得子元素在交叉轴上居中对齐。 最后,根据具体的样式需求,可以为iconfont和文字设置适当的间距、字体大小等样式。 综上,可以通过以下CSS样式来实现iconfont和文字,并且文字垂直居中: ```css .container { display: flex; align-items: center; } .iconfont { font-size: 20px; margin-right: 5px; } .text { font-size: 16px; } ``` 在HTML中使用如下代码结构: ```html <div class="container"> <span class="iconfont">iconfont图标</span> <span class="text">文字内容</span> </div> ``` 以上代码将实现iconfont和文字的效果,并使文字垂直居中。根据具体需求,可以进进一步的样式调整。 ### 回答3: 要实现iconfont和文字文字垂直居中的效果,可以使用CSS的flexbox布局来解决。 首先,需要将iconfont和文字放在同一个父容器中。设置父容器的display属性为flex,这会将它的子元素放置在同一,并且平均分布。 接下来,为父容器设置align-items属性为center,这样会使子元素在垂直方向上居中对齐。 最后,设置子元素的line-height属性为父容器的高度,且将其display属性设为inline-block,这样可以使文字垂直居中显示。 以下是具体的代码实现示例: HTML代码: ```html <div class="container"> <span class="iconfont"></span> <span class="text">文字</span> </div> ``` CSS代码: ```css .container { display: flex; align-items: center; height: 30px; /*根据需要设置父容器的高度*/ } .iconfont { font-family: "iconfont"; /*设置iconfont对应的字体*/ display: inline-block; line-height: 30px; /*与父容器高度相同*/ font-size: 20px; /*根据需要设置字体大小*/ } .text { display: inline-block; line-height: 30px; /*与父容器高度相同*/ font-size: 14px; /*根据需要设置字体大小*/ } ``` 这样设置之后,iconfont和文字就会在同一显示,并且文字也会垂直居中。如需改变样式,可以适当调整父容器的高度、子元素的字体大小等属性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值