十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
页面实现大头贴功能,相框固定,照片可更换,类似下图。
成都创新互联公司的客户来自各行各业,为了共同目标,我们在工作上密切配合,从创业型小企业到企事业单位,感谢他们对我们的要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。专业领域包括网站设计制作、做网站、电商网站开发、微信营销、系统平台开发。
其实我们可以拆分一下:相框.png是一张图片,金泰熙小姐姐照片.jpg是另一张图片,只要把相框.png叠在金泰熙小姐姐照片.jpg图片前面,那么就实现啦!
先上HTML结构:
相框为固定宽高,假设宽为300px,高为400px。
CSS样式如下:
那么问题来了,photo怎么居中?
试过的不成功解法:
1、把photo设为绝对定位,left:-50%,再设margin-left为负值。由于photo宽度不确定,因此margin-left具体值不确定。
2、宽度设为300px,图片变形。
3、把photo设为绝对定位,margin:auto,left:0,right:0。当box容器宽度小于photo时,该方法失效。
以上方法均无法实现居中后,想到如下可行办法:
HTML结构:
CSS样式:
给photo外加一个div容器photobox,给photobox设定一个足够宽的宽度,再将photobox相对box居中,然后再用text-align:center让photo相对于photobox居中。
photobox容器left值=(photobox容器宽 - box容器宽)/2
写个简单的例子给你吧
htlm如下:
h4图片水平居中/h4
div class="demo1"
img src="你的图片" alt=""
/div
h4图片垂直居中/h4
div class="demo2"
div class="imgbox"
img src="你的图片" alt=""
/div
/div
h4图片水平垂直居中/h4
div class="demo3"
div class="imgbox"
img src="你的图片" alt=""
/div
/div
css如下:
style type="text/css"
.demo1{width: 200px;height: 200px;border: 1px solid #ccc;display: inline-block;text-align: center;}
.demo1 img{width: 100px;height: auto;}
.demo2{width: 200px;height: 200px;border: 1px solid #ccc;display: table;}
.demo2 .imgbox{display: table-cell;vertical-align: middle;}
.demo2 .imgbox img{width: 100px;height: auto;}
.demo3{width: 200px;height: 200px;border: 1px solid #ccc;display: table;}
.demo3 .imgbox{display: table-cell;vertical-align: middle;text-align: center;}
.demo3 .imgbox img{width: 100px;height: auto;}
/style
CSS是层叠样式表。下面,我们来看看怎么使用CSS让图片水平垂直都居中吧。
01
新建一张文档
在桌面新建一张文本文档,改名为1.txt,如下图所示:
02
基础代码
然后打开文本文档,编写基础代码,再把桌面上的老虎图片引入进去,如下图所示:
03
后缀名
然后把文本文档后缀名改为.html,如下图所示:
04
运行网页
然后在浏览器中运行网页,现在图片有了,只是还没有居中,图片居住代码要用CSS写,如下图所示:
05
CSS代码
然后写上CSS代码,如下图所示:
06
垂直水平居中
可以看到图片已经垂直和水平居中,如下图所示:
07
总代码
!DOCTYPE html
head
titlehtml/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
1、首先先在页面里加载一张图片,代码和效果如下图所示:
2、然后设置给图片起一个class名,方便一会儿的操作。
3、然后给图片设置css样式,因为方便的原因就直接在html页面写css样式了。
4、经常使用“margin: 0 auto”来实现水平居中,而一直认为“margin: auto”是不能实现垂直居中,但是实际上,仅需要添加一些限制便能实现效果,就是通过定位:
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
设置定位让上下左右都为0,然后通过margin:0 auto,来让元素实现上下左右都居中。
5、设置完CSS样式之后,通过浏览查看代码的效果就可以,可以看到图片已经实现了。
6、最后给大家附上全部的代码:
!DOCTYPE html
html
head
meta charset="utf-8" /
title使用CSS让图片水平垂直居中/title
/head
body
img class="pic" src="img/timg.jpg" alt="" /
/body
style type="text/css"
.pic{
margin: auto;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
/style
/html
1,可以用弹性容器来实现居中。
2,用p align="centger"img src="###"/p来实现居中。
3,容器和图片都设置宽度高度,已经知道宽度高度情况下,用margin-top,margin-left等方式来设置居中。
3,用相对定位方式实现居中。margin:0 auto;
4,对容器设置text-align:center;方式来实现居中。