current position:Home>CSS matrix function
CSS matrix function
2022-04-29 16:27:15【Nirvana happiness is gold】
matrix()
yes CSS Of transform
A basic property of , It can realize many advanced 、 Complex effects , actually transfrom
Of translate
、rotate
And so on matrix
Based on the implementation of a simplified version of the syntax .
Fundamentals of linear algebra
To understand and use, you must be familiar with vector and matrix knowledge of Linear Algebra , The course of linear algebra that I studied at the beginning has long been returned to the teacher , Because I don't know what's the use , If you know you'll use it today , I will study linear algebra well at the beginning 、 Advanced mathematics courses .
(1) vector
Vectors are used to describe direction and size , Cartesian coordinate system is generally used to describe vectors , Like vector (2, 1)
and (3, 3)
In the coordinate system, it is expressed as follows :
Addition of vectors 、 Both subtraction and multiplication are operations on the coordinates of the corresponding position :
(8, 2) + (2, 6) = (8 + 2, 2 + 6) = (10, 8)
(8, 2) - (2, 6) = (8 - 2, 2 - 6) = (6, -4)
(8, 2) * (2, 6) = (8 * 2, 2 * 6) = (16, 12)
Copy code
(2) matrix
Matrix is a common tool in advanced algebra , Arrange the numbers in a rectangular array , It is convenient for higher mathematical operations such as statistical analysis , One 2 X 3
That is to say, this matrix has 2 That's ok 3 Column
When adding matrices of the same size , Is the sum of the corresponding positions :
When matrices multiply , The corresponding position of each row of the former matrix will be multiplied by the corresponding position of each row of the latter matrix , And then add up the results , The number of rows of the resulting matrix is equal to the number of rows of the left matrix , The number of columns is equal to the number of columns of the matrix on the right , for example
matrix
Method
CSS3 Medium transfrom
Of matrix()
The method is as follows :
transform: matrix(a,b,c,d,e,f);
Copy code
There are six parameters , It corresponds to a 3*3
Matrix , The writing direction is vertical :
During coordinate transformation (2D coordinate ), Suppose the coordinates of the target point are (x, y)
, Then the conversion formula is as follows :
The first and second rows of the new matrix are the transformed abscissa and ordinate .
It should be noted that transfrom-origin
This property is the origin of the deformation , It will affect the calculation of point coordinates , Our gang will set it to 0 0
Example
Suppose there is such an element ,CSS Properties are as follows :
#transformedObject {
position: absolute;
left: 0px;
top: 0px;
width: 200px;
height: 80px;
}
Copy code
At this time, the page effect is as follows :
Let's do... On this element transform: matrix()
Transformation of :
#transformedObject {
position: absolute;
left: 0px;
top: 0px;
width: 200px;
height: 80px;
transform: matrix(0.9, -0.05, -0.375, 1.375, 220, 20);
transform-origin: 0 0;
}
Copy code
Notice that we set up
transform-origin
Conduct matrix
The principle of operation is the same as that mentioned above , With (200, 80)
For example :
The effect of applying the transformation is as follows :
Add a link to online editing :www.useragentman.com/matrix/#
matrix
Relationship with other attributes
matrix
Is the most basic change , It has six parameters , These six parameters give special values , Can be realized translate
/rotate
And other special effects :
With translate
distance , When the coordinate point is (10px, 10px)
, Conduct translate(50px 50px)
When , The coordinates of the result will be (60px, 60px)
If you use matrix()
Make changes , According to the picture above , The parameters that need to be given are matrix(1, 0, 0, 1, 50, 50)
, The process of performing an operation :
1 0 50 10 1 * 10 + 0 * 10 + 50 * 1 60
0 1 50 * 10 = 0 * 10 + 1 * 10 + 50 * 1 = 60
0 0 1 1 0 * 10 + 0 * 10 + 1 * 1 1
Copy code
The result is the same .
Yes matrix
With understanding , You can use matrix
At the same time 、 Compound change , Thus, more complex animation can be realized .
Reference resources
copyright notice
author[Nirvana happiness is gold],Please bring the original link to reprint, thank you.
https://en.qdmana.com/2022/04/202204291627095189.html
The sidebar is recommended
- Software design pattern -- Chapter 3 structural pattern -- sharing element pattern
- Vue uses the online form of Excel in the front end of lucky sheet to import, display and export Excel files
- Vue uses echart to draw national maps and overlay charts
- Vue + element UI: Vue user-defined instruction monitors the scrolling event of El table to scroll the scroll bar to the bottom and load new data
- Vue + element when there is no paging at the back end, the front end completes the paging of El table independently - scrolling to the bottom to load new data
- [react] react routing concept
- Lenovo z475 disassembly and repair - plate No. kl6c
- Random array into an array, requiring that the elements cannot be repeated
- The belated Toyota bz4x, even with the blessing of e-tnga architecture, is still not worth starting
- In element plus, for example, how to change the checkbox status in the list by clicking on the header and selecting all
guess what you like
Crawler reverse advanced, using ast technology to restore JavaScript obfuscated code
Help, after changing the user name, the computer is useless and can't log in
Drag the left column of Vue and keep the right width unchanged; The scroll bar appears
HTML notes
In depth analysis of headless single linked list -- dynamic diagram demonstration of C language
Share 9 development skills related to vue3
CSS box centered
Used in Vue projects Sync modifier and $emit (update: XXX)
Vue class & Style binding and computed
Vue project uses this$ forceUpdate(); Force render page
Random recommended
- HTTP becomes HTTPS, self-made certificate
- Web front-end operation - tourism enterprise marketing publicity responsive website template (HTML + CSS + JavaScript)
- Self inspection list of a [qualified] front-end Engineer
- This principle in JavaScript and six common usage scenarios
- JavaScript this priority
- Analyzing the principle of HTTPS encryption
- Difference and principle between websocket and http
- Use of elementui scroll bar component El scrollbar
- Nginx security optimization
- GAC group has become the first pilot enterprise of "yueyouhang". Blessed are the car owners in Guangdong!
- Loki HTTP API usage
- JavaScript - prototype, prototype chain
- Front end experience
- JavaScript -- Inheritance
- HTTP cache
- Filters usage of table in elementui
- A JavaScript pit encountered by a non front-end siege lion
- Grain College - image error when writing Vue with vscode
- Utility gadget - get the IP address in the HTTP request
- Could not fetch URL https://pypi.org/simple/pytest-html/: There was a problem confirming the ssl cer
- Function of host parameter in http
- Use nginx proxy node red under centos7 and realize password access
- Centos7 nginx reverse proxy TCP port
- In eclipse, an error is reported when referencing layuijs and CSS
- Front end online teacher Pink
- Learn to use PHP to insert elements at the specified position and key of the array
- Learn how to use HTML and CSS styles to overlay two pictures on another picture to achieve the effect of scanning QR code by wechat
- Learn how to use CSS to vertically center the content in Div
- Learn how to use CSS to circle numbers
- Learn to open and display PDF files in HTML web pages
- The PHP array random sorting function shuffle() randomly scrambles the order of array elements
- JQuery implements the keyboard enter search function
- 16 ArcGIS API for JavaScript 4.18 a new development method based on ES modules @ ArcGIS / core
- 17 ArcGIS API for JavaScript 4.18 draw points, lines and faces with the mouse
- 18 ArcGIS API for JavaScript 4.18 obtain the length and area after drawing line segments and surface features
- Vue environment construction -- scaffold
- Build a demo with Vue scaffold
- Using vuex in Vue projects
- Use Vue router in Vue project
- 26 [react basics-5] react hook