css3的transform屬性
問題描述
當(dāng)你對一個(gè)元素進(jìn)行了translateY(10px)操作,再對它進(jìn)行rotateZ(45deg)操作,此時(shí)該元素的旋轉(zhuǎn)中心卻是以translateY之前的狀態(tài)作為旋轉(zhuǎn)中心,這是為什么?
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style media="screen"> * {margin: 0; padding: 0;} .b { width: 50px; height: 50px; /*border-radius: 50%;*/ background: #000; position: relative; }; ul { width: 20px; height: 20px; /*background: #fff;*/ position: absolute; top: 50%; left: 50%; margin-top: -10px; margin-left: -10px; } li { width: 20px; height: 2px; background: #fff; position: absolute; top: 50%; margin-top: (-1px); transform: translateY(3.75px); transition: all 1s; } li:nth-child(2) { transform: translateY(-3.75px); } </style> </head> <body> <div class="b"> <ul> <li></li> <li></li> </ul> </div> </body> <script type="text/javascript"> var b = document.querySelector('.b'); var lis = document.querySelectorAll('li'); var bol = false; b.addEventListener('click',function(){ bol = !bol; if(bol) { lis[0].style.transform = 'rotateZ(45deg)'; lis[1].style.transform = 'rotateZ(-45deg)'; } else { lis[0].style.transform = 'rotateZ(0deg)'; lis[1].style.transform = 'rotateZ(0deg)'; } }) </script></html>
問題解答
回答1:都寫在一個(gè)transform里
var b = document.querySelector('.b'); var lis = document.querySelectorAll('li'); var bol = false; b.addEventListener('click',function(){ bol = !bol; if(bol) { lis[0].style.transform = 'rotateZ(45deg)'; lis[1].style.transform = 'rotateZ(-45deg)'; } else { lis[0].style.transform = 'translateY(3.75px) rotateZ(0deg)'; lis[1].style.transform = 'translateY(-3.75px) rotateZ(0deg)'; } })
相關(guān)文章:
1. mysql - ubuntu開啟3306端口失敗,有什么辦法可以解決?2. initPage:是什么意思? 是返回的意思嗎?3. java - NamedParameterJdbcTemplate 性能測試4. javascript - h5頁面中特殊字符在某些安卓手機(jī)上亂碼(__??_-?? -----> __?-??)5. 這是什么情況???6. javascript - 這是什么插件能把能把cli里面的webpack打包信息格式化?7. typeof是啥意思8. java - android 有沒有離線版的sdk文檔 不用聯(lián)網(wǎng)就可以本地查找的,提高查閱文檔的速度?9. Python的os.listdir在獲取文件列表時(shí)的順序問題10. java - 如何讓maven優(yōu)先使用用戶setting.xml的配置?
