日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

html 背景图片自动旋转,CSS3 菱形拼图实现只旋转div 背景图片不旋转功能

發布時間:2023/12/31 CSS 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html 背景图片自动旋转,CSS3 菱形拼图实现只旋转div 背景图片不旋转功能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

需求背景

使用 vue 做的項目,業務需求有一個拼圖效果,默認是深色的背景圖,上面分五個區域,每次會亮一個區域,整張圖都亮,拼圖完成。先來看一下最終的效果圖。

應用到的知識點:

background-size

background-position

transform:rotate

實現思路:

外層大盒子用來放暗色背景圖,里面的5塊拼圖,是5個div,每塊拼圖都使用背景定位的方式展示背景圖的固定區域,中間的拼圖做了旋轉。但是旋轉后,又遇到了個問題:背景圖片也跟著旋轉了,像下面這樣:

解決背景旋轉的思路:可以在第5塊拼圖的外層套一個盒子,將外層盒子向右旋轉45度,再將背景的元素向左旋轉45度。操作完又發現了新的問題,下面圖中的黑色邊框是外層盒子(為了方便看,把其他的拼圖塊都設置為不可見)。如果給外層盒子設置 overflow:hidden ,那么中間拼圖的上下左右四個角都會缺失。

我們需要把第五塊拼圖的寬高設置大一些,再設置它外層的盒子 overflow:hidden。寬高設置大的話,對應的 background-size 也要改變。

最后,就可以實現剛開始的效果了,完整的 vue 代碼如下:

import bgImg from "@/assets/bg.jpeg";

export default {

data() {

return {

bgImg,

item1Show: false,

item2Show: true,

item3Show: true,

item4Show: true,

item5Show: true

};

}

};

@borderColor: #333;

.box {

margin: 0px auto;

width: 300px;

height: 200px;

background-color: #000;

position: relative;

.bg {

width: 100%;

height: 100%;

position: absolute;

left: 0;

top: 0;

background-position: center center;

background-repeat: no-repeat;

background-size: 100% 100%;

opacity: 0.5;

}

.item {

width: 50%;

height: 50%;

box-sizing: border-box;

background-size: 200% 200%;

border-right: 1px solid @borderColor;

border-bottom: 1px solid @borderColor;

position: absolute;

}

.item1 {

background-position: 0 0;

left: 0;

top: 0;

}

.item2 {

background-position: 100% 0;

left: 50%;

top: 0;

}

.item3 {

background-position: 0 100%;

left: 0;

top: 50%;

}

.item4 {

background-position: 100% 100%;

left: 50%;

top: 50%;

}

.item5wrap {

width: 100px;

height: 100px;

border-left: 1px solid @borderColor;

border-top: 1px solid @borderColor;

transform: rotate(45deg);

left: 50%;

top: 50%;

transform: translate(-50%, -50%) rotate(45deg);

overflow: hidden;

.item5 {

width: 150px;

height: 150px;

background-position: 50% 50%;

background-size: 200% 133%;

position: absolute;

left: 50%;

top: 50%;

transform: translate(-50%, -50%) rotate(-45deg);

}

}

}

到此這篇關于CSS3 菱形拼圖實現只旋轉div 背景圖片不旋轉功能的文章就介紹到這了,更多相關CSS3旋轉圖片內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

總結

以上是生活随笔為你收集整理的html 背景图片自动旋转,CSS3 菱形拼图实现只旋转div 背景图片不旋转功能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。