CSS透视规则和值之间有什么区别吗?

时间:2015-09-16 16:40:30

标签: css css3 css-transforms

这两者有什么区别吗?

perspective: 600px;
transform: perspective(600px);

2 个答案:

答案 0 :(得分:1)

根据this website,有。

  

这两种格式都会触发3D空间,但存在差异。功能表示法便于直接在单个元素上应用3D变换......但是当在多个元素上使用时,变换后的元素不会按预期排列。如果在具有不同位置的元素上使用相同的变换,则每个元素将具有其自己的消失点。要解决此问题,请在父元素上使用perspective属性,以便每个子元素可以共享相同的3D空间。

答案 1 :(得分:0)

  

... perspective属性不会影响元素的呈现方式;它只是为儿童元素启用了3D空间。这是transform:perspective()函数和透视属性之间的主要区别。第一个给出元素深度,而后者创建一个由其所有已转换的子元素共享的3D空间。

完整的文章可以在这里找到:https://css-tricks.com/almanac/properties/p/perspective/

这里有一个类似的问题:What is the difference between perspective and transform's perspective properties in CSS?

因此,主要区别在于您是否希望以相同的方式将视角应用于所有子项(def tasks Task.find_by_sql ["SELECT tasks.* FROM tasks WHERE assigner_id = ? OR executor_id = ? order by created_at DESC", self.id, self.id] end 将应用于父项),或者您是否需要子元素有自己的观点。