1.transform容易被占用众所周知,CSS中的transform是一个包含很多值的属性,例如:div{transform:translate(-50%,-50%)scale(1.5)}不过这不是简写,而是应该这样写,跟背景不一样。div{background:url('1xxx')10px10px/20px20px不重复;}/*相当于下面的写法*/div{background-image:url('1xxx');背景位置:10px10px;背景尺寸:20px20px;background-repeat:no-repeat;}分开写的好处是如果只需要改某个部分,很容易覆盖。div.div1{背景图片:url('2xxx');/*只改图片,不改其他的*/}回到前面,如果要改transform的某个部分,不好,必须把没改的部分也写一遍,变化的部分不能提取为公共样式。div.scale{transform:scale(2)/*这样不行,translate会丢失*/}/*必须完整*/div.scale{transform:translate(-50%,-50%)scale(2)}那么如何巧妙地解决这个问题呢?二、目前的几种思路1、用其他方法代替transform遇到这种情况,第一感觉可能是舍弃原来的transform属性,换成其他方法。比如translate(-50%,-50%)一般用来实现元素居中的效果,可以通过flex等其他方式实现。.parent{display:flex}div{margin:auto;/*Centerthroughmargin:auto*/}比如translate(10px,10px)的偏移可以通过left或者margin-left来实现。div{位置:相对;左:10px;top:10px;}或者干脆再包裹一层parent也可以避免transform被占用的问题。
