頁面實現(xiàn)大頭貼功能,相框固定,照片可更換,類似下圖。
成都創(chuàng)新互聯(lián)公司的客戶來自各行各業(yè),為了共同目標,我們在工作上密切配合,從創(chuàng)業(yè)型小企業(yè)到企事業(yè)單位,感謝他們對我們的要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。專業(yè)領(lǐng)域包括網(wǎng)站設(shè)計制作、做網(wǎng)站、電商網(wǎng)站開發(fā)、微信營銷、系統(tǒng)平臺開發(fā)。
其實我們可以拆分一下:相框.png是一張圖片,金泰熙小姐姐照片.jpg是另一張圖片,只要把相框.png疊在金泰熙小姐姐照片.jpg圖片前面,那么就實現(xiàn)啦!
先上HTML結(jié)構(gòu):
相框為固定寬高,假設(shè)寬為300px,高為400px。
CSS樣式如下:
那么問題來了,photo怎么居中?
試過的不成功解法:
1、把photo設(shè)為絕對定位,left:-50%,再設(shè)margin-left為負值。由于photo寬度不確定,因此margin-left具體值不確定。
2、寬度設(shè)為300px,圖片變形。
3、把photo設(shè)為絕對定位,margin:auto,left:0,right:0。當(dāng)box容器寬度小于photo時,該方法失效。
以上方法均無法實現(xiàn)居中后,想到如下可行辦法:
HTML結(jié)構(gòu):
CSS樣式:
給photo外加一個div容器photobox,給photobox設(shè)定一個足夠?qū)挼膶挾?,再將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
基礎(chǔ)代碼
然后打開文本文檔,編寫基礎(chǔ)代碼,再把桌面上的老虎圖片引入進去,如下圖所示:
03
后綴名
然后把文本文檔后綴名改為.html,如下圖所示:
04
運行網(wǎng)頁
然后在瀏覽器中運行網(wǎng)頁,現(xiàn)在圖片有了,只是還沒有居中,圖片居住代碼要用CSS寫,如下圖所示:
05
CSS代碼
然后寫上CSS代碼,如下圖所示:
06
垂直水平居中
可以看到圖片已經(jīng)垂直和水平居中,如下圖所示:
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、然后設(shè)置給圖片起一個class名,方便一會兒的操作。
3、然后給圖片設(shè)置css樣式,因為方便的原因就直接在html頁面寫css樣式了。
4、經(jīng)常使用“margin: 0 auto”來實現(xiàn)水平居中,而一直認為“margin: auto”是不能實現(xiàn)垂直居中,但是實際上,僅需要添加一些限制便能實現(xiàn)效果,就是通過定位:
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
設(shè)置定位讓上下左右都為0,然后通過margin:0 auto,來讓元素實現(xiàn)上下左右都居中。
5、設(shè)置完CSS樣式之后,通過瀏覽查看代碼的效果就可以,可以看到圖片已經(jīng)實現(xiàn)了。
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,可以用彈性容器來實現(xiàn)居中。
2,用p align="centger"img src="###"/p來實現(xiàn)居中。
3,容器和圖片都設(shè)置寬度高度,已經(jīng)知道寬度高度情況下,用margin-top,margin-left等方式來設(shè)置居中。
3,用相對定位方式實現(xiàn)居中。margin:0 auto;
4,對容器設(shè)置text-align:center;方式來實現(xiàn)居中。