Skip to content

Commit

Permalink
docs(cn): translate reference/react-dom/components/style into Chinese (
Browse files Browse the repository at this point in the history
…#1440)

Co-authored-by: Xleine <xleine@qq.com>
  • Loading branch information
Yucohny and loveloki authored Feb 7, 2024
1 parent 3e801fc commit caa8a4e
Showing 1 changed file with 25 additions and 25 deletions.
50 changes: 25 additions & 25 deletions src/content/reference/react-dom/components/style.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ canary: true

<Canary>

React's extensions to `<style>` are currently only available in React's canary and experimental channels. In stable releases of React `<style>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels).
React`<style>` 的扩展当前仅在 React Canary 与 experimental 渠道中可用。在 React 的稳定版本中,`<style>` 仅作为 [浏览器内置 HTML 组件](https://react.dev/reference/react-dom/components#all-html-components) 使用。请在 [此处了解更多关于 React 发布渠道的信息](/community/versioning-policy#all-release-channels)

</Canary>

<Intro>

The [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) lets you add inline CSS stylesheets to your document.
[浏览器内置的 `<style>` ](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) 允许向文档添加内联 CSS 样式表。

```js
<style> p { color: red; } </style>
Expand All @@ -23,53 +23,53 @@ The [built-in browser `<style>` component](https://developer.mozilla.org/en-US/d

---

## Reference {/*reference*/}
## 参考 {/*reference*/}

### `<style>` {/*style*/}

To add inline styles to your document, render the [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style). You can render `<style>` from any component and React will [in certain cases](#special-rendering-behavior) place the corresponding DOM element in the document head and de-duplicate identical styles.
渲染 [内置的浏览器 `<style>` 组件](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) 以向文档添加内联样式。可以在任何组件中渲染 `<style>`React 将在某些情况下将相应的 DOM 元素放置在文档头部,并对相同的样式进行去重。

```js
<style> p { color: red; } </style>
```

[See more examples below.](#usage)
[参见下方更多示例](#usage)

#### Props {/*props*/}
#### 属性 {/*props*/}

`<style>` supports all [common element props.](/reference/react-dom/components/common#props)
`<style>` 支持所有 [常见元素属性](/reference/react-dom/components/common#props)

* `children`: a string, required. The contents of the stylesheet.
* `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions.
* `href`: a string. Allows React to [de-duplicate styles](#special-rendering-behavior) that have the same `href`.
* `media`: a string. Restricts the spreadsheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries).
* `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy.
* `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets).
* `children`:字符串,必需字段,表示样式表的内容。
* `precedence`:字符串,告诉 React 在文档 `<head>` 中排列 `<style>` DOM 节点的位置,确定哪个样式表可以覆盖另一个,可能的值包括(按优先级排序)`"reset"``"low"``"medium"``"high"`。无论是 `<link>` 还是内联 `<style>` 标签,或者使用 [`preload`](/reference/react-dom/preload) [`preinit`](/reference/react-dom/preinit) 函数加载的样式表,具有相同优先级的将一起处理。
* `href`:字符串,允许 React [`href` 相同的样式进行去重](#special-rendering-behavior)
* `media`:字符串,将样式表限制为特定的 [媒体查询](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries)
* `nonce`:字符串,表示使用严格内容安全策略时允许资源的 [加密随机数](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/nonce)
* `title`:字符串,用于指定 [替代样式表](https://developer.mozilla.org/zh-CN/docs/Web/CSS/Alternative_style_sheets) 的名称。

Props that are **not recommended** for use with React:
不建议在 React 中使用的属性:

* `blocking`: a string. If set to `"render"`, instructs the browser not to render the page until the stylesheet is loaded. React provides more fine-grained control using Suspense.
* `blocking`:字符串。如果指定为 `"render"`,指示浏览器在样式表加载之前不要渲染页面。React 使用 Suspense 提供了更精细的控制。

#### Special rendering behavior {/*special-rendering-behavior*/}
#### 特殊的渲染行为 {/*special-rendering-behavior*/}

React can move `<style>` components to the document's `<head>`, de-duplicate identical stylesheets, and [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading.
React 可以将 `<style>` 组件移动到文档的 `<head>` 中,去重相同的样式表,并在样式表加载时 [挂起](/reference/react/Suspense)

To opt into this behavior, provide the `href` and `precedence` props. React will de-duplicate styles if they have the same `href`. The precedence prop tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other.
请提供 `href` `precedence` 属性以选择此行为。如果样式表具有相同的 `href`,React 将对样式去重。优先级属性告诉 React 在文档的 `<head>` 中排列 `<style>` DOM 节点的位置,从而确定哪个样式表可以覆盖另一个。

This special treatment comes with two caveats:
这种特殊处理带来两个注意事项:

* React will ignore changes to props after the style has been rendered. (React will issue a warning in development if this happens.)
* React may leave the style in the DOM even after the component that rendered it has been unmounted.
* 在样式被渲染后,React 将忽略属性的更改(React 在开发环境中会对这种情况发出警告)。
* 即使渲染它的组件已被卸载,React 也可能将样式保留在 DOM 中。

---

## Usage {/*usage*/}
## 用法 {/*usage*/}

### Rendering an inline CSS stylesheet {/*rendering-an-inline-css-stylesheet*/}
### 渲染一个内联 CSS 样式表 {/*rendering-an-inline-css-stylesheet*/}

If a component depends on certain CSS styles in order to be displayed correctly, you can render an inline stylesheet within the component.
如果一个组件依赖于某些 CSS 样式以正确显示,可以在组件内部渲染一个内联样式表。

If you supply an `href` and `precedence` prop, your component will suspend while the stylesheet is loading. (Even with inline stylesheets, there may be a loading time due to fonts and images that the stylesheet refers to.) The `href` prop should uniquely identify the stylesheet, because React will de-duplicate stylesheets that have the same `href`.
如果提供了 `href` `precedence` 属性,组件将在样式表加载时挂起(即使是内联样式表,由于样式表引用的字体和图像,可能也会有加载时间)。`href` 属性应该唯一地标识样式表,因为 React 将对 `href` 的样式表进行去重。

<SandpackWithHTMLOutput>

Expand Down

0 comments on commit caa8a4e

Please sign in to comment.