使用display flex将图片居中的方法

display:flex 是一种布局方式。它即可以应用于容器中,也可以应用于行内元素。是W3C提出的一种新的方案,可以简便、完整、响应式地实现各种页面布局

注意:(Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。)

1.将图片水平方向居中:

justify-content:用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>图片居中</title>
    <style>
        *{
            margin: 0 ;
            padding: 0;
        }
        .test{
            width: 500px;
            height: 500px;
            margin: 0 auto;
            border: 2px solid red;
            display: flex;
            justify-content: center;
        }
       .test2{
           width: 50px;
           height: 50px;
       }
    </style>
</head>
<body>
    <div class="test">
        <img class="test2" src="./slide-3.jpg" >
    </div>
</body>
</html>

2.将图片垂直方向居中:

  align-items:属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>图片居中</title>
    <style>
        *{
            margin: 0 ;
            padding: 0;
        }
        .test{
            width: 500px;
            height: 500px;
            margin: 0 auto;
            border: 2px solid red;
            display: flex;
            align-items: center;
        }
       .test2{
           width: 50px;
           height: 50px;
       }
    </style>
</head>
<body>
    <div class="test">
        <img class="test2" src="./slide-3.jpg" >
    </div>
</body>
</html>

  

原文地址:https://www.cnblogs.com/youwei716/p/10993073.html

时间: 2024-10-04 03:59:47

使用display flex将图片居中的方法的相关文章

用CSS让网页背景图片居中的方法

网页背景居中的方法有很多种的.这里介绍一些用CSS让背景图片居中的方法. 让背景图片居中的第一个方法是用像素设定,很多都用这种,但是也是最麻烦的: <div style="width:800px;height:600px;background:url(../images/logo.jpg) no-repeat 250px 270px;border:1px solid #cccccc;"></div> 第二种居中方法:用50%设定,很方便: <div sty

设置图片居中的方法

1.设置图片居中(一图居中) HTML代码 <div class="box"> <img src="http://pics.taobao.com/bao/album/promotion/taoscars_180x95_071112_sr.jpg" /> </div> CSS代码 .box { /*非IE的主流浏览器识别的垂直居中的方法*/ display: table-cell; vertical-align:middle; /*

关于HTML+CSS设置图片居中的方法

有的时候我们会遇到这样一个问题,就是当我们按下F12进行使用firebug调试的时候,我们发现图像没有居中,页面底下有横向的滑动条出现,图片没能够居中,默认状态下只是紧靠在页面最左侧,而我们对图像缩小的时候,图像依然紧靠在页面最左侧,所有我们需要对图像设置居中,无论放大或者缩小页面,都使得图像至始至终都显示在页面的中间. 代码如下 HTML: <html> <head> </head> <body> <div class="backgroun

让banner图片居中的方法

有的时候,美工做一个图片,是做1920px宽的,但是我们的分辨率是1440px的,咋整呢?这个时候margin是解决不了问题的! 鸡汁如我,想到了这样一个被千千万万个人想到的好主意!那就是为banner加个class名字,然后里面加上img标签. 然后对于外面的banner div标签设置css:position:relative; left:50%; margin-left:-960px; width:1920px; 这第二种方式就是直接给banner的div标签一个背景图,然后让背景图mar

diplay:table-cell和伪元素:after方法让图片居中

让图片居中和文字居中是不一样的,文字居中可以通过line-height等调整,让图片居中方法,参考各种资料博文和测试  目前接触两种方法 display:table-cell和伪元素:after方法 一,display:table-cell 这个属性是让元素以表格单元格的形式呈现类似table标签中的td,其他现代浏览器和ie8+都是支持的 ie6/7是不支持的(当然下面也有解决方法). 如果只看table元素 就两个特点: 1,同行等高 2,宽度自动调整 那么table-cell是不是也具有这

css图片在div内上下居中的方法

参考代码:< div style=”width:300px;height:300px;text-align:center;vertical-align:middle;line-height:300px;border:1px solid #ccc;display:table-cell”>< img src=”aaaa.jpg” mce_src=”aaaa.jpg” style=”_margin-top: expression(( 300 - this.height ) / 2);” /&g

IE/Chrome背景图片居中1px偏移解决方法

最近在支持行业运营的一个推广页面,遇到了非常规的页面banner图居中的问题,为了解决此问题,做了简单的测试,做了一个小结,为经常做大促页面的兄弟姐妹们提供参考解决方案. 首先来看看现象.最经典的页面如下图 从图中可以看到本页面为经典的顶部大图通栏,尺寸为1210px,但是为了兼顾所有分辨率,所以作为背景图片居中处理.内容区域为常用的经典栅格布局990px,设置margin:0 auto;大概的伪代码结构如下:  XHTML 1 2 3 4 <div id=”content”> <div

latex 中图片或者表格跨两栏居中的方法

对于表格,在只需按照下面语句编写即可: \begin{table*}[htbp] %htbp为位置控制 \centering 其他内容 \end{table*} 对于图片同样的方法,即: \begin{figure*} \centering 图片内容,同时这里可以包含多张图片,排版的时候将会跨两栏横排 \end{figure}

display:flex 的弹性盒子中,flex-grow:2 不生效的解决方法

在使用 display:flex 的弹性盒子时,用到flex-grow:2 时不生效,只需在flex-grow:2 的前面增加一行css:  width:0 即可 <div style="display:flex;"> <div style="width:0;flex-grow:2"></div> <div style="width:0;flex-grow:1"></div> </