css实现图片居中的几种方式

css实现图片居中的几种方式一 文本属性对齐 text align 二 巧用 margin 三 绝对定位四 弹性盒布局五 栅格布局 eg 我希望图 1 能居中 图一变图二 图一图二 htmldivid pic imgsrc st

大家好,欢迎来到IT知识分享网。

排序与方法优劣有关!!

在这里插入图片描述
图二

html

 <div id="pic"> <img src=star.jpg class="logo"> </div> 

一、(最简单)文本属性对齐text-align
text-align控制元素中文本行的对齐方式。可以在img设一个父辈的div,这样img就可以是div的文本,然后用text-align修改div属性。(在父辈元素添加属性)

注意:子元素必须是inline或inline-block;如果子元素也是div的话,需要给子元素设置display:inline/inline-block. 这里子元素img是inline所以省略这一步。该方法适用于inline元素上。比如img的居中
《css权威指南》p217

css

#pic { 
     text-align: center; /*表示div的子元素居中*/ } 

二、巧用margin

css

img { 
     display: block; width: 100px; margin: 0 auto; } 

以上三点缺一不可。

margin: 0 auto;居中的前提是:

  1. 内行元素必须要设置成display: block; img是行内元素必须得设置。如果是input可以不设置。
  2. 元素必须要有宽度;自带宽度的除外,比如button和input等。

《css权威指南》p272 使用auto-多个auto

根据前提,还可以有另一种方法-修改父元素属性

#pic { 
     width: 100px; margin: 0 auto; } /*父元素div属于block,所以不用再设 display: block;*/ 

综上所属,该方法适用于block元素上。比如div、input的居中
margin的局限:一行显示两个图片时,margin需要相应修改。

三、弹性盒布局

css

#pic { 
     display: flex; justify-content: center; } 

四、栅格布局
弹性盒用在导航栏是最普遍的。与之相比,栅格布局是普适的布局系统。

#pic { 
     display: grid; align-items: center; /*块级方向(纵向)上的全部栅格元素居中对齐*/ justify-items: center; /*行内方向(横向)所有的元素中线对齐*/ } 

所以能够非常方便的处理多张图片对齐的问题。

五、绝对定位中对齐

css

#pic { 
     position: relative; /*设置绝对定位元素(img)的容纳块,如果不设置,那么容纳块默认为body*/ } .logo { 
     position: absolute; right: 1em; left: 1em; //表示左右距离相等 margin: 0 auto; //与方法二相似 } 

《css权威指南》p544 绝对定位-非置换元素的位置和尺寸

与方法二最大的区别是,margin的用法是针对block元素的。如果用position就不需要设置block 了。但是position一般用在框架布局上,如果只是图片居中有点大材小用,比较麻烦。不建议。

六、背景图片居中

html

<div></div> 

css

div { 
     height: 1000px; /*高度非常重要*/ background: url(star.jpg) no-repeat top center; } 

设置为背景图片的局限性是无法设置超链接、title、alt等图片的属性。如果不是背景图片,尽量不要用这种格式。

总结:其实上述的几种方法也可以被用作元素对齐的几种方式。所以任何元素基本都有五种左右的对齐方式。这一点一定要学会灵活运用。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122335.html

(0)
上一篇 2025-10-17 13:45
下一篇 2025-10-17 14:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信