美文网首页
黑科技 · 图片居中的四种常用方法

黑科技 · 图片居中的四种常用方法

作者: 李昂李三光 | 来源:发表于2018-09-02 20:43 被阅读0次

一般情况下,图片外面会有一个div将其包起来,为了美观,会将图片进行居中处理,以下有四种常用的图片方法

  1. 行高等于高
    在知道父元素高度的情况下,将父元素行高等于高,等将图片设置为行内块,最后将图片水平居中
.warp{
  width: 500px;
  height: 500px;
  line-height: 500px;
  font-size: 0;
}
.warp>img{
  width: 100%;
  display: inline-block;  
  vertical-align: middle;
}

父元素的文字font-size必须等于0,因为在文字不等于0的情况下会有空白节点的存在,空白节点可以当做是文字,强行将图片和文字顶下去,因此加font-size: 0;来消除空白节点。

  1. 高度不确定的情况下,设display:table-cell
    将父元素设置为display:table-cell;,强行将父元素转换成表格,使其有表格的特性,然后将父元素设置为垂直居中
.warp{
  width: 500px;
  height: 500px;
  display: table-cell;
  vertical-align: middle;
}
.warp>img{
  width: 100%;
}

这种情况下,由于表格属性比较傲娇,父元素warp是不屑于和其他元素同行的,会独占一行,只有相邻元素同为display:table-cell;才会同行,因此在相邻元素属性不为表格的情况下必须进行处理,比如浮动。
此外,设置了display:table-cell;的warp使用overflow: hidden;是无效的

  1. 相对绝对定位居中法(绝对定位+变换)
    相当常用的一种方法,将父元素设置为相对定位,图片设为绝对定位,图片的外边距设为自适应,随后基于容器往下移动50%,再相对自身往上移动50%,以达到图片居中的效果
.warp{
  width: 500px;
  height: 500px;
  position: relative;
}
.warp>img{
  position:absolute;
  margin: auto;
  //基于容器移动50%
  top: 50%;
 //基于图片本身移动50%
  transform: translateY(-50%);
}

top属性是基于父元素移动,而transform: translateY(-50%);则是基于自身Y轴向上移动50%,这种方法可以在不知道父元素的高度的情况下使用,但是如果使用overflow: hidden;将可能使得图片被裁剪

  1. 弹性盒子
    使用弹性盒子将图片进行居中
.warp{
  display: flex;
  width: 500px;
  height: 500px;  
  align-items: center;
  justify-content: center;
}
.warp>img{
  width: 80%;
}

相关文章

  • 黑科技 · 图片居中的四种常用方法

    一般情况下,图片外面会有一个div将其包起来,为了美观,会将图片进行居中处理,以下有四种常用的图片方法 行高等于高...

  • 十六,元素居中

    居中:1,将文字居中: 让自己容器中的元素居中,常用语文本或者图片等内联元素2,将对象居中: 让容器中的自己居中,...

  • 最全CSS各种布局详解

    一、单列布局的实现 1、单列布局中最常用的水平居中的四种方法 同时设置父元素和子元素的样式:父元素使用text-a...

  • css居中总结

      css居中是布局中常见的方法,现将常用方法总结如下: 1.水平居中 1.1.使用inline-block + ...

  • css垂直水平居中显示的解决办法

    前端经常遇到居中定位的问题,今天总结集中水平垂直居中的方法,我常用的方法有5种,这5种方法针对不同情况做居中,这些...

  • CSS垂直居中

    CSS垂直居中 这里主要说了四种垂直居中的方法 设置line-height和height为相同的值;利用table...

  • 图片水平垂直居中的四种方法

    第一种:相对定位+margin:auto .Pic { position:relative; } .Pic img...

  • css居中问题

    常用居中方法 居中在布局中很常见,我们假设DOM文档结构如下,子元素要在父元素中居中: 水平居中 子元素为行内元素...

  • button控件实现图片和文字上下排版效果方法

    一、实现Button中图片居中、标题在图片底部居中。 效果如图: 实现方法:在属性检查器中可以设置Edge属...

  • CSS垂直居中,你会多少种写法?

    CSS控制居中是前端开发中非常常用的布局技能,本文列出几种CSS控制元素居中的几种方法。  谈及HTML元素居中展...

网友评论

      本文标题:黑科技 · 图片居中的四种常用方法

      本文链接:https://www.haomeiwen.com/subject/tnhmwftx.html