CSS是层叠样式表。下面,我们来看看怎么使用CSS让图片水平垂直都居中吧。
01新建一张文档
在桌面新建一张文本文档,改名为1.txt,如下图所示:
02基础代码
然后打开文本文档,编写基础代码,再把桌面上的老虎图片引入进去,如下图所示:
03后缀名
然后把文本文档后缀名改为.html,如下图所示:
04运行网页
然后在浏览器中运行网页,现在图片有了,只是还没有居中,图片居住代码要用CSS写,如下图所示:
05CSS代码
然后写上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的垂直居中