¸üÐÂʱ¼ä:2023Äê09ÔÂ26ÈÕ11ʱ14·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:
CSS3ÖеıäÐÎÔÊÐí¶¯Ì¬µÄ¿ØÖÆÔªËØ£¬¿ÉÒÔÔÚÍøÒ³ÖжÔÔªËØ½øÐÐÒÆ¶¯¡¢Ëõ·Å¡¢Çãб¡¢Ðýת£¬»ò½áºÏÕâЩ±äÐÎÊôÐÔ²úÉú¸´Ôӵ͝»¡£Í¨¹ýCSS3ÖеıäÐβÙ×÷£¬¿ÉÒÔÈÃÔªËØÉú³É¾²Ì¬ÊÓ¾õЧ¹û£¬Ò²¿ÉÒÔ½áºÏ¹ý¶ÉºÍ¶¯»ÊôÐÔ²úÉúһЩÐµĶ¯»Ð§¹û¡£
CSS3µÄ±äÐÎ(transform)ÊôÐÔ¿ÉÒÔÈÃÔªËØÔÚÒ»¸ö×ø±êϵͳÖбäÐΡ£Õâ¸öÊôÐÔ°üº¬Ò»ÏµÁбäÐκ¯Êý£¬¿ÉÒÔ½øÐÐÔªËØµÄÒÆ¶¯¡¢ÐýתºÍËõ·Å¡£transformÊôÐԵĻù±¾Óï·¨ÈçÏ¡£
transform: none | transform-functions;
ÔÚÉÏÃæµÄÓï·¨¸ñʽÖУ¬transformÊôÐÔµÄĬÈÏֵΪnone£¬ÊÊÓÃÓÚÄÚÁªÔªËغͿéÔªËØ£¬±íʾ²»½øÐбäÐΡ£transform-functionÓÃÓÚÉèÖñäÐκ¯Êý£¬¿ÉÒÔÊÇÒ»¸ö»ò¶à¸ö±äÐκ¯ÊýÁÐ±í¡£
transform-functionº¯Êý°üÀ¨matrix()¡¢translate()¡¢scale()¡¢rotate()ºÍskew()µÈ¡£¾ßÌå˵Ã÷ÈçÏ¡£
¡ñ matrix()£º ¶¨Ò徨Ðα任£¬¼´»ùÓÚ XºÍY ×ø±êÖØÐ¶¨Î»ÔªËصÄλÖá£
¡ñ translate()£º ÒÆ¶¯ÔªËضÔÏ󣬼´»ùÓÚ XºÍY ×ø±êÖØÐ¶¨Î»ÔªËØ¡£
¡ñ scale()£º Ëõ·ÅÔªËØ¶ÔÏ󣬿ÉÒÔʹÈÎÒâÔªËØ¶ÔÏó³ß´ç·¢Éú±ä»¯£¬È¡Öµ°üÀ¨ÕýÊý¡¢¸ºÊýºÍСÊý¡£
¡ñ rotate()£º Ðý×ªÔªËØ¶ÔÏó£¬È¡ÖµÎªÒ»¸ö¶ÈÊýÖµ¡£
¡ñ skew()£º ÇãÐ±ÔªËØ¶ÔÏó£¬È¡ÖµÎªÒ»¸ö¶ÈÊýÖµ¡£
ÔÚCSS3ÖУ¬Ê¹ÓÃtransformÊôÐÔ¿ÉÒÔʵÏÖ±äÐÎЧ¹û£¬Ö÷Òª°üÀ¨4ÖÖ±äÐÎЧ¹û£¬·Ö±ðÊÇ£ºÆ½ÒÆ¡¢Ëõ·Å¡¢ÇãбºÍÐýת¡£ÏÂÃæ£¬½«·Ö±ðÕë¶ÔÕâЩ±äÐÎЧ¹û½øÐн²½â¡£
ʹÓÃtranslate()·½·¨Äܹ»ÖØÐ¶¨ÒåÔªËØµÄ×ø±ê£¬ÊµÏÖÆ½ÒƵÄЧ¹û¡£¸Ãº¯Êý°üº¬Á½¸ö²ÎÊýÖµ£¬·Ö±ðÓÃÓÚ¶¨ÒåXÖáºÍYÖá×ø±ê£¬Æä»ù±¾Óï·¨¸ñʽÈçÏ¡£
transform: translate(x-value, y-value);
ÔÚÉÏÊöÓï·¨ÖУ¬x-value Ö¸ÔªËØÔÚˮƽ·½ÏòÉÏÒÆ¶¯µÄ¾àÀ룬y-value Ö¸ÔªËØÔÚ´¹Ö±·½ÏòÉÏÒÆ¶¯µÄ¾àÀë¡£Èç¹ûÊ¡ÂÔÁ˵ڶþ¸ö²ÎÊý£¬ÔòȡĬÈÏÖµ0¡£µ±ÖµÎª¸ºÊýʱ£¬±íʾ·´·½ÏòÒÆ¶¯ÔªËØ¡£
ÔÚʹÓÃtranslate()·½·¨Òƶ¯ÔªËØÊ±£¬»ùµãĬÈÏÎªÔªËØÖÐÐĵ㣬Ȼºó¸ù¾ÝÖ¸¶¨µÄX×ø±êºÍY×ø±ê½øÐÐÒÆ¶¯£¬Ð§¹ûÈçͼ9-5Ëùʾ¡£ÔÚ¸ÃͼÖУ¬ÊµÏß±íÊ¾Æ½ÒÆÇ°µÄÔªËØ£¬ÐéÏß±íÊ¾Æ½ÒÆºóµÄÔªËØ¡£

ÏÂÃæÍ¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾtranslate()·½·¨µÄʹÓÃÓ÷¨¡£
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ÔªËØÆ½ÒÆ</title>
<style>
div{
width: 100px;
height: 50px;
background-color: #ff0;
border: 1px solid black;
}
#div2 {
transform: translate(100px, 30px);
-ms-transform: translate(100px, 30px);¡¡¡¡¡¡¡¡ /* IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
-webkit-transform: translate(100px, 30px);¡¡¡¡/*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-moz-transform: translate(100px, 30px);¡¡¡¡¡¡ /*Firefoxä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-o-transform: translate(100px, 30px);¡¡¡¡¡¡¡¡ /*Operaä¯ÀÀÆ÷¼æÈÝ´úÂë*/
}
</style>
</head>
<body>
<div>ÎÒÊÇÔªËØÔÀ´µÄλÖÃ</div>
<div id="div2">ÎÒÊÇÔªËØÆ½ÒÆºóµÄλÖÃ</div>
</body>
</html>
ÔÚÉÏÃæ°¸ÀýÖУ¬Ê¹ÓÃ<div>±ê¼Ç¶¨ÒåÁ½¸öÑùʽÍêÈ«ÏàͬµÄºÐ×Ó¡£È»ºó£¬Í¨¹ýtranslate()·½·¨½«µÚ¶þ¸ö<div>ÑØX×ø±êÏòÓÒÒÆ¶¯100ÏñËØ£¬ÑØY×ø±êÏòÏÂÒÆ¶¯30ÏñËØ¡£
ÔËÐÐЧ¹ûÈçÏÂͼËùʾ£º

scale()·½·¨ÓÃÓÚËõ·ÅÔªËØ´óС£¬¸Ãº¯Êý°üº¬Á½¸ö²ÎÊýÖµ£¬·Ö±ðÓÃÀ´¶¨Òå¿í¶ÈºÍ¸ß¶ÈµÄËõ·Å±ÈÀý¡£ÔªËسߴçµÄÔö¼Ó»ò¼õÉÙ£¬Óɶ¨ÒåµÄ¿í¶È£¨XÖᣩºÍ¸ß¶È£¨YÖᣩ²ÎÊý¿ØÖÆ£¬Æä»ù±¾Óï·¨¸ñʽÈçÏ¡£
transform: scale(x-axis, y-axis)£»
ÔÚÉÏÊöÓï·¨ÖУ¬x-axisºÍy-axis²ÎÊýÖµ¿ÉÒÔÊÇÕýÊý¡¢¸ºÊýºÍСÊý¡£ÕýÊýÖµ±íʾ»ùÓÚÖ¸¶¨µÄ¿í¶ÈºÍ¸ß¶È·Å´óÔªËØ¡£¸ºÊýÖµ²»»áËõÐ¡ÔªËØ£¬¶øÊÇ·×ªÔªËØ£¨ÈçÎÄ×Ö±»·´×ª£©£¬È»ºóÔÙËõ·ÅÔªËØ¡£Èç¹ûµÚ¶þ¸ö²ÎÊýÊ¡ÂÔ£¬ÔòµÚ¶þ¸ö²ÎÊýµÈÓÚµÚÒ»¸ö²ÎÊýÖµ¡£ÁíÍ⣬ʹÓÃСÓÚ1µÄСÊý¿ÉÒÔËõÐ¡ÔªËØ¡£scale()·½·¨Ëõ·ÅʾÒâͼÈçͼËùʾ¡£ÆäÖУ¬ÊµÏß±íʾ·Å´óǰµÄÔªËØ£¬ÐéÏß±íʾ·Å´óºóµÄÔªËØ¡£
·½·¨Ëõ·ÅʾÒâͼ.jpg)
ÏÂÃæÍ¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾscale()·½·¨µÄʹÓã¬ÈçÏ¡£
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ëõ·ÅЧ¹û</title>
<style type="text/css">
div{
width: 100px;
¡¡ height: 50px;
background-color: #ff0;
border: 1px solid black;
}
#div2{
margin: 100px;
transform: scale(2, 3);
-ms-transform: scale(2, 3);¡¡¡¡¡¡¡¡ /* IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
-webkit-transform: scale(2, 3);¡¡ /*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-moz-transform: scale(2, 3);¡¡¡¡¡¡ /*Firefoxä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-o-transform: scale(2, 3);¡¡¡¡¡¡¡¡ /*Operaä¯ÀÀÆ÷¼æÈÝ´úÂë*/
}
</style>
</head>
<body>
<div>ÎÒÊÇÔÀ´µÄÔªËØ</div>
<div id="div2">ÎÒÊÇ·Å´óºóµÄÔªËØ</div>
</body>
</html>
ÔÚÀýÉÏÃæ°¸ÀýÖУ¬Ê¹ÓÃ<div>±ê¼Ç¶¨ÒåÁ½¸öÑùʽÏàͬµÄºÐ×Ó¡£²¢ÇÒ£¬Í¨¹ýscale()·½·¨½«µÚ¶þ¸ö<div>µÄ¿í¶È·Å´óÁ½±¶£¬¸ß¶È·Å´óÈý±¶¡£
ÔËÐа¸Àý£¬Ð§¹ûÈçÏÂËùʾ¡£

skew()·½·¨Äܹ»ÈÃÔªËØÇãбÏÔʾ£¬¸Ãº¯Êý°üº¬Á½¸ö²ÎÊýÖµ£¬·Ö±ðÓÃÀ´¶¨ÒåXÖáºÍYÖá×ø±êÇãбµÄ½Ç¶È¡£skew()¿ÉÒÔ½«Ò»¸ö¶ÔÏóÎ§ÈÆ×ÅXÖáºÍYÖá°´ÕÕÒ»¶¨µÄ½Ç¶ÈÇãб£¬Æä»ù±¾Óï·¨¸ñʽÈçÏ¡£
transform: skew(x-angle, y-angle);
ÔÚÉÏÊöÓï·¨ÖУ¬²ÎÊýx-angleºÍy-angle±íʾ½Ç¶ÈÖµ£¬µÚÒ»¸ö²ÎÊý±íʾÏà¶ÔÓÚXÖá½øÐÐÇãб£¬µÚ¶þ¸ö²ÎÊý±íʾÏà¶ÔÓÚYÖá½øÐÐÇãб£¬Èç¹ûÊ¡ÂÔÁ˵ڶþ¸ö²ÎÊý£¬ÔòȡĬÈÏÖµ0¡£skew()·½·¨ÇãбʾÒâͼÈçÏÂËùʾ¡£ÆäÖУ¬ÊµÏß±íʾÇãбǰµÄÔªËØ£¬ÐéÏß±íʾÇãбºóµÄÔªËØ¡£

ÏÂÃæÍ¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾskew()·½·¨µÄʹÓã¬ÈçÀýËùʾ¡£
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>skew()·½·¨ÇãбЧ¹û</title>
<style>
div {
margin-left: 30px;
width: 200px;
height: 100px;
background-color: #ff0;
border: 1px solid black;
}
#div2{
transform: skew(30deg, 10deg);
-ms-transform: skew(30deg, 10deg);
-webkit-transform: skew(30deg, 10deg);
-moz-transform: skew(30deg, 10deg);
-o-transform: skew(30deg, 10deg);
}
</style>
</head>
<body>
<div>ÎÒÊÇÔÀ´µÄÔªËØ</div>
<div id="div2">ÎÒÊÇÇãбºóµÄÔªËØ</div>
</body>
</html>
ÔÚÉÏÃæ°¸ÀýÖУ¬Ê¹ÓÃ<div>±ê¼Ç¶¨ÒåÁËÁ½¸öÑùʽÏàͬµÄºÐ×Ó¡£²¢ÇÒ£¬Í¨¹ýskew()·½·¨½«µÚ¶þ¸ö<div>ÔªËØÑØXÖáÇãб30°£¬ÑØYÖáÇãб10°¡£
ÔËÐÐÀý´úÂ룬Ч¹ûÈçͼËùʾ¡£
ÇãбЧ¹û.jpg)
rotate()·½·¨Äܹ»Ðýתָ¶¨µÄÔªËØ¶ÔÏó£¬Ö÷ÒªÔÚ¶þά¿Õ¼äÄÚ½øÐвÙ×÷¡£¸Ã·½·¨ÖеIJÎÊýÔÊÐí´«È븺ֵ£¬ÕâÊ±ÔªËØ½«ÄæÊ±ÕëÐýת¡£Æä»ù±¾Óï·¨¸ñʽÈçÏ¡£
transform: rotate(angle);
ÔÚÉÏÊöÓï·¨ÖУ¬²ÎÊýangle±íʾҪÐýתµÄ½Ç¶ÈÖµ¡£Èç¹û½Ç¶ÈΪÕýÊýÖµ£¬Ôò°´ÕÕ˳ʱÕë½øÐÐÐýת£¬·ñÔò£¬°´ÕÕÄæÊ±ÕëÐýת£¬rotate()·½·¨ÐýתʾÒâͼÈçͼËùʾ¡£ÆäÖУ¬ÊµÏß±íʾÐýתǰµÄÔªËØ£¬ÐéÏß±íʾÐýתºóµÄÔªËØ¡£

ÏÂÃæÍ¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾrotate()·½·¨µÄʹÓã¬ÈçÏÂËùʾ£º
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>rotate()·½·¨</title>
<style>
div{
width: 200px;
height: 80px;
background-color: #ff0;
border: 1px solid black;
}
#div2{
transform: rotate(30deg);
-ms-transform: rotate(30deg);¡¡¡¡¡¡¡¡¡¡/* IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
-webkit-transform: rotate(30deg);¡¡¡¡¡¡/*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-moz-transform: rotate(30deg);¡¡¡¡¡¡¡¡/*Firefoxä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-o-transform: rotate(30deg);¡¡¡¡¡¡¡¡¡¡/*Operaä¯ÀÀÆ÷¼æÈÝ´úÂë*/
}
</style>
</head>
<body>
<div>ÎÒÊÇÔÀ´µÄÔªËØ</div>
<div id="div2">ÎÒÊÇÐýתºóµÄÔªËØ</div>
</body>
</html>
Ч¹ûÈçÏÂËùʾ£º

ÔÚ°¸ÀýÖУ¬Ê¹Óà ±ê¼Ç¶¨ÒåÁ½¸öÑùʽÏàͬµÄºÐ×Ó¡£²¢ÇÒ£¬Í¨¹ýrotate()·½·¨½«µÚ¶þ¸öÔªËØÑØË³Ê±Õë·½ÏòÐýת30°¡£
×¢Ò⣺Èç¹ûÒ»¸öÔªËØÐèÒªÉèÖöàÖÖ±äÐÎЧ¹û£¬¿ÉÒÔʹÓÿոñ°Ñ¶à¸ö±äÐÎÊôÐÔÖµ¸ô¿ª¡£
5.¸ü¸Ä±ä»»µÄÖÐÐĵã
ͨ¹ýtransformÊôÐÔ¿ÉÒÔʵÏÖÔªËØµÄÆ½ÒÆ¡¢Ëõ·Å¡¢Çãб¼°ÐýתЧ¹û£¬ÕâЩ±äÐβÙ×÷¶¼ÊÇÒÔÔªËØµÄÖÐÐĵãΪ»ù×¼½øÐеģ¬Èç¹ûÐèÒª¸Ä±äÕâ¸öÖÐÐĵ㣬¿ÉÒÔʹÓÃtransform-originÊôÐÔ£¬Æä»ù±¾Óï·¨¸ñʽÈçÏ¡£
transform-origin£ºx-axis y-axis z-axis;
ÔÚÉÏÊöÓï·¨ÖУ¬transform-originÊôÐÔ°üº¬Èý¸ö²ÎÊý£¬ÆäĬÈÏÖµ·Ö±ðΪ50% 50% 0£¬¸÷²ÎÊýµÄ¾ßÌ庬ÒåÈçϱíËùʾ¡£

ÏÂÃæÍ¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾtransform-originÊôÐÔµÄʹÓÃ
<!Doctype html>
<html>
<head>
<meta charset="utf-8">
<title>transform-originÊôÐÔ</title>
<style>
#div1 {
position:relative;
width: 200px;
height: 200px;
margin: 100px auto;
padding:10px;
border: 1px solid black;
}
#box02 {
padding:20px;
position:absolute;
border:1px solid black;
background-color: red;
transform:rotate(45deg);
/*Ðýת 45°*/
-webkit-transform:rotate(45deg);
/*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-ms-transform:rotate(45deg);
/*IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
transform-origin:20% 40%;
/*¸ü¸ÄÔµã×ø±êµÄλÖÃ*/
-webkit-transform-origin:20% 40%;
/*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-ms-transform-origin:20% 40%;
/*IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
}
#box03 {
padding:20px;
position:absolute;
border:1px solid black;
background-color:#FF0;
transform:rotate(45deg);
/*Ðýת 45°*/
-webkit-transform:rotate(45deg);
/*Safari andChromeä¯ÀÀÆ÷¼æÈÝ´úÂë*/
-ms-transform:rotate(45deg);
/*IE9ä¯ÀÀÆ÷¼æÈÝ´úÂë */
}
</style>
</head>
<body>
¡¡<div id="div1">
¡¡<div id="box02">¸ü¸ÄÔµã×ø±êλÖÃ</div>
¡¡<div id="box03">ÔÀ´ÔªËØ×ø±êλÖÃ</div>
¡¡</div>
¡¡</body>
</html>
ÔÚÉÏÃæ°¸ÀýÖУ¬Í¨¹ýtransformµÄrotate()·½·¨½«box02¡¢box03ºÐ×Ó·Ö±ðÐýת45°¡£È»ºó£¬Í¨¹ýtransform-originÊôÐÔÀ´¸ü¸Äbox02ºÐ×ÓÔµã×ø±êµÄλÖá£
Ч¹ûͼÈçÏ£º

ͨ¹ýÉÏͼ¿ÉÒÔ¿´³ö£¬box02¡¢box03ºÐ×ÓµÄλÖòúÉúÁË´íλ¡£Á½¸öºÐ×ӵijõʼλÖÃÏàͬ£¬Ðýת½Ç¶ÈÏàͬ£¬·¢Éú´íλµÄÔÒòÊÇtransform-originÊôÐԸıäÁËbox02ºÐ×ÓµÄÐýתÖÐÐĵ㡣
±±¾©Ð£Çø