css,图片和文字在父元素垂直居中

14 篇文章 0 订阅
4 篇文章 0 订阅

css,图片和文字在父元素垂直居中,且图片和文字在中线对齐排列的几种方式

一,用flex的副轴来垂直居中对齐

1.副轴(由上到下)设置居中对齐(align-items: center;)即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style>

    .a{
        width: 200px;
        height: 200px;
        background-color: #bfa;
        /*行高,使文字在父元素中垂直居中*/
        /*line-height: 200px;*/

        display: flex;
        /*justify-content: center;*/
        /*副轴对齐方式*/
        align-items: center;
    }

    img{
        /*margin-bottom: -16px;*/
        /*和文字中线对齐*/
        /*vertical-align: middle;*/
        width: 20%;
        height: 20%;

    }

    </style>
</head>
<body>
    <div class="a">

        <img src="img/11.jpg" alt="">
    <span>nioifhiughi</span>

    </div>
</body>
</html>

效果

 

二,利用vertical-align: middle ;

1.父元素设置行高,使文字垂直居中对齐,然后对图片设置vertical-align: middle ;使图片和文字的中线对齐

2.图片没设置vertical-align: middle ,图片和文字的中线不齐。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style>

    .a{
        width: 200px;
        height: 200px;
        background-color: #bfa;
        /*行高,使文字在父元素中垂直居中*/
        line-height: 200px;

        /*display: flex;*/
        /*justify-content: center;*/
        /*副轴对齐方式*/
        /*align-items: center;*/
    }

    img{
        /*margin-bottom: -16px;*/
        /*和文字中线对齐*/
        vertical-align: middle;
        width: 20%;
        height: 20%;

    }

    </style>
</head>
<body>
    <div class="a">

        <img src="img/11.jpg" alt="">
    <span>nioifhiughi</span>

    </div>
</body>
</html>

 

三,对图片设置margin-bottom,注意值时要负数。

1.对图片未设置margin-bottom,时,图片和文字的中线不齐的,此时设置margin-bottom为 负数,图片为慢慢往下移动,当图片和文字的中线对齐时就OK了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <style>

    .a{
        width: 200px;
        height: 200px;
        background-color: #bfa;
        /*行高,使文字在父元素中垂直居中*/
        line-height: 200px;

        /*display: flex;*/
        /*justify-content: center;*/
        /*副轴对齐方式*/
        /*align-items: center;*/
    }

    img{
        margin-bottom: -16px;
        /*和文字中线对齐*/
        /*vertical-align: middle;*/
        width: 20%;
        height: 20%;

    }

    </style>
</head>
<body>
    <div class="a">

        <img src="img/11.jpg" alt="">
    <span>nioifhiughi</span>

    </div>
</body>
</html>

不齐效果

 

 一起齐的效果

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 想要将图片文字垂直居中,需要使用一些 CSS 技巧。 对于图片,可以在其元素上设置 display: flex 和 align-items: center,即可实现图片垂直居中。对于文字,则需要将其包裹在一个 div 元素内,设置这个 div 元素的 line-height 等于其元素的高度,即可让文字垂直居中。 具体步骤如下: 1. 设置图片元素属性 ``` .img-container { display: flex; align-items: center; } ``` 2. 设置文字元素属性 ``` .text-container { height: 100px; line-height: 100px; } ``` 其中,text-container 的高度需要与其元素相同,即实现文字垂直居中。 最后,将图片文字分别放进各自的容器内,然后将两个容器整合在一起,即可实现图片文字垂直居中效果。 以上就是使用 CSS 实现图片文字垂直居中的方法。 ### 回答2: 在网站开发过程中,经常需要将图片文字在某一个容器中进行垂直居中,本文将介绍两种常用的方法。 方法一:使用 flex 布局 Flexbox 布局是现代网页设计中常用的布局之一,主要用于对容器中的子元素进行定位和排序。要使用 flex 布局进行图片文字垂直居中,需要将容器的 display 属性设置为 flex,在子元素上使用 align-items 和 justify-content 来实现垂直和水平方向的居中。 例如,下面的代码段将一个容器 div 内的图片文字进行垂直居中: ```html <div class="container"> <img src="image.png" alt="图片"> <p>Lorem ipsum dolor sit amet</p> </div> ``` ```css .container { display: flex; align-items: center; /* 控制垂直居中 */ justify-content: center; /* 控制水平居中 */ } ``` 方法二:使用绝对定位 另一种实现图片文字垂直居中的方法是使用绝对定位。此方法适用于元素有固定高度和宽度,且元素的高度和宽度也已确定的情况下。 下面的代码段将一个容器 div 中的图片文字进行垂直居中: ```html <div class="container"> <img src="image.png" alt="图片"> <p>Lorem ipsum dolor sit amet</p> </div> ``` ```css .container { position: relative; /* 定位元素 */ height: 300px; /* 设定元素高度 */ width: 300px; /* 设定元素宽度 */ } .container img, .container p { position: absolute; /* 针对子元素设置绝对定位 */ top: 50%; /* 设定向上偏移50% */ left: 50%; /* 设定向左偏移50% */ transform: translate(-50%,-50%); /* 根据子元素自身的高度宽度进行微调 */ } ``` 总结 以上两种方法均可实现图片文字容器中的垂直居中,具体使用哪种方法取决于实际情况。通过灵活运用这些方法,可以在网站开发过程中更好地实现页面布局效果。 ### 回答3: 在前端开发中,我们经常会遇到将文本和图片垂直居中的需求。这种需求看似简单,但却不容易实现。下面我将介绍几种实现的方法。 1. 使用 Flexbox Flexbox 是 CSS3 中一个非常强大的布局方式。我们可以使用 align-items 和 justify-content 属性将内容垂直居中。 ```CSS .parent { display: flex; align-items: center; /* 垂直居中 */ justify-content: center; /* 水平居中 */ } ``` 在上面的代码中,我们将元素设置为 flexbox 布局,并使用 align-items 和 justify-content 属性将内容(图片和文本)垂直和水平居中。 2. 使用 table-cell table-cell 布局方式可以实现垂直居中文本和图片。 ```CSS .parent { display: table-cell; width: 300px; /* 确定元素宽度 */ height: 300px; /* 确定元素高度 */ vertical-align: middle; /* 垂直居中 */ text-align: center; /* 水平居中 */ } .child { display: inline-block; /* 防止默认的块级元素 */ vertical-align: middle; /* 垂直居中 */ } ``` 在上面的代码中,我们将元素设置为 table-cell 布局方式,并设置宽度和高度来确定元素的大小。我们还使用 vertical-align 和 text-align 属性将内容垂直和水平居中。 3. 使用绝对定位 我们可以使用绝对定位来实现垂直居中。 ```CSS .parent { position: relative; /* 确定元素为相对定位 */ width: 300px; /* 确定元素宽度 */ height: 300px; /* 确定元素高度 */ } .child { position: absolute; /* 使子元素脱离文档流 */ top: 50%; /* 设置子元素顶部位置为元素高度的一半 */ left: 50%; /* 设置子元素左侧位置为元素宽度的一半 */ transform: translate(-50%, -50%); /* 将子元素向左上方移动子元素宽度的一半和高度的一半 */ } ``` 在上面的代码中,我们将元素设为相对定位,并设置宽度和高度来确定元素的大小。我们还将子元素设为绝对定位,并使用 top 和 left 属性将其放置到元素的正中央位置。最后,我们使用 transform 属性来移动子元素半个宽度和半个高度的位置,将其完美垂直居中。 通过以上的方法,我们可以很方便地将文本和图片垂直居中。根据需要选择合适的方式来达到想要的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值