Demand backgroundThe project is made using Vue, and the business requirement has a puzzle effect. The default background image is dark, and it is divided into five areas. One area will be lit each time, and the whole image will be lit, and the puzzle is completed. Let’s take a look at the final rendering first. Applied knowledge points:
Implementation ideas: The outer large box is used to hold the dark background image. The five puzzle pieces inside are five divs. Each puzzle piece uses The idea to solve the background rotation problem is: you can put a box on the outer layer of the 5th puzzle piece, rotate the outer box 45 degrees to the right, and then rotate the background elements 45 degrees to the left. After the operation, I found a new problem. The black border in the picture below is the outer box (for ease of viewing, the other puzzle pieces are set to invisible). If We need to make the width and height of the fifth puzzle piece larger, and then set its outer box Finally, you can achieve the effect you just started with. The complete Vue code is as follows: <template> <section class="box"> <div class="bg" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> <div v-if="item1Show" class="item item1" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> <div v-if="item2Show" class="item item2" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> <div v-if="item3Show" class="item item3" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> <div v-if="item4Show" class="item item4" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> <div v-if="item5Show" class="item item5wrap"> <div class="item5" :style="{ backgroundImage: `url(${bgImg}) ` }"></div> </div> </section> </template> <script> import bgImg from "@/assets/bg.jpeg"; export default { data() { return { bgImg, item1Show: false, item2Show: true, item3Show: true, item4Show: true, item5Show: true }; } }; </script> <style lang="less"> @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); } } } </style> This is the end of this article about how to use CSS3 diamond puzzle to rotate only the div background image without rotating it. For more relevant CSS3 rotating image content, please search 123WORDPRESS.COM's previous articles or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future! |
<<: How to use iframe to apply the data of other web pages while maintaining compatibility
>>: How to implement communication between Docker containers
1. Test environment name Version centos 7.6 docke...
DNS (Domain Name Server) is a server that convert...
Table of contents 1. Download the virtual machine...
Database stored procedures DROP PROCEDURE IF EXIS...
Table of contents App.vue sub1.vue sub2.vue Summa...
Table of contents Code Optimization Using key in ...
This article records the method of sharing files ...
The following error message appears when installi...
Table of contents 1 Node.js method of sending ema...
The default request header of the http1.1 protoco...
[LeetCode] 185. Department Top Three Salaries The...
Table of contents Take todolist as an example The...
Table of contents Difference between MVC and MVVM...
Preface Students who learn JavaScript know that A...
1. MYSQL index Index: A data structure that helps...