diff options
Diffstat (limited to 'files/zh-cn/web/api/css/factory_functions')
-rw-r--r-- | files/zh-cn/web/api/css/factory_functions/index.html | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/css/factory_functions/index.html b/files/zh-cn/web/api/css/factory_functions/index.html new file mode 100644 index 0000000000..8f4eea206a --- /dev/null +++ b/files/zh-cn/web/api/css/factory_functions/index.html @@ -0,0 +1,100 @@ +--- +title: CSS数字工厂函数 +slug: Web/API/CSS/factory_functions +translation_of: Web/API/CSS/factory_functions +--- +<p>{{SeeCompatTable}}<span class="seoSummary"><strong>CSS numeric factory functions</strong></span>,例如 <code>CSS.em()</code> 和 <code>CSS.turn()</code>,是一组使用传入的数字参数以及所指定的单位(单位名称即所用方法名称)来返回 <span class="seoSummary"><a href="/en-US/docs/Web/API/CSSUnitValue">CSSUnitValues</a></span> 的方法。这些函数创建新的数字值,与使用 {{domxref('CSSUnitValue.CSSUnitValue()')}} 构造函数相比,没有后者那么冗长。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox notranslate">CSS.number(<var>number</var>); +CSS.percent(<var>number</var>); + +// <length> +CSS.em(<var>number</var>); +CSS.ex(<var>number</var>); +CSS.ch(<var>number</var>); +CSS.ic(<var>number</var>); +CSS.rem(<var>number</var>); +CSS.lh(<var>number</var>); +CSS.rlh(<var>number</var>); +CSS.vw(<var>number</var>); +CSS.vh(<var>number</var>); +CSS.vi(<var>number</var>); +CSS.vb(<var>number</var>); +CSS.vmin(<var>number</var>); +CSS.vmax(<var>number</var>); +CSS.cm(<var>number</var>); +CSS.mm(<var>number</var>); +CSS.Q(<var>number</var>); +CSS.in(<var>number</var>); +CSS.pt(<var>number</var>); +CSS.pc(<var>number</var>); +CSS.px(<var>number</var>); + +// <angle> +CSS.deg(<var>number</var>); +CSS.grad(<var>number</var>); +CSS.rad(<var>number</var>); +CSS.turn(<var>number</var>); + +// <time> +CSS.s(<var>number</var>); +CSS.ms(<var>number</var>); + +// <frequency> +CSS.Hz(<var>number</var>); +CSS.kHz(<var>number</var>); + +// <resolution> +CSS.dpi(<var>number</var>); +CSS.dpcm(<var>number</var>); +CSS.dppx(<var>number</var>); + +// <flex> +CSS.fr(<var>number</var>);</pre> + +<h2 id="示例">示例</h2> + +<p>我们使用 <code>CSS.vmax()</code> 数字工厂函数来创建一个 {{domxref('CSSUnitValue')}}:</p> + +<pre class="brush: js notranslate">let height = CSS.vmax(50); + +console.log( height ); // CSSUnitValue {value: 50, unit: "vmax"} +console.log( height.value ) // 50 +console.log( height.unit ) // vmax</pre> + +<p>在这个例子中,我们给元素设定 margin 属性值,使用 <code>CSS.px()</code> 函数:</p> + +<pre class="brush: js notranslate">myElement.attributeStyleMap.set('margin', CSS.px(40)); +let currentMargin = myElement.attributeStyleMap.get('margin'); +console.log(currentMargin.value, currentMargin.unit); // 40, 'px'</pre> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('CSSOM', '#numeric-factory', 'Numeric Factory Functions')}}</td> + <td>{{Spec2('CSSOM')}}</td> + <td>Initial definition</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + + + +<p>{{Compat("api.CSS")}}</p> + +<h2 id="另请参阅">另请参阅</h2> + +<ul> + <li>{{domxref('CSSUnitValue.CSSUnitValue()')}}</li> +</ul> |