让div中的图片上下左右居中(div里面的图片居中)

http://www.itjxue.com  2023-01-24 16:28  来源:未知  点击次数: 

如何让图片在div里左右居中,上下居中

style

#box{width:500px;height:500px;position:relative;}

#box?img{width:100px;height:100px;position:absolute;top:50%;left:50%;margin-top:-50px;margin-left:-50px}

/style

div?id="box"

img?src="xxx.jpg"

/div

原理是图片定位距离容器的上边和左边各50%,然后用margin-top和margin-left再减去图片的一半,,这就是容器的正中间的,就是水平垂直居中了。

在div里,如何让图片居中

方法一:

思路:利用text-align属性将图片水平居中,然后设置padding-top的值使其垂直居中。

结构如下:

div

img src="images/tt.gif" width="150" height="100" /

/div

CSS样式如下:

div {width:300px; height:150px; background-color:#CCC; border:#000 1px solid; text-align:center; padding-top:50px;}

释义:

图片的尺寸为150x100px,DIV的大小为300x200px;

background-color:#CCC; border:#000 1px solid;为DIV加个边框和背景色,便于观察效果。

text-align:center,实现图片的水平居中;padding-top:50px,50px这个数值是经过计算得到的,padding-top的值具体算法如下:(DIV的高度 – 图片的高度)/2,但这里要注意,根据盒模型原理,我们还要将DIV原来的高度200减去padding-top的值,这样显示的才是正确的,否则DIV会变高。

方法二:

思路:只用padding属性,通过计算求得居中

结构代码同上;

CSS样式如下:

div {width:225px; height:150px; background-color:#eee; border:#000 1px solid; padding-top:50px; padding-left:75px;}

备注:这里DIV的宽高计算都遵循盒模型原理,计算方法同上。

方法三:

思路:

利用图片的margin属性将图片水平居中,利用DIV的padding属性将图片垂直居中。

结构代码同上;

CSS代码如下:

div {width:300px; height:150px; background-color:#eee; padding-top:50px; border:#000 1px solid;}

img {display:block; margin:0 auto;}

备注:

Img是内联元素,要设置其margin属性使其居中,就要将其转换为块元素display:block;然后利用margin:0 auto;实现图片的水平居中;(有的设计师为图片再加个div标签,然后通过div标签的margin实现居中

如何实现div的上下左右都居中?

通常我们用到的css布局都是左右居中,经典css写法如下:

body{

margin:0;

padding:0;

width:100%;

height:100%;

}

div{

margin:0

auto;

width:500px;

height:auto;

}

body{

margin:0;

padding:0;

width:100%;

height:100%;

}

div{

margin:0

auto;

width:500px;

height:auto;

}

上面是经典的左右居中的css写法,那么像登录框那些比较小得div块只是左右居中是否不是太美观,如果上下左右都居中这是

大多数网站的做法,下面是一个比较经典的div上下左右居中的css写法:

body{

margin:0;

padding:0;

width:100%;

height:100%;

}

div{

position:absolute;

top:50%;

left:50%;

margin-top:-250px;

margin-left:-250px;

/*此时宽和高都要固定*/

width:500px;

height:500px;

}

body{

margin:0;

padding:0;

width:100%;

height:100%;

}

div{

position:absolute;

top:50%;

left:50%;

margin-top:-250px;

margin-left:-250px;

/*此时宽和高都要固定*/

width:500px;

height:500px;

}

上面的margin可以合并:margin:-250px

-250px;

大概原理就是:布局需用position,绝对布局absolute还是相对布局relative得看父容器,top,left相对于顶部和左部都相距整个容器的50%,然后在利用margin,向上回退div高的50%即:margin-top:-250px

向左回退div宽的50%即:margin-left:-250px

如何让div中的内容在上下和左右都居中

让div的内容在上下和左右都居中,可以设置margin-left,margin-right,margin-top,margin-buttom为auto来实现。

另外,横向的居中

text-align:center

垂直的居中

可以

人为

定义好里面内容的高度然后

margin:auto

如何将div中的div上下左右居中

div

的垂直居中

可以用position:relative

left=50%

top=50%

在这个层里面再建一个divposition:relative

left=-50%

top=-50%

div

的水平居中

可以在body

设置

text-align=center

又或者设置line-height=*px

div上下居中怎么设置

第一种方式,知道自己高度,知道容器高度,用margin-top,margin-left设置居中。

第二种方式,知道自己高度,知道容器高度,设置成position:relative;用margin:0 auto;实现左右居中,用margin-top实现上下居中。

第三种方式;position:absolute;的情况,用top,left,bottom,right距离来设置居中,前提也是知道容器高度和自己高度。

第四种方式,用弹性容器来居中。这种情况一般是不自动换行,只有一行的居中情况。

display:flex;display:-webkit-flex;/*纵向对齐方式:居中*/align-content:center;-webkit-align-content:center;

(责任编辑:IT教学网)

更多

推荐Oracle文章