2013-03-31 41 views
-1

请看这个小提琴 - http://jsfiddle.net/joshnh/73g7t/
我不清楚其中的一些事情。浮动,转换在css

  1. DIV是一个块级元素(所以它以一个换行符开始和结束)。那么为什么div并排放置? float是否删除块级元素的换行符?
  2. .wrapper div的定义中,rotate - transform: rotate(15deg);的代码已经存在。那么,为什么有另一种transform: rotate.wrapper .translate没有.wrapper .transform-origin
+1

块级元素**请勿**以换行符开头和结尾 – Doorknob

回答

1
  1. CSS spec解释这是为什么。这不是换行符,但block formatting context重新启动为float s。
  2. .wrapper .translate覆盖transform规则。如果它没有指定rotate,则轮换不会发生:http://jsfiddle.net/73g7t/304/ - transform-origin是一个单独的规则。
+0

在“div悬停”的定义中,仅将旋转转换为0deg。即使您没有提到翻译为0,红色框如何回到原来的位置? – Ashwin

+1

@Ashwin'transform'(及其同类)是*规则*。它只能有一个定义。具有更高特异性的规则集将覆盖*整个*规则。你可以在一个规则集中使用'transform:rotate skew scale translate'和'transform:rotate(0deg)'在一个中具有更高的特异性,*仅*后者应用 –

+0

谢谢!我现在清楚第二个问题。但我仍然不明白第一个问题的答案。 “块格式上下文重新启动浮动”是什么意思? – Ashwin