HTML CSS中如何实现DIV中的图片水平垂直居中对齐,好像align:center,vertical-align:middle;没有作用
HTML CSS中实现DIV中的图片水平垂直居中对齐的方法:
所谓的图片水平垂直居中就是把图片放在一个容器元素中(容器大于图片尺寸或是指定了大小的容器),并且图片位居此容器正中间(中间是指元素容器的正中间),而图片不是以背景图片(background-image)形式展示,是以<img>元素形式展示的。如下图所示:
1、解决水平居中的办法:如果图片左浮动并且"display:inline"时,只要给图片设置一个"text-align:center"属性,就顺利解决了水平居中。
2、解决垂直居中的办法:使用display:table-cell和设置了display:inline-block的线合span。
完整例子:
html代码:
<ul class="imgWrap clearfix">
<li><a href="#" class="imgBox"><span></span><img src="images/img1.jpg" alt="" /></a></li>
<li><a href="#" class="imgBox"><span></span><img src="images/img2.jpg" alt="" /></a></li>
<li><a href="#" class="imgBox"><span></span><img src="images/img3.jpg" alt="" /></a></li>
<li><a href="#" class="imgBox"><span></span><img src="images/img4.jpg" alt="" /></a></li>
</ul>
css代码:
<style type="text/css">
.imgWrap li {
float: left;
border: solid 1px #666;
margin: 10px 10px 0 0;
list-style: none;
border-collapse: collapse;
}
.imgWrap a {
background: #ffa url(images/gridBg.gif) repeat center;
width: 219px;
height: 219px;
display: table-cell;/*图片容器以表格的单元格形式显示*/
text-align: center; /* 实现水平居中 */
vertical-align: middle; /*实现垂直居中*/
}
.imgWrap a:hover {
background-color: #dfd;
}
.imgWrap img {
border: solid 1px #66f;
vertical-align: middle; /*图片垂直居中*/
}
</style>
实现效果如下:
如果图片左浮动并且"display:inline"时,只要给图片设置一个"text-align:center"属性,就解决了水平居中。
使用display:table-cell和设置了display:inline-block的线合span,这样就解决垂直居中。
《HTML与CSS入门经典》是经典畅销图书《HTML与CSS入门经典》的最新版本,与过去的版本相同,本书采用直观、循序渐进的方法,为读者讲解使用HTML5与CSS3设计、创建并维护世界级Web站点的过程,以方便读者掌握。
分为24章,其涵盖的内容有理解Web的工作方式,构造HTML文档,理解层叠样式表、理解HTML5页面架构,处理文本块和列表,处理字体,处理颜色和边框,使用外部链接和内部链接,使用表格和栏,创建用于Web的图像。
第一部分简要地介绍了HTML和XHTML,阐述了网页的创建过程和发布步骤,讨论了如何连接到其他网页。
第二部分介绍了文本的对齐和格式化,讨论了文本链接、图像链接和图像映射,阐述了如何处理用于网页中的图像,还介绍了如何设置网页的背景和颜色。
第三部分讨论了如何使用表格、CSS和框架设计网页布局;第四部分探讨了如何使用脚本、表单和多媒体设计动态网页。