aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/css/css_transforms
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/zh-cn/web/css/css_transforms
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/zh-cn/web/css/css_transforms')
-rw-r--r--files/zh-cn/web/css/css_transforms/index.html48
-rw-r--r--files/zh-cn/web/css/css_transforms/using_css_transforms/index.html81
2 files changed, 129 insertions, 0 deletions
diff --git a/files/zh-cn/web/css/css_transforms/index.html b/files/zh-cn/web/css/css_transforms/index.html
new file mode 100644
index 0000000000..b9140d9d6d
--- /dev/null
+++ b/files/zh-cn/web/css/css_transforms/index.html
@@ -0,0 +1,48 @@
+---
+title: CSS Transforms
+slug: Web/CSS/CSS_Transforms
+translation_of: Web/CSS/CSS_Transforms
+---
+<p><strong>CSS Transforms</strong> 是一个CSS模块,它定义了如何在二维或三维空间中转换元素的CSS样式。</p>
+
+<h2 id="引用参考">引用参考</h2>
+
+<h3 id="CSS属性">CSS属性</h3>
+
+<div class="index">
+<ul>
+ <li>{{cssxref("backface-visibility")}}</li>
+ <li>{{cssxref("perspective")}}</li>
+ <li>{{cssxref("perspective-origin")}}</li>
+ <li>{{cssxref("transform")}}</li>
+ <li>{{cssxref("transform-box")}}</li>
+ <li>{{cssxref("transform-origin")}}</li>
+ <li>{{cssxref("transform-style")}}</li>
+</ul>
+</div>
+
+<h2 id="使用指南">使用指南</h2>
+
+<dl>
+ <dt><a href="/en-US/docs/Web/CSS/CSS_Transforms/Using_CSS_transforms">CSS transforms 使用</a></dt>
+ <dd>循序渐进的教程,教你如何使用CSS对进行元素变形处理。</dd>
+</dl>
+
+<h2 id="规范"><strong>规范</strong></h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{ SpecName('CSS3 Transforms') }}</td>
+ <td>{{ Spec2('CSS3 Transforms') }}</td>
+ <td>Initial definition.</td>
+ </tr>
+ </tbody>
+</table>
diff --git a/files/zh-cn/web/css/css_transforms/using_css_transforms/index.html b/files/zh-cn/web/css/css_transforms/using_css_transforms/index.html
new file mode 100644
index 0000000000..667ac11c4e
--- /dev/null
+++ b/files/zh-cn/web/css/css_transforms/using_css_transforms/index.html
@@ -0,0 +1,81 @@
+---
+title: 使用 CSS 变形
+slug: Web/CSS/CSS_Transforms/Using_CSS_transforms
+tags:
+ - 3D
+ - CSS
+ - 变换
+ - 教程
+translation_of: Web/CSS/CSS_Transforms/Using_CSS_transforms
+---
+<div>{{CSSRef}}</div>
+
+<p>通过改变坐标空间,<strong>CSS transforms</strong> 可以在不影响正常文档流的情况下改变作用内容的位置。这篇指南提供了有关使用CSS变形(CSS transforms)的介绍。</p>
+
+<p>CSS transforms 通过一系列 CSS 属性实现,通过使用这些属性,可以对 HTML 元素进行线性仿射变形(affine linear transformations)。可以进行的变形包括旋转,倾斜,缩放以及位移,这些变形同时适用于平面与三维空间。</p>
+
+<div class="warning">
+<p>只有使用<a href="/zh-CN/docs/Web/CSS/CSS_Box_Model">盒模型</a>(Box Model)来定位的元素可以<em>被变换</em>(<code>transform</code>ed)。根据一般经验(原文:As a rule of thumb),拥有 <code>display: block</code> 的元素是由盒模型定位的。</p>
+</div>
+
+<h2 id="CSS_transforms_属性">CSS transforms 属性</h2>
+
+<p>有两个主要的属性被用来定义 CSS transforms:{{cssxref("transform")}} 和 {{cssxref("transform-origin")}}</p>
+
+<dl>
+ <dt>{{cssxref("transform-origin")}}</dt>
+ <dd>指定原点的位置。默认值为元素的中心,可以被移动。很多变形需要用到这个属性,比如旋转,缩放和倾斜,他们都需要一个指定的点作为参数。</dd>
+ <dt>{{cssxref("transform")}}</dt>
+ <dd>指定作用在元素上的变形。取值为空格分隔的一系列变形的列表,他们会像被组合操作请求一样被分别执行。</dd>
+</dl>
+
+<h2 id="示例">示例</h2>
+
+<p>这是一个未经任何变换的 MDN 标志:</p>
+
+<p><img alt="MDN Logo" src="https://mdn.mozillademos.org/files/12539/Screen%20Shot%202016-02-16%20at%2015.53.54.png" style="height: 106px; width: 110px;"></p>
+
+<h3 id="旋转">旋转</h3>
+
+<p>这是一个在 iframe 中的 MDN 的标志,从左下角开始,旋转了 90 度。</p>
+
+<pre class="brush: html">&lt;img style="transform: rotate(90deg);
+ transform-origin: bottom left;"
+ src="https://mdn.mozillademos.org/files/12539/Screen%20Shot%202016-02-16%20at%2015.53.54.png"&gt;
+</pre>
+
+<p>{{EmbedLiveSample('Rotating', 'auto', 240) }}</p>
+
+<h3 id="倾斜与位移">倾斜与位移</h3>
+
+<p>还是 MDN 的标志,倾斜了 10 度,并从 X 轴位移了 150 个像素。</p>
+
+<pre class="brush: html">&lt;img style="transform: skewx(10deg) translatex(150px);
+ transform-origin: bottom left;"
+ src="https://mdn.mozillademos.org/files/12539/Screen%20Shot%202016-02-16%20at%2015.53.54.png"&gt;
+</pre>
+
+<p>{{EmbedLiveSample('Skewing_and_translating') }}</p>
+
+<h2 id="适用于三维的属性">适用于三维的属性</h2>
+
+<p>在三维空间中使用 CSS 变形会稍微复杂一点。你必须先设置一个透视点(perspective)以便配置 3D 空间,再去定义 2D 元素在空间中的行为。</p>
+
+<h3 id="透视">透视</h3>
+
+<p>首先需要设置的属性是透视值({{cssxref("perspective")}})。透视正是三维空间的立体感的源泉。元素与观察者之间的距离越远,他们就越小。</p>
+
+<p>{{page("/en-US/docs/Web/CSS/perspective", "Setting perspective", 0, 0, 3)}}</p>
+
+<p>第二个需要设置的是观察者的位置,可通过 {{cssxref("perspective-origin")}} 属性来设置。默认透视值中,为观察者被置于中心,但是这并不总是适当的。</p>
+
+<p>{{page("/en-US/docs/Web/CSS/perspective-origin", "Changing the perspective origin", 0, 0, 3)}}</p>
+
+<p>完成这些之后,你就可以折腾被置于三维空间之中的元素了。</p>
+
+<h2 id="参见">参见</h2>
+
+<ul>
+ <li><a href="/en-US/docs/DOM/Using_device_orientation_with_3D_transforms">Using deviceorientation with 3D Transforms</a></li>
+ <li><a href="http://desandro.github.com/3dtransforms/" title="http://desandro.github.com/3dtransforms/">Intro to CSS 3D transforms</a>(由 David DeSandro 撰写的博客)</li>
+</ul>