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

html-css08

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

CSS是层叠样式表。下面,我们来看看怎么使用CSS让图片水平垂直都居中吧。

01

新建一张文档

在桌面新建一张文本文档,改名为1.txt,如下图所示:

02

基础代码

然后打开文本文档,编写基础代码,再把桌面上的老虎图片引入进去,如下图所示:

03

后缀名

然后把文本文档后缀名改为.html,如下图所示:

04

运行网页

然后在浏览器中运行网页,现在图片有了,只是还没有居中,图片居住代码要用CSS写,如下图所示:

05

CSS代码

然后写上CSS代码,如下图所示:

06

垂直水平居中

可以看到图片已经垂直和水平居中,如下图所示:

07

总代码

<!DOCTYPE html>

<head>

<title>html</title>

<style type="text/css">

.picTiger{

margin: auto

position: absolute

top: 0

left: 0

bottom: 0

right: 0

}

</style>

</head>

<body>

<img class="picTiger" src="C:/Users/Administrator/Desktop/1.png">

</body>

<html>

在一个容器里再定义一个绝对定位的p容器,再在p容器里放需要垂直居中的图片,图片定义相对定位的CSS。直接上CSS代码:#pic{width:300pxheight:300pxbackground-color:greenborder:6pxsolid#ccctext-align:centerposition:relativedisplay:table-cellvertical-align:middle}#picp{*position:absolutetop:50%left:50%}#picpimg{*position:relativetop:-50%left:-50%}#pic是容器,里面放一个p容器,该容器采用绝对定位,最后插入图片,图片采用相对定位。这里用到了一个hack,*只有IE浏览器可以识别,Firefox不认识

    vertical-align: middle

是说这个属性么

这个属性严格意义上说并不是垂直居中

它只是让行内元素(文字和图片等)以自身为参照中对齐(top是顶对齐)

但这个参照不是绝对的,他受行高等因素影响(及浏览器的兼容)所以设置了对齐以后往往达不到自己想要的结果。

浏览器的垂直居中是个挺麻烦的事,简单的文字图片的对齐 可以用vertical-align,但稍微复杂点的就不好使啦

通常会用js计算高度在设置其他属性让目标元素居中

目前为止只有table的垂直居中属性 是真正意义上 且不需要js的垂直居中