css3学习之2D转换功能详解
YPE html>
åè¨
CSS3æä¾äº2D转æ¢åè½ï¼è½å¤å¯¹å
ç´ è¿è¡ç§»å¨ã缩æ¾å转å¨çåè½ã
2D转æ¢ç屿§å为transformï¼ä½¿ç¨æ¹æ³ä¸ºtransform:method(value)ã
2Dè½¬æ¢æ¹æ³ætranslateãscaleãrotateãskewãmatrixï¼è¿æåºäºè¿äºåæ¯åºçtranslateXãscaleYçã
è¿éï¼æå°ä¼ä»ç»å°ä»¥ä¸è½¬æ¢æ¹æ³ï¼
- translate()
- rotate()
- scale()
- skew()Â
é¦å ï¼æä»¬å æå ¥ä¸ä¸ªç®åçhtml代ç
Css3ç2Dè½¬æ¢ ![]()
è¿æ®µä»£ç æä»¬å¯ä»¥å®ç°å¨ä¸ä¸ªdivéæ¾ä¸å¼ å¾çï¼éè¿è¿å¼ å¾ç以便äºå大家ä»ç»ä»¥ä¸æ¹æ³ã
1.translateï¼ï¼æ¹æ³ï¼è¿ä¸ªæ¹æ³éå¯ä»¥æä¸¤ä¸ªåæ°ï¼ä¸é´ç¨åå·éå¼ï¼åå«è¡¨ç¤ºæ²¿çXè½´åYè½´ç§»å¨çè·ç¦»ï¼è¿ä¸ªè·ç¦»æ¯ç¸å¯¹äºè¯¥å¾ççç§»å¨è·ç¦»ï¼ä¸åå³ä¸ºXè½´çæ£æ¹åï¼åä¸ä¸ºYè½´çæ£æ¹åãä¸é¢ç代ç 表示å°å¾çåå³ç§»å¨100pxï¼åä¸ä¹ç§»å¨100ããã
img{ margin:100px 0 0 100px; transform:translate(100px,100px); }
2.rotate()æ¹æ³ï¼è¿ä¸ªæ¹æ³éæä¸ä¸ªåæ°ï¼è¡¨ç¤ºè¦æè½¬ç度æ°ï¼æ£æ°è¡¨ç¤ºé¡ºæ¶éæè½¬ï¼é£ä¹è´æ°å°±è¡¨ç¤ºéæ¶éæè½¬äºãå¨è¦æè½¬ç度æ°å颿·»å deg ï¼å³degreeï¼åº¦æ°çææï¼ã以ä¸ä»£ç 表示å°å¾ç顺æ¶éæè½¬50°ã
img{ margin:100px 0 0 100px; transform:rotate(50deg); ï½
3.scale()æ¹æ³ï¼è¿ä¸ªæ¹æ³éæä¸¤ä¸ªåæ°ï¼æ²¡æåä½ãåå«è¡¨ç¤ºå®½åº¦åé«åº¦æ¾å¤§æç¼©å°çåæ°ï¼å¦æå¤§äº1表示æ¾å¤§ï¼å¦æå°äºä¸è¡¨ç¤ºç¼©å°ã以ä¸ä»£ç 表示å°å¾çç宽度åé«åº¦é½æ¾å¤§ä¸¤åã
img{ margin:100px 0 0 100px; transform:scale(2,2); }
4.skewï¼ï¼æ¹æ³ï¼æä¸¤ä¸ªåæ°ï¼åå«è¡¨ç¤ºæ²¿çXè½´åYè½´å¾æè½¬æ¢ï¼åä½åæ ·æ¯degï¼è¡¨ç¤ºè§åº¦ãè¿ä¸ªæ¹æ³ä¸æ¯å¾å®¹æçè§£ãé¦å ç»åºä¸å代ç ï¼
img{ margin:100px 0 0 100px; transform:skew(20deg,0deg); ï½
表示å°å¾ç沿çxè½´éæ¶éæè½¬20度ã
è¿æ¯æ²¡æä½¿ç¨skewï¼ï¼æ¹æ³çæ ·å
è¿æ¯ä½¿ç¨äºskewï¼ï¼æ¹æ³ä¹åçæ ·åã
为ä»ä¹å¢ï¼è¿æ¯å ä¸ºå ¶xè½´åYè½´çæ¹åæ¯è¿æ ·çï¼
å½xè½´æè½¬20°æ¶ä¼å°å¾çè¿è¡éæ¶éæè½¬ï¼ä½æ¯è¯·æ³¨æï¼è¿é䏿¯çæ£æä¹ä¸çæè½¬ï¼èææä¼¸å¾æçææï¼æè½¬ä¹åï¼å®çå®½åº¦å¹¶æ²¡ææ¹åï¼å¹¶ä¸å䏿¡å线å¯ä»¥åç°é«ä¹æ¯æ²¡ææ¹åçã
对äºYè½´æ¹åçæè½¬æ¯ä¸æ ·çï¼
img{ margin:100px 0 0 100px; transform:skew(0deg,20deg); ï½
ä¸é¢ç代ç 表示å°å¾ç沿çYè½´æ¹åæè½¬äº20°ã
æè½¬ä¹åï¼å°±æ¯ä¸é¢è¿æ ·äºï¼å®æ¯æ²¿ç顺æ¶éæ¹åæè½¬çã
å¦æï¼æä»¬å¯¹xåyè½´é½æè½¬å¢ï¼
img{ margin:100px 0 0 100px; transform:skew(20deg,20deg); ï½
é£ä¹æç»å°±æ¯ç»¼åä½ç¨çææäºï¼å¦ä¸å¾æç¤ºï¼
说äºè¿ä¹å¤ï¼å¤§å®¶ææ²¡æåç°æä»¬æ¯æ¬¡åç§»ï¼æè½¬ï¼å¾æï¼æ¾å¤§åç¼©å°æ¯ç¸å¯¹äºåªä¸ªç¹å¢ï¼
å¦æä½ ç¨å¾®ç»å¿çè¯ï¼å°±ä¼åç°æ¯ç¸å¯¹äºä¸å¿ç¹ãè¿éå°±è¦ç¨å°tansform-origin屿§äºã
å³éè¿è¿ä¸ªå±æ§ï¼æä»¬å¯ä»¥è§å®è¿äºæ¹æ³éè¿åªä¸ä¸ªç¹ä½ä¸ºåç¹ã
é¦å 举å 个ä¾åã
transform-originï¼0 0ï¼è¡¨ç¤ºä»¥å·¦ä¸è§ä¸ºåç¹ã
transform-originï¼100% 0ï¼è¡¨ç¤ºä»¥å³ä¸è§ä¸ºåç¹
transform-originï¼0 100%ï¼è¡¨ç¤ºä»¥å·¦ä¸è§ä¸ºåç¹
transform-originï¼100% 100%ï¼è¡¨ç¤ºä»¥å³ä¸è§ä¸ºåç¹
äºæ¯æä»¬å¯ä»¥å¾ç¥ï¼è¿äºå¼çè®¾å®æ¯ä»¥å·¦ä¸è§ä¸ºåºç¹çï¼åå³ä¸ºxè½´çæ£æ¹åï¼åä¸ä¸ºyè½´çæ£æ¹åã妿ä¸è®¾å®è¿ä¸ªå±æ§ï¼é£ä¹é»è®¤å¼ä¸º
transform-origin:50% 50%;å³ä»¥ä¸å¿ä½ä¸ºåæ¢çåºç¹ã
æåæè¿è¦è¯´ä¸ä¸æµè§å¨å ¼å®¹çé®é¢ï¼ä¸ºäºä½¿ä»£ç è½å¨å个æµè§å¨è¿è¡æåï¼æä»¬éè¦å¨å±å æ ·å¼è¡¨ä¸å¤å å è¡ä»£ç ï¼æ¯å¦è¯´rotate()æ¹æ³ï¼
transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */ -o-transform: rotate(30deg); /* Opera */ -moz-transform: rotate(30deg); /* Firefox */
è¿æ ·ï¼æä»¬å°±å¯ä»¥å¨åä¸ªä¸»è¦æµè§å¨æµç è¿è¡äºï¼
æ»ç»
以ä¸å°±æ¯è¿ç¯æç« çå ¨é¨å 容äºï¼å¸ææ¬æçå 容对åä½å¦ä¹ æè 使ç¨CSS3è½å¸¦æ¥ä¸å®ç帮å©ï¼å¦ææçé®å¤§å®¶å¯ä»¥çè¨äº¤æµã