11、菱形圖片

1、基于變形的方案

對容器進行變形,再對圖片進行反向變形。

<div id="a">
    ![](img.jpg)
</div>

#a{
    margin: 300px  auto;
    border: 1px dashed #333;
    width: 160px;
    overflow: hidden;
    transform:rotate(45deg);
}
#a>img{
    max-width: 100%;
    transform:rotate(-45deg);
}

上下左右會有空白,是因為圖片的寬度為100%,會等于容器的寬度,變為菱形后圖片的寬度應為容器對角線的長度。勾股定理求得約等于142%(向上取整,向下取整還是會出現空白,向上取整才會超出)。使用scale()進行放大。

#a>img{
    max-width: 100%;
    transform:rotate(-45deg) scale(1.42);
}

2、使用clip-path方案(此屬性瀏覽器支持程度不高)

clip-path允許我們制定一個剪裁路徑,將元素剪裁成我們需要的樣子,理論上可以剪裁成任何形狀。

img{
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
}

clip-path屬性還支持漸變動畫

img{
    clip-path: polygon(50% 0,100% 50%,50% 100%,0 50%);
    transition: .5s clip-path;
}
img:hover{
    clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,803評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,335評論 0 11
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 轉載自Keegan小鋼并標明原文鏈接:http://keeganlee.me/post/android/20150...
    堅持編程_lyz閱讀 1,155評論 0 1
  • 今天學習論語第二十二則 原文 孟武伯問孝。子曰:“父母唯其疾之憂。” 譯文 孟武伯請教什么是孝。孔子說:“讓父母只...
    讓文字溫暖心靈閱讀 332評論 0 0