css html 如何让div里边的图片和文字同时上下居中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css html 如何让div里边的图片和文字同时上下居中?相关的知识,希望对你有一定的参考价值。

1、首先先进行文本框的插入,在word文档编辑界面上,单击上方工具栏中的“插入”按钮,包括文本框,所有的插入选项都在这里。

2、在“插入”选项的下拉工具栏中,选择如图所示“文本框”图标单击。

3、接下来会弹出文本框样式的选择框,在里面可以根据需要选择文本框样式。这里以简单文本框为例,单击选择框中的”简单文本框“。

4、在文档编辑区出现的如图所示文本框中,将原有的选择文字删去就可以编辑文字了。

5、编辑好文字后,选中刚才编辑的文字。接下来进行的是对于文字居中了。

6、单击上方工具栏中的“开始”选项,会出现下拉工具栏。关于文本的设置就在这里。

7、在“开始”选项的下拉工具栏中,“段落”设置中的“居中”设置。

8、至此设置完毕,可看到文本框中选中的文字已经在文本框中央,单击任意空白处取消选中即可。

9、完成效果如下。

参考技术A

方法步骤如下:

1、首先打开计算机,使用浏览器打开a.html,可以看到默认情况,是图片置顶对齐,文字置底对齐,所以通常图片高,文字低,不能水平居中对齐。

2、再次编辑a.html,加入以下css代码:.hlong *display:inline-block;vertical-align:middle。

3、再次使用浏览器访问a.html页面即可成功让div里边的图片和文字同时上下居中。

参考技术B

img标签是行内元素,所以设置文本和图片垂直居中只需要把div的line-height设置成和div的height值相同即可。

代码:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
           divwidth: 400px; height: 400px; margin: 20px;line-height: 400px;font-size: 26px; border: 1px solid red;background-color: #ccc;
           div>img vertical-align: middle;
        </style>
        
    </head>
    <body>
        <div >
            第一项
            <img src="1.png" width="120" height="120" />
        </div>
    </body>
</html>

追问

手机和平板上的兼容性能保证吗?我在平板上调试时,如下

 

再在手机上就不行了

追答

没听过说也没遇到line-height属性存在兼容问题,可以把手机端的效果截图看看么?

追问

.bottomBtn > ul > li > imgdisplay: inline-block; width:3.125rem;height:2.375rem;vertical-align: middle;

图像部分的css,在平板上我调节inlineheight 可以居中,但是再用手机调试时就不行了

追答

你这个说的是哪一块呢?那段文字不显示了应该是line-height>height了。

追问

bottomBtn > ul > li > imgdisplay: inline-block; width:3.125rem;height:2.375rem;vertical-align: middle; 说的是

追答

line-height>height了

追问

.footTitlecolor: #333;font-size: 1rem;line-height: 10rem

 

我想让手机上边如下显示

 

追答

不知道你包裹img的li标签的属性是怎么设置的?

追问

.bottomBtn > ul > liheight: 32.5%;margin:5% 0%;
.bottomBtn > ul height: 90%;
.bottomBtnwidth:25%;height:85%;float: left;margin-top: 65px;

追答

你li标签的高度是设置的百分比,到手机端32.5%要小于line-height: 10rem。肯定就是这个效果呀。要么把li标签的高度也定位rem。或者不要是指line-height。通过margin实现垂直居中。

追问

高手就是高手!

本回答被提问者和网友采纳
参考技术C height:500px;
line-height:500px;
width:600px;
text-align:center;追问

文字上下居中呢

如何让DIV里面的DIV水平垂直居中

让DIV里面的DIV水平垂直居中有2种方法:
方法一:
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,然后使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中。
.mydiv
margin:0 auto;
width:300px;
height:200px;

方法二:
要让DIV水平和垂直居中,必需知道该DIV得宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。
.mydiv
width:300px;
height:200px;
position:absolute;
left:50%;
top:50%;
margin:-100px 0 0 -150px


该方法使用普遍,但是前提是必需设置DIV的宽度和高度。如果当页面DIV宽度和高度是动态的,比方说需要弹出一个DIV层并且要居中显示,DIV的内容是动态的,所以宽度和高度也是动态的,这时需要用jQuery可以解决居中。
参考技术A div实现水平居中只需要设置固定宽度和margin:0 auto即可,
给你2个解决方案:
1、条件是div的高度和宽度是固定的
<style type="text/css">
<!--
div1
position:relative;
width:600px;
height:500px;
border:1px solid #008800;

div2
position:absolute;
top:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border:1px solid #008800;
-->
</style>
<div class="div1">
<div class="div2">让层垂直居中</div>
</div>
其实解决的思路是这样的:首们需要position:absolute;绝对定位。而层的定位点,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以二。

如:一个层宽度是400,高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-top的值为-150。margin-left的值为-200。这样我们就实现了层垂直居中于父级层的样式编写。

2、条件是div的高度和宽度是不固定的

如果div宽度不固定,那用div就有点困难了,虽然用js获取当前高宽再附加css可以解决,但是要用到js来解决问题就有点逊了;
我给你一个思路,你不妨试试table布局,table不设置宽度的情况下默认是宽度和高度都是最小化的,这样给table设置margin:0 auto就可以让这个table水平方向居中;

解决了水平居中,那就来解决垂直居中,td中的内容默认是垂直居中的,那么只要两者互相嵌套一下不就解决水平垂直居中了!
但是有一个问题,你所需要垂直居中的父级table的高度是否固定,如果父级高度固定,那么子级高度不固定也一样可以垂直居中本回答被提问者和网友采纳

以上是关于css html 如何让div里边的图片和文字同时上下居中?的主要内容,如果未能解决你的问题,请参考以下文章

如何用CSS让文字居于div的底部

如何用CSS让文字居于div的底部

CSS 代码如何在一个div内让文字垂直居中

css怎么让文字显示在图片的上面

怎么使用CSS让图片水平垂直都居中?

css 左右居中问题