CSS解決固定高度圖片居中裁剪問題

場景需求

頁面實現(xiàn)大頭貼功能,相框固定,照片可更換,類似下圖。

image

解題思路

其實我們可以拆分一下:相框.png是一張圖片,金泰熙小姐姐照片.jpg是另一張圖片,只要把相框.png疊在金泰熙小姐姐照片.jpg圖片前面,那么就實現(xiàn)啦!

先上HTML結(jié)構(gòu):

<div class="box">
  <img class="photo" src="金泰熙小姐姐照片.jpg" alt="我是原始照片_寬高不定" />
  <img class="phframe" src="相框.png" alt="我是花里胡哨的相框_中間鏤空" />
</div>

相框為固定寬高,假設(shè)寬為300px,高為400px。

CSS樣式如下:

.box{width:300px;height:400px;overflow:hidden;position:relative;}
.photo{height:400px;}
.phframe{width:300px;height:400px;position:absolute;left:0;top:0;}

那么問題來了,photo怎么居中?

試過的不成功解法:

1、把photo設(shè)為絕對定位,left:-50%,再設(shè)margin-left為負值。由于photo寬度不確定,因此margin-left具體值不確定。

2、寬度設(shè)為300px,圖片變形。

3、把photo設(shè)為絕對定位,margin:auto,left:0,right:0。當box容器寬度小于photo時,該方法失效。

解決方法

以上方法均無法實現(xiàn)居中后,想到如下可行辦法:

HTML結(jié)構(gòu):

<div class="box">
  <div class="photobox">
    <img class="photo" src="金泰熙小姐姐照片.jpg" alt="我是原始照片_寬高不定" />
  </div>
  <img class="phframe" src="相框.png" alt="我是花里胡哨的相框_中間鏤空" />
</div>

CSS樣式:

.box{width:300px;height:400px;overflow:hidden;position:relative;}
.photobox{width:1000px;height:400px;position:absolute;left:-350px;top:0;text-align:center;}
.photo{height:400px;}
.phframe{width:300px;height:400px;position:absolute;left:0;top:0;}

給photo外加一個div容器photobox,給photobox設(shè)定一個足夠?qū)挼膶挾?,再將photobox相對box居中,然后再用text-align:center讓photo相對于photobox居中。

photobox容器left值=(photobox容器寬 - box容器寬)/2

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,154評論 1 92
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,725評論 0 6
  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,830評論 0 26
  • 1.絕對定位居中技術(shù) 我們一直用margin:auto實現(xiàn)水平居中,而一直認為margin:auto不能實現(xiàn)垂直居...
    DecadeHeart閱讀 1,664評論 0 3
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,119評論 0 2

友情鏈接更多精彩內(nèi)容