diff --git a/files/ru/_wikihistory.json b/files/ru/_wikihistory.json index c64276a65b8780..fa1402f96a076b 100644 --- a/files/ru/_wikihistory.json +++ b/files/ru/_wikihistory.json @@ -12977,12 +12977,6 @@ "andreww2012" ] }, - "Web/CSS/blend-mode": { - "modified": "2019-03-23T22:37:56.295Z", - "contributors": [ - "andreww2012" - ] - }, "Web/CSS/block-size": { "modified": "2020-10-15T22:09:37.709Z", "contributors": [ diff --git a/files/ru/web/css/--_star_/index.html b/files/ru/web/css/--_star_/index.html deleted file mode 100644 index d747b2278fbed8..00000000000000 --- a/files/ru/web/css/--_star_/index.html +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Переменные (--*) -slug: Web/CSS/--* -tags: - - CSS - - CSS Variables - - Property -translation_of: Web/CSS/--* ---- -

{{CSSRef}}{{SeeCompatTable}}

- -

Имена свойств с префиксом --, типа --example-name, представляют собой пользовательские свойства, содержащие значение, которое можно использовать по всему документу, используя ({{cssxref("var()")}}).

- -

Пользовательские свойства участвуют в каскаде: каждое из них может появляться несколько раз, а значение переменной соответствует значению, определённому в пользовательском свойстве алгоритмом каскадирования.

diff --git a/files/ru/web/css/--_star_/index.md b/files/ru/web/css/--_star_/index.md new file mode 100644 index 00000000000000..0692f7e78c7c93 --- /dev/null +++ b/files/ru/web/css/--_star_/index.md @@ -0,0 +1,14 @@ +--- +title: Переменные (--*) +slug: Web/CSS/--* +tags: + - CSS + - CSS Variables + - Property +translation_of: Web/CSS/--* +--- +{{CSSRef}}{{SeeCompatTable}} + +Имена свойств с префиксом `--`, типа `--example-name`, представляют собой _пользовательские свойства_, содержащие значение, которое можно использовать по всему документу, используя ({{cssxref("var()")}}). + +Пользовательские свойства участвуют в каскаде: каждое из них может появляться несколько раз, а значение переменной соответствует значению, определённому в пользовательском свойстве алгоритмом каскадирования. diff --git a/files/ru/web/css/@counter-style/additive-symbols/index.html b/files/ru/web/css/@counter-style/additive-symbols/index.html deleted file mode 100644 index beb78878b9a6dc..00000000000000 --- a/files/ru/web/css/@counter-style/additive-symbols/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: additive-symbols -slug: Web/CSS/@counter-style/additive-symbols -translation_of: Web/CSS/@counter-style/additive-symbols ---- -

Описание

- -

Дескриптор аддитивных символов аналогичен дескриптору {{cssxref('symbols')}} и позволяет пользователю указывать символы которые будут использоваться для представлений счётчика, когда значение дескриптора {{cssxref('system')}} аддитивное. Дескриптор additive-symbols определяет так называемые аддитивные кортежи, каждый из которых представляет собой пару, содержащую символ и неотрицательный целочисленный вес. Аддитивная система используется для построения систем нумерации знаков, таких как римские цифры.

- -

Когда значение системного дескриптора является циклическим, числовым, буквенным, символическим или фиксированным, дескриптор symbols используется вместо аддитивных символов для указания символов счётчика.

- -

{{cssinfo}}

- -

Синтаксис

- -
additive-symbols: 3 "0";
-additive-symbols: 3 "0", 2 "\2E\20";
-additive-symbols: 3 "0", 2 url(symbol.png);
-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Пример

- -

HTML

- -
<ul class="list">
-   <li>One</li>
-   <li>Two</li>
-   <li>Three</li>
-   <li>Four</li>
-   <li>Five</li>
-</ul>
- -

CSS

- -
@counter-style additive-symbols-example {
-  system: additive;
-  additive-symbols: I 1;
-}
-.list {
-  list-style: additive-symbols-example;
-}
- -

Результат

- -

{{ EmbedLiveSample('Example') }}

- -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/@counter-style/additive-symbols/index.md b/files/ru/web/css/@counter-style/additive-symbols/index.md new file mode 100644 index 00000000000000..f84c790984001b --- /dev/null +++ b/files/ru/web/css/@counter-style/additive-symbols/index.md @@ -0,0 +1,67 @@ +--- +title: additive-symbols +slug: Web/CSS/@counter-style/additive-symbols +translation_of: Web/CSS/@counter-style/additive-symbols +--- +## Описание + +Дескриптор аддитивных символов аналогичен дескриптору {{cssxref('symbols')}} и позволяет пользователю указывать символы которые будут использоваться для представлений счётчика, когда значение дескриптора {{cssxref('system')}} _аддитивное_. Дескриптор `additive-symbols` определяет так называемые аддитивные кортежи, каждый из которых представляет собой пару, содержащую символ и неотрицательный целочисленный вес. Аддитивная система используется для построения систем нумерации знаков, таких как римские цифры. + +Когда значение системного дескриптора является циклическим, числовым, буквенным, символическим или фиксированным, дескриптор `symbols` используется вместо аддитивных символов для указания символов счётчика. + +{{cssinfo}} + +## Синтаксис + +```css +additive-symbols: 3 "0"; +additive-symbols: 3 "0", 2 "\2E\20"; +additive-symbols: 3 "0", 2 url(symbol.png); +``` + +### Формальный синтаксис + +{{csssyntax}} + +## Пример + +### HTML + +```html + +``` + +### CSS + +```css +@counter-style additive-symbols-example { + system: additive; + additive-symbols: I 1; +} +.list { + list-style: additive-symbols-example; +} +``` + +### Результат + +{{ EmbedLiveSample('Example') }} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref("list-style")}}, {{Cssxref("list-style-image")}}, {{Cssxref("list-style-position")}} +- {{cssxref("symbols", "symbols()")}}, функциональная запись, создающая анонимные стили счётчиков. diff --git a/files/ru/web/css/@counter-style/index.html b/files/ru/web/css/@counter-style/index.html deleted file mode 100644 index a94a25918a7ae1..00000000000000 --- a/files/ru/web/css/@counter-style/index.html +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: '@counter-style' -slug: Web/CSS/@counter-style -tags: - - CSS CSS At-rule CSS Counter Styles Reference - - NeedsTranslation - - TopicStub -translation_of: Web/CSS/@counter-style ---- -

{{CSSRef}}

- -

Описание

- -

The @counter-style CSS at-rule lets authors define specific counter styles that are not part of the predefined set of styles. A @counter-style rule defines how to convert a counter value into a string representation.

- -

Initial version of CSS defined a set of useful counter styles. Although more styles where added to this set of predefined styles over the years, this restrictive way proved unable to fulfill the needs of worldwide typography. The @counter-style at-rule addresses this shortcoming in an open-ended manner, by allowing authors to define their own counter styles when the pre-defined styles aren't fitting their needs.

- -

Синтаксис

- -

Дескрипторы

- -

Each @counter-style is identified by a name and has a set of descriptors.

- -
-
{{cssxref("@counter-style/system", "system")}}
-
Specifies the algorithm to be used for converting the integer value of a counter to a string representation.
-
- -
-
{{cssxref("@counter-style/negative", "negative")}}
-
Lets the author specify symbols to be appended or prepended to the counter representation if the value is negative.
-
- -
-
{{cssxref("@counter-style/prefix", "prefix")}}
-
Specifies a symbol that should be prepended to the marker representation. Prefixes are added to the representation in the final stage, so in the final representation of the counter, it comes before the negative sign.
-
- -
-
{{cssxref("@counter-style/suffix", "suffix")}}
-
Specifies, similar to the prefix descriptor, a symbol that is appended to the marker representation. Prefixes come after the marker representation.
-
- -
-
{{cssxref("@counter-style/range", "range")}}
-
Defines the range of values over which the conter style is applicable. If a counter style is used to represent a counter value outside of its ranges, the counter style will drop back to its fallback style.
-
- -
-
{{cssxref("@counter-style/pad", "pad")}}
-
Is used when you need the marker representations to be of a minimum length. For example if you want the counters to start start at 01 and go through 02, 03, 04 etc, then the pad descriptor is to be used. For representations larger than the specified pad value, the marker is constructed as normal.
-
- -
-
{{cssxref("@counter-style/fallback", "fallback")}}
-
Specifies a system to fall back into if either the specified system is unable to construct the representation of or a counter value or if the counter value outside the specified range. If the specified fallback also fails to represent the value, then the fallback style's fallback is used, if one is specified. If there are either no fallback systems described or if the chain of fallback systems are unable to represent a counter value, then it will ultimately fall back to the decimal style.
-
- -
-
{{cssxref("@counter-style/symbols", "symbols")}}
-
Specifies the symbols that are to be used for the marker representations. Symbols can contain string, images or custom identifiers. How the symbols are used to construct the marker representation is up to the algorithm specified in the system descriptor. For example, if the system specified is fixed, then each of the N symbols specified in the descriptor will be used to represent the first N counter symbols. Once the specified set of symbols have exhausted, the fallback style will be used for the rest of the list.
-
- The below @counter-style rule uses images instead of character symbols.
- -
@counter-style winners-list {
-  system: fixed;
-  symbols: url(gold-medal.svg) url(silver-medal.svg) url(bronze-medal.svg);
-  suffix: " ";
-}
-
-
- -
-
{{cssxref("@counter-style/additive-symbols", "additive-symbols")}}
-
While the symbols specified in the symbols descriptor is used for constructing marker representation by most algorithms, some systems such as 'additive' rely on additive tuples described in this descriptor. Each additive tuple consists of a counter symbol and a non negative integer weight. The additive tuples must be specified in the descending order of their weights.
-
- -
-
{{cssxref("@counter-style/speak-as", "speak-as")}}
-
Describes how to read out the counter style in speech synthesizers, such as screen readers. For example, the value of the marker symbol can be read out as numbers or alphabets for ordered lists or as audio cues for unordered lists, based on the value of this descriptor.
-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Примеры

- -
@counter-style circled-alpha {
-  system: fixed;
-  symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ;
-  suffix: " ";
-}
- -

The above counter style rule can be applied to lists like this:

- -
.items {
-   list-style: circled-alpha;
-}
-
- -

Which will produce lists like this:

- -

Ⓐ One
- Ⓑ Two
- Ⓒ Three
- Ⓓ Four
- Ⓔ FIve
- ....
- ...
- Ⓨ Twenty Five
- Ⓩ Twenty Six

- -

27 Twenty Seven
- 28 Twenty Eight
- 29 Twenty Nine
- 30 Thirty

- -

Checkout more examples on the demo page.

- -

Спецификации

- - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарий
{{SpecName('CSS3 Counter Styles', '#the-counter-style-rule', 'counter-style')}}{{Spec2('CSS3 Counter Styles')}}Первоначальное определение
- -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/@counter-style/index.md b/files/ru/web/css/@counter-style/index.md new file mode 100644 index 00000000000000..fb7a5fd0c31a84 --- /dev/null +++ b/files/ru/web/css/@counter-style/index.md @@ -0,0 +1,137 @@ +--- +title: '@counter-style' +slug: Web/CSS/@counter-style +tags: + - CSS CSS At-rule CSS Counter Styles Reference + - NeedsTranslation + - TopicStub +translation_of: Web/CSS/@counter-style +--- +{{CSSRef}} + +## Описание + +The** `@counter-style`** [CSS](/en/CSS "CSS") [at-rule](/en/CSS/At-rule "en/CSS/At-rule") lets authors define specific counter styles that are not part of the predefined set of styles. A `@counter-style` rule defines how to convert a counter value into a string representation. + +Initial version of CSS defined a set of useful counter styles. Although more styles where added to this set of predefined styles over the years, this restrictive way proved unable to fulfill the needs of worldwide typography. The `@counter-style` at-rule addresses this shortcoming in an open-ended manner, by allowing authors to define their own counter styles when the pre-defined styles aren't fitting their needs. + +## Синтаксис + +### Дескрипторы + +Each `@counter-style` is identified by a name and has a set of descriptors. + +- {{cssxref("@counter-style/system", "system")}} + - : Specifies the algorithm to be used for converting the integer value of a counter to a string representation. + + + +- {{cssxref("@counter-style/negative", "negative")}} + - : Lets the author specify symbols to be appended or prepended to the counter representation if the value is negative. + + + +- {{cssxref("@counter-style/prefix", "prefix")}} + - : Specifies a symbol that should be prepended to the marker representation. Prefixes are added to the representation in the final stage, so in the final representation of the counter, it comes before the negative sign. + + + +- {{cssxref("@counter-style/suffix", "suffix")}} + - : Specifies, similar to the prefix descriptor, a symbol that is appended to the marker representation. Prefixes come after the marker representation. + + + +- {{cssxref("@counter-style/range", "range")}} + - : Defines the range of values over which the conter style is applicable. If a counter style is used to represent a counter value outside of its ranges, the counter style will drop back to its fallback style. + + + +- {{cssxref("@counter-style/pad", "pad")}} + - : Is used when you need the marker representations to be of a minimum length. For example if you want the counters to start start at 01 and go through 02, 03, 04 etc, then the pad descriptor is to be used. For representations larger than the specified pad value, the marker is constructed as normal. + + + +- {{cssxref("@counter-style/fallback", "fallback")}} + - : Specifies a system to fall back into if either the specified system is unable to construct the representation of or a counter value or if the counter value outside the specified range. If the specified fallback also fails to represent the value, then the fallback style's fallback is used, if one is specified. If there are either no fallback systems described or if the chain of fallback systems are unable to represent a counter value, then it will ultimately fall back to the decimal style. + + + +- {{cssxref("@counter-style/symbols", "symbols")}} + + - : Specifies the symbols that are to be used for the marker representations. Symbols can contain string, images or custom identifiers. How the symbols are used to construct the marker representation is up to the algorithm specified in the system descriptor. For example, if the system specified is fixed, then each of the N symbols specified in the descriptor will be used to represent the first N counter symbols. Once the specified set of symbols have exhausted, the fallback style will be used for the rest of the list. + + The below @counter-style rule uses images instead of character symbols. + + ```css + @counter-style winners-list { + system: fixed; + symbols: url(gold-medal.svg) url(silver-medal.svg) url(bronze-medal.svg); + suffix: " "; + } + ``` + + + +- {{cssxref("@counter-style/additive-symbols", "additive-symbols")}} + - : While the symbols specified in the symbols descriptor is used for constructing marker representation by most algorithms, some systems such as 'additive' rely on _additive tuples_ described in this descriptor. Each additive tuple consists of a counter symbol and a non negative integer weight. The additive tuples must be specified in the descending order of their weights. + + + +- {{cssxref("@counter-style/speak-as", "speak-as")}} + - : Describes how to read out the counter style in speech synthesizers, such as screen readers. For example, the value of the marker symbol can be read out as numbers or alphabets for ordered lists or as audio cues for unordered lists, based on the value of this descriptor. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +```css +@counter-style circled-alpha { + system: fixed; + symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ; + suffix: " "; +} +``` + +The above counter style rule can be applied to lists like this: + +```css +.items { + list-style: circled-alpha; +} +``` + +Which will produce lists like this: + +Ⓐ One +Ⓑ Two +Ⓒ Three +Ⓓ Four +Ⓔ FIve +.... +... +Ⓨ Twenty Five +Ⓩ Twenty Six + +27 Twenty Seven +28 Twenty Eight +29 Twenty Nine +30 Thirty + +Checkout more examples on the [demo page](https://mdn.github.io/css-counter-style-demo/). + +## Спецификации + +| Спецификация | Статус | Комментарий | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------- | -------------------------- | +| {{SpecName('CSS3 Counter Styles', '#the-counter-style-rule', 'counter-style')}} | {{Spec2('CSS3 Counter Styles')}} | Первоначальное определение | + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref("list-style")}}, {{Cssxref("list-style-image")}}, {{Cssxref("list-style-position")}} +- {{cssxref("symbols", "symbols()")}}, the functional notation creating anonymous counter styles. diff --git a/files/ru/web/css/@document/index.html b/files/ru/web/css/@document/index.html deleted file mode 100644 index cf27bb8f072fcd..00000000000000 --- a/files/ru/web/css/@document/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: '@document' -slug: Web/CSS/@document -translation_of: Web/CSS/@document ---- -
{{SeeCompatTable}}
- -

@document CSS at-rule ограничивает правила стиля, содержащиеся в нем, на основе URL-адреса документа. Он разработан в основном для пользовательских таблиц стилей, хотя он также может использоваться в авторских таблицах стилей.

- -
@document url("https://www.example.com/") {
-  h1 {
-    color: green;
-  }
-}
-
- -

Синтаксис

- -

Правило @document может указывать одну или несколько подходящих функций. Если какая-либо из функций применяется к данному URL-адресу, это правило вступит в силу для этого URL-адреса. Доступны следующие функции:

- - - -

Значения, предоставляемые функциям url(), url-prefix(), domain(), и media-document() могут быть необязательно заключены в одинарные или двойные кавычки. Значения, предоставляемые функции regexp() должны быть заключены в кавычки. .

- -

Экранированные значения, предоставляемые функции regexp() также должны быть экранированы из CSS. Например, . (период) соответствует любому символу в регулярных выражениях. Чтобы соответствовать буквальному периоду, вам сначала нужно избежать этого, используя правила регулярных выражений (\.), А затем убежать от этой строки с помощью правил CSS (\\.).

- -
-

Примечание: Существует версия -moz-prefixed этого свойства @-moz-document. Это было ограничено использованием только в пользовательских и UA-листах в Firefox 59 в Nightly and Beta - эксперименте, предназначенном для смягчения потенциальных атак с помощью CSS-инъекций ({{bug(1035091)}}).

-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Пример

- -

CSS

- -
@document url(http://www.w3.org/),
-          url-prefix(http://www.w3.org/Style/),
-          domain(mozilla.org),
-          media-document(video),
-          regexp("https:.*") {
-  /* CSS rules here apply to:
-     - The page "http://www.w3.org/"
-     - Any page whose URL begins with "http://www.w3.org/Style/"
-     - Any page whose URL's host is "mozilla.org"
-       or ends with ".mozilla.org"
-     - Any standalone video
-     - Any page whose URL starts with "https:" */
-
-  /* Make the above-mentioned pages really ugly */
-  body {
-    color: purple;
-    background: yellow;
-  }
-}
-
- -

Specifications

- -

Initially in {{SpecName('CSS3 Conditional')}}, @document has been postponed to Level 4.

- -

Browser compatibility

- - - -

{{Compat}}

- -

See also

- - - -
{{CSSRef}}
diff --git a/files/ru/web/css/@document/index.md b/files/ru/web/css/@document/index.md new file mode 100644 index 00000000000000..6e619884cdf7c4 --- /dev/null +++ b/files/ru/web/css/@document/index.md @@ -0,0 +1,76 @@ +--- +title: '@document' +slug: Web/CSS/@document +translation_of: Web/CSS/@document +--- +{{SeeCompatTable}} + +**`@document`** [CSS](/ru/docs/Web/CSS) [at-rule](/ru/docs/Web/CSS/At-rule) ограничивает правила стиля, содержащиеся в нем, на основе URL-адреса документа. Он разработан в основном для пользовательских таблиц стилей, хотя он также может использоваться в авторских таблицах стилей. + +```css +@document url("https://www.example.com/") { + h1 { + color: green; + } +} +``` + +## Синтаксис + +Правило `@document` может указывать одну или несколько подходящих функций. Если какая-либо из функций применяется к данному URL-адресу, это правило вступит в силу для этого URL-адреса. Доступны следующие функции: + +- `url()`, который соответствует точному URL-адресу. +- `url-prefix()`, который совпадает, если URL-адрес документа начинается с указанного значения. +- `domain()`, который совпадает, если URL-адрес документа находится в предоставленном домене (или его субдомене). +- `media-document()`,с параметром видео, изображения, плагина или всего. +- `regexp()`, который совпадает, если URL-адрес документа сопоставляется с предоставленным [регулярным выражением](/ru/docs/Web/JavaScript/Guide/Regular_Expressions). Выражение должно соответствовать всему URL-адресу. + +Значения, предоставляемые функциям `url()`, `url-prefix()`, `domain()`, и `media-document()` могут быть необязательно заключены в одинарные или двойные кавычки. Значения, предоставляемые функции `regexp()` должны быть заключены в кавычки. . + +Экранированные значения, предоставляемые функции `regexp()` также должны быть экранированы из CSS. Например, `.` (период) соответствует любому символу в регулярных выражениях. Чтобы соответствовать буквальному периоду, вам сначала нужно избежать этого, используя правила регулярных выражений (`\.`), А затем убежать от этой строки с помощью правил CSS (`\\.`). + +> **Примечание:** Существует версия -moz-prefixed этого свойства — `@-moz-document`. Это было ограничено использованием только в пользовательских и UA-листах в Firefox 59 в Nightly and Beta - эксперименте, предназначенном для смягчения потенциальных атак с помощью CSS-инъекций ({{bug(1035091)}}). + +### Формальный синтаксис + +{{csssyntax}} + +## Пример + +### CSS + +```css +@document url(http://www.w3.org/), + url-prefix(http://www.w3.org/Style/), + domain(mozilla.org), + media-document(video), + regexp("https:.*") { + /* CSS rules here apply to: + - The page "http://www.w3.org/" + - Any page whose URL begins with "http://www.w3.org/Style/" + - Any page whose URL's host is "mozilla.org" + or ends with ".mozilla.org" + - Any standalone video + - Any page whose URL starts with "https:" */ + + /* Make the above-mentioned pages really ugly */ + body { + color: purple; + background: yellow; + } +} +``` + +## Specifications + +[Initially](http://www.w3.org/TR/2012/WD-css3-conditional-20120911/#at-document) in {{SpecName('CSS3 Conditional')}}, `@document` has been [postponed](http://www.w3.org/TR/2012/WD-css3-conditional-20121213/#changes) to Level 4. + +## Browser compatibility + +{{Compat}} + +## See also + +- [Per-site user style sheet rules](http://lists.w3.org/Archives/Public/www-style/2004Aug/0135) on the www-style mailing list. + +{{CSSRef}} diff --git a/files/ru/web/css/@font-face/font-display/index.html b/files/ru/web/css/@font-face/font-display/index.html deleted file mode 100644 index 7e25467de1444f..00000000000000 --- a/files/ru/web/css/@font-face/font-display/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: font-display -slug: Web/CSS/@font-face/font-display -translation_of: Web/CSS/@font-face/font-display ---- -
{{CSSRef}}
- -

Описание

- -

Дескриптор font-display определяет то, как шрифт, подключённый через font face будет отображаться в зависимости от того, загрузился ли он и готов ли к использованию.

- -

Временная шкала отображения шрифтов

- -

Временная шкала отображения шрифтов основывается на таймере, который запускается в момент, когда пользовательский агент начинает попытки по применению загруженного шрифта. Эта временная шкала разделена на три отрезка, приведённых ниже, которые диктуют поведение рендеринга любых элементов с использованием шрифта.

- -
-
Период блокировки шрифта (Font block period)
-
Если шрифт не загружен, любой элемент, который пытается его использовать, должен быть отрендерен с невидимым запасным шрифтом. Если за это время шрифт успешно загружается, то он используется, как обычно.
-
Период подмены шрифта (Font swap period)
-
Если шрифт не загружен, любой элемент, который пытается его использовать, должен быть отрендерен запасным шрифтом. Если за это время шрифт успешно загружается, то он используется, как обычно.
-
Период отказа шрифта (Font failure period)
-
Если шрифт не загружен, пользовательский агент воспринимает это как неудачную загрузку и использует запасной шрифт.
-
- -

{{cssinfo}}

- -

Синтаксис

- -
/* Значения свойства */
-font-display: auto;
-font-display: block;
-font-display: swap;
-font-display: fallback;
-font-display: optional;
- -

Значения

- -
-
auto
-
Стратегию загрузки шрифта определяет пользовательский агент.
-
block
-
Для шрифта задаётся короткий период блокировки и бесконечный период подмены.
-
swap
-
Для шрифта не задаётся период блокировки и задаётся бесконечный период подмены.
-
fallback
-
Для шрифта задаётся очень короткий период блокировки и короткий период подмены.
-
optional
-
Для шрифта задаётся очень короткий период блокировки и не задаётся период подмены.
-
- -

Официальный синтаксис

- -{{csssyntax}} - -

Примеры

- -
@font-face {
-  font-family: ExampleFont;
-  src: url(/path/to/fonts/examplefont.woff) format('woff'),
-       url(/path/to/fonts/examplefont.eot) format('eot');
-  font-weight: 400;
-  font-style: normal;
-  font-display: fallback;
-}
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/@font-face/font-display/index.md b/files/ru/web/css/@font-face/font-display/index.md new file mode 100644 index 00000000000000..d4d5d847937e1e --- /dev/null +++ b/files/ru/web/css/@font-face/font-display/index.md @@ -0,0 +1,72 @@ +--- +title: font-display +slug: Web/CSS/@font-face/font-display +translation_of: Web/CSS/@font-face/font-display +--- +{{CSSRef}} + +## Описание + +Дескриптор `font-display` определяет то, как шрифт, подключённый через font face будет отображаться в зависимости от того, загрузился ли он и готов ли к использованию. + +### Временная шкала отображения шрифтов + +Временная шкала отображения шрифтов основывается на таймере, который запускается в момент, когда пользовательский агент начинает попытки по применению загруженного шрифта. Эта временная шкала разделена на три отрезка, приведённых ниже, которые диктуют поведение рендеринга любых элементов с использованием шрифта. + +- Период блокировки шрифта (Font block period) + - : Если шрифт не загружен, любой элемент, который пытается его использовать, должен быть отрендерен с невидимым запасным шрифтом. Если за это время шрифт успешно загружается, то он используется, как обычно. +- Период подмены шрифта (Font swap period) + - : Если шрифт не загружен, любой элемент, который пытается его использовать, должен быть отрендерен запасным шрифтом. Если за это время шрифт успешно загружается, то он используется, как обычно. +- Период отказа шрифта (Font failure period) + - : Если шрифт не загружен, пользовательский агент воспринимает это как неудачную загрузку и использует запасной шрифт. + +{{cssinfo}} + +## Синтаксис + +```css +/* Значения свойства */ +font-display: auto; +font-display: block; +font-display: swap; +font-display: fallback; +font-display: optional; +``` + +### Значения + +- auto + - : Стратегию загрузки шрифта определяет пользовательский агент. +- block + - : Для шрифта задаётся короткий период блокировки и бесконечный период подмены. +- swap + - : Для шрифта не задаётся период блокировки и задаётся бесконечный период подмены. +- fallback + - : Для шрифта задаётся очень короткий период блокировки и короткий период подмены. +- optional + - : Для шрифта задаётся очень короткий период блокировки и не задаётся период подмены. + +### Официальный синтаксис + +{{csssyntax}} + +## Примеры + +```css +@font-face { + font-family: ExampleFont; + src: url(/path/to/fonts/examplefont.woff) format('woff'), + url(/path/to/fonts/examplefont.eot) format('eot'); + font-weight: 400; + font-style: normal; + font-display: fallback; +} +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/@font-face/font-family/index.html b/files/ru/web/css/@font-face/font-family/index.html deleted file mode 100644 index 7739789f5f68d9..00000000000000 --- a/files/ru/web/css/@font-face/font-family/index.html +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: font-family -slug: Web/CSS/@font-face/font-family -tags: - - Шрифты - - дескрипторы -translation_of: Web/CSS/@font-face/font-family ---- -
{{CSSRef}}
- -

CSS дескриптор font-family позволяет авторам указывать font family для шрифта, указанного в правиле {{cssxref("@font-face")}}.

- -

{{cssinfo}}

- -

Синтаксис

- -
/* <string> значения */
-font-family: "font family";
-font-family: 'another font family';
-
-/* <custom-ident> значение */
-font-family: examplefont;
-
- -

Значения

- -
-
<family-name>
-
Указывает имя font family.
-
- -

Синтаксис

- -{{csssyntax}} - -

Примеры

- -
@font-face {
-  font-family: examplefont;
-  src: url('examplefont.ttf');
-}
-
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- - - -

{{Compat}}

diff --git a/files/ru/web/css/@font-face/font-family/index.md b/files/ru/web/css/@font-face/font-family/index.md new file mode 100644 index 00000000000000..4a48f5718be2e7 --- /dev/null +++ b/files/ru/web/css/@font-face/font-family/index.md @@ -0,0 +1,50 @@ +--- +title: font-family +slug: Web/CSS/@font-face/font-family +tags: + - Шрифты + - дескрипторы +translation_of: Web/CSS/@font-face/font-family +--- +{{CSSRef}} + +CSS дескриптор **`font-family`** позволяет авторам указывать font family для шрифта, указанного в правиле {{cssxref("@font-face")}}. + +{{cssinfo}} + +## Синтаксис + +```css +/* значения */ +font-family: "font family"; +font-family: 'another font family'; + +/* значение */ +font-family: examplefont; +``` + +### Значения + +- `` + - : Указывает имя font family. + +### Синтаксис + +{{csssyntax}} + +## Примеры + +```css +@font-face { + font-family: examplefont; + src: url('examplefont.ttf'); +} +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/@font-face/index.html b/files/ru/web/css/@font-face/index.html deleted file mode 100644 index 9c784f9803f693..00000000000000 --- a/files/ru/web/css/@font-face/index.html +++ /dev/null @@ -1,181 +0,0 @@ ---- -title: '@font-face' -slug: Web/CSS/@font-face -tags: - - '@font-face' - - At-rule - - CSS - - CSS Fonts - - NeedsTranslation - - Reference - - типографика -translation_of: Web/CSS/@font-face ---- -
@font-face CSS @-правило позволяет указать шрифты для отображения текста на веб-страницах, которые могут быть загружены либо с удалённого сервера, либо с компьютера пользователя. Если в правиле была объявлена функция local(), с названием шрифта, то будет производиться поиск на компьютере пользователя, и в случае обнаружения будет использован этот шрифт. Иначе будет скачан и использован шрифт, указанный в функции url().
- -
- -
@font-face позволяет разрабатывать контент не ограничиваясь набором "безопасных" шрифтов (шрифтов, которые настолько распространены, что считаются доступными по умолчанию). Возможность определить локально установленный шрифт позволяет более гибко настраивать шрифты не полагаясь на соединение с интернетом.
- -
- -
Распространённым случаем является одновременное использование url() и local(), чтобы использовать локальный шрифт, если он доступен, или иначе скачать копию шрифта.
- -
- -
Это правило может использоваться не только на верхнем уровне CSS, но и внутри любого @-правила.
- -
@font-face {
- font-family: "Open Sans";
- src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"),
-        url("/fonts/OpenSans-Regular-webfont.woff") format("woff");
-}
- -

Синтаксис

- -

Descriptors

- -
-
{{cssxref("@font-face/font-display", "font-display")}}
-
Определяет как отображается шрифт, основываясь на том, был ли он загружен и готов ли к использованию.
-
- -
-
{{cssxref("@font-face/font-family", "font-family")}}
-
Указывает имя шрифта, которое будет использоваться для задания свойств шрифта.
-
{{cssxref("@font-face/font-stretch", "font-stretch")}}
-
Значение {{cssxref("font-stretch")}}.
-
{{cssxref("@font-face/font-style", "font-style")}}
-
Значение {{cssxref("font-style")}}.
-
{{cssxref("@font-face/font-weight", "font-weight")}}
-
Значение {{cssxref("font-weight")}}.
-
{{cssxref("@font-face/font-variant", "font-variant")}}
-
Значение {{cssxref("font-variant")}}.
-
{{cssxref("@font-face/font-feature-settings", "font-feature-settings")}}
-
Позволяет контролировать другие расширенные особенности OpenType-шрифтов.
-
{{cssxref("@font-face/font-variation-settings", "font-variation-settings")}}
-
Позволяет осуществлять низкоуровневый контроль над вариациями OpenType и TrueType шрифтов, указывая четырёхбуквенные названия осей для изменения вместе с их значениями.
-
{{cssxref("@font-face/src", "src")}}
-
Задаёт ресурс, содержащий данные шрифта. Это может быть URL-адрес расположения удалённого файла шрифта или имя шрифта на компьютере пользователя.
-
- Чтобы дать браузеру возможность выбрать наиболее подходящий формат шрифта, его можно указать при объявлении внутри функции format():

- -
src: url(ideal-sans-serif.woff) format("woff"),
-     url(basic-sans-serif.ttf) format("opentype");
-
- -

Список доступных форматов: "woff", "woff2", "truetype", "opentype", "embedded-opentype", и "svg".

-
-
- -
-
{{cssxref("@font-face/unicode-range", "unicode-range")}}
-
Диапазон Unicode кодов, который будет использоваться в шрифте.
-
- -

Formal syntax

- -{{csssyntax}} - -

Примеры

- -

Этот пример просто указывает загружаемый шрифт для использования и применяет его ко всему телу документа:

- -

Смотреть живой пример

- -
<html>
-<head>
-  <title>Web Font Sample</title>
-  <style type="text/css" media="screen, print">
-    @font-face {
-      font-family: "Bitstream Vera Serif Bold";
-      src: url("https://mdn.mozillademos.org/files/2468/VeraSeBd.ttf");
-    }
-
-    body { font-family: "Bitstream Vera Serif Bold", serif }
-  </style>
-</head>
-<body>
-  This is Bitstream Vera Serif Bold.
-</body>
-</html>
-
- -

В этом примере используется локальный пользовательский шрифт "Helvetica Neue Bold"; если у пользователя этот шрифт не установлен (используются два различных имени), тогда вместо него используется загружаемый шрифт с названием "MgOpenModernaBold.ttf":

- -
@font-face {
-  font-family: MyHelvetica;
-  src: local("Helvetica Neue Bold"),
-       local("HelveticaNeue-Bold"),
-       url(MgOpenModernaBold.ttf);
-  font-weight: bold;
-}
-
- -

MIME-типы шрифтов

- - - - - - - - - - - - - - - - - - - - - - - - - - -
ФорматMIME-тип
TrueTypefont/ttf
OpenTypefont/otf
Web Open File Formatfont/woff
Web Open File Format 2font/woff2
- -

Примечания

- -
    -
  • Веб шрифты попадают под правило ограничения домена (файлы шрифтов должны находиться на том же самом домене, что и использующая их страница), если это ограничение не снимается с помощью CORS.
  • -
  • @font-face не может быть объявлен внутри CSS-селектора. Следующий пример не будет работать: -
    .className {
    -  @font-face {
    -    font-family: MyHelvetica;
    -    src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"),
    -        url(MgOpenModernaBold.ttf);
    -    font-weight: bold;
    -  }
    -}
    -
  • -
- -

Спецификации

- -{{Specifications}} - -

Browser compatibility

- -

{{Compat}}

- -

See also

- - - -

{{CSSRef}}

diff --git a/files/ru/web/css/@font-face/index.md b/files/ru/web/css/@font-face/index.md new file mode 100644 index 00000000000000..982992f24fdf34 --- /dev/null +++ b/files/ru/web/css/@font-face/index.md @@ -0,0 +1,145 @@ +--- +title: '@font-face' +slug: Web/CSS/@font-face +tags: + - '@font-face' + - At-rule + - CSS + - CSS Fonts + - NeedsTranslation + - Reference + - типографика +translation_of: Web/CSS/@font-face +--- +**`@font-face`** [CSS](/ru/docs/CSS) [@-правило](/ru/docs/CSS/At-rule) позволяет указать шрифты для отображения текста на веб-страницах, которые могут быть загружены либо с удалённого сервера, либо с компьютера пользователя. Если в правиле была объявлена функция `local()`, с названием шрифта, то будет производиться поиск на компьютере пользователя, и в случае обнаружения будет использован этот шрифт. Иначе будет скачан и использован шрифт, указанный в функции `url()`.`@font-face` позволяет разрабатывать контент не ограничиваясь набором "безопасных" шрифтов (шрифтов, которые настолько распространены, что считаются доступными по умолчанию). Возможность определить локально установленный шрифт позволяет более гибко настраивать шрифты не полагаясь на соединение с интернетом.Распространённым случаем является одновременное использование `url()` и `local()`, чтобы использовать локальный шрифт, если он доступен, или иначе скачать копию шрифта.Это правило может использоваться не только на верхнем уровне CSS, но и внутри любого [@-правила](/ru/docs/CSS/At-rule). + +```css +@font-face { + font-family: "Open Sans"; + src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"), + url("/fonts/OpenSans-Regular-webfont.woff") format("woff"); +} +``` + +## Синтаксис + +### Descriptors + +- {{cssxref("@font-face/font-display", "font-display")}} + - : Определяет как отображается шрифт, основываясь на том, был ли он загружен и готов ли к использованию. + + + +- {{cssxref("@font-face/font-family", "font-family")}} + - : Указывает имя шрифта, которое будет использоваться для задания свойств шрифта. +- {{cssxref("@font-face/font-stretch", "font-stretch")}} + - : Значение {{cssxref("font-stretch")}}. +- {{cssxref("@font-face/font-style", "font-style")}} + - : Значение {{cssxref("font-style")}}. +- {{cssxref("@font-face/font-weight", "font-weight")}} + - : Значение {{cssxref("font-weight")}}. +- {{cssxref("@font-face/font-variant", "font-variant")}} + - : Значение {{cssxref("font-variant")}}. +- {{cssxref("@font-face/font-feature-settings", "font-feature-settings")}} + - : Позволяет контролировать другие расширенные особенности OpenType-шрифтов. +- {{cssxref("@font-face/font-variation-settings", "font-variation-settings")}} + - : Позволяет осуществлять низкоуровневый контроль над вариациями OpenType и TrueType шрифтов, указывая четырёхбуквенные названия осей для изменения вместе с их значениями. +- {{cssxref("@font-face/src", "src")}} + + - : Задаёт ресурс, содержащий данные шрифта. Это может быть URL-адрес расположения удалённого файла шрифта или имя шрифта на компьютере пользователя. + + Чтобы дать браузеру возможность выбрать наиболее подходящий формат шрифта, его можно указать при объявлении внутри функции `format()`: + src: url(ideal-sans-serif.woff) format("woff"), + url(basic-sans-serif.ttf) format("opentype");Список доступных форматов: `"woff"`, `"woff2"`, `"truetype"`, `"opentype"`, `"embedded-opentype"`, и `"svg"`. + + + +- {{cssxref("@font-face/unicode-range", "unicode-range")}} + - : Диапазон Unicode кодов, который будет использоваться в шрифте. + +### Formal syntax + +{{csssyntax}} + +## Примеры + +Этот пример просто указывает загружаемый шрифт для использования и применяет его ко всему телу документа: + +[Смотреть живой пример](https://mdn.mozillademos.org/files/7775/webfont-sample.html) + +```html + + + Web Font Sample + + + + This is Bitstream Vera Serif Bold. + + +``` + +В этом примере используется локальный пользовательский шрифт "Helvetica Neue Bold"; если у пользователя этот шрифт не установлен (используются два различных имени), тогда вместо него используется загружаемый шрифт с названием "MgOpenModernaBold.ttf": + +```css +@font-face { + font-family: MyHelvetica; + src: local("Helvetica Neue Bold"), + local("HelveticaNeue-Bold"), + url(MgOpenModernaBold.ttf); + font-weight: bold; +} +``` + +## MIME-типы шрифтов + +| Формат | MIME-тип | +| ---------------------- | ------------ | +| TrueType | `font/ttf` | +| OpenType | `font/otf` | +| Web Open File Format | `font/woff` | +| Web Open File Format 2 | `font/woff2` | + +## Примечания + +- Веб шрифты попадают под правило ограничения домена (файлы шрифтов должны находиться на том же самом домене, что и использующая их страница), если это ограничение не снимается с помощью [CORS](/ru/docs/Glossary/CORS). +- @font-face не может быть объявлен внутри CSS-селектора. Следующий пример не будет работать: + + ```css example-bad + .className { + @font-face { + font-family: MyHelvetica; + src: local("Helvetica Neue Bold"), local("HelveticaNeue-Bold"), + url(MgOpenModernaBold.ttf); + font-weight: bold; + } + } + ``` + +## Спецификации + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- [About WOFF](/ru/docs/WOFF) +- [Everythingfonts font-face generator](https://everythingfonts.com/font-face) +- [FontSquirrel @font-face generator](http://www.fontsquirrel.com/fontface/generator) +- [Beautiful fonts with @font-face](http://hacks.mozilla.org/2009/06/beautiful-fonts-with-font-face/) +- [Open Font Library](http://openfontlibrary.org/) +- [Microsoft Developer Network (MSDN) @font-face reference]() +- [When can I use WOFF?](http://caniuse.com/woff) +- [When can I use SVG Fonts?](http://caniuse.com/svg-fonts) + +{{CSSRef}} diff --git a/files/ru/web/css/@font-feature-values/index.html b/files/ru/web/css/@font-feature-values/index.html deleted file mode 100644 index a89f9d3b089312..00000000000000 --- a/files/ru/web/css/@font-feature-values/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: '@font-feature-values' -slug: Web/CSS/@font-feature-values -translation_of: Web/CSS/@font-feature-values ---- -
{{CSSRef}}
- -

CSS правило @font-feature-values позволяет использовать общее имя в свойстве {{cssxref("font-variant-alternates")}} для функций, которые по разному активируются в OpenType. Это может помочь упростить ваш CSS при использовании нескольких шрифтов.

- -
/* Правило для "хорошего стиля" в Font One */
-@font-feature-values Font One {
-  @styleset {
-    nice-style: 12;
-  }
-}
-
-/* Правило для "хорошего стиля" в Font Two */
-@font-feature-values Font Two {
-  @styleset {
-    nice-style: 4;
-  }
-}
-
-…
-
-/* Применение правила с единственным объявлением */
-.nice-look {
-  font-variant-alternates: styleset(nice-style);
-}
-
- -

Правило @font-feature-values может использоваться как на вернём уровне вашего CSS так и внутри любого условного CSS-правила.

- -

Синтаксис

- -

Блоки значений функций

- -
-
@swash
-
Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "swash()", "#swash()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции swash допускает только одно значение: ident1: 2 является действительным, но ident2: 2 4 нет.
-
@annotation
-
Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "annotation()", "#annotation()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции допускает только одно значение: ident1: 2 действительным , но ident2: 2 4 нет.
-
@ornaments
-
Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "ornaments()", "#ornaments()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции ornaments допускает только одно значение: ident1: 2 является действительным, но ident2: 2 4 нет.
-
@stylistic
-
Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "stylistic()", "#stylistic()")}} functional notation of {{cssxref("font-variant-alternates")}}. A stylistic feature value definition allows only one value: ident1: 2 is valid, but ident2: 2 4 isn't.
-
@styleset
-
Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "styleset()", "#styleset()")}} functional notation of {{cssxref("font-variant-alternates")}}. A stylset feature value definition allows an unlimited number of values: ident1: 2 4 12 1 maps to the OpenType values ss02, ss04, ss12, and ss01. Note that values higher than 99 are valid, but don't map to any OpenType values and are ignored.
-
@character-variant
-
Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "character-variant()", "#character-variant()")}} functional notation of {{cssxref("font-variant-alternates")}}. A character-variant feature value definition allows either one or two values: ident1: 3 maps to cv03=1, and ident2: 2 4 maps to cv02=4, but ident2: 2 4 5 is invalid.
-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

- -
-

{{Compat}}

-
- -

Смотрите также

- -
    -
  • Свойство {{cssxref("font-variant-alternates")}} которое использует значения, определённые этим правилом.
  • -
diff --git a/files/ru/web/css/@font-feature-values/index.md b/files/ru/web/css/@font-feature-values/index.md new file mode 100644 index 00000000000000..d47cd06067bbda --- /dev/null +++ b/files/ru/web/css/@font-feature-values/index.md @@ -0,0 +1,66 @@ +--- +title: '@font-feature-values' +slug: Web/CSS/@font-feature-values +translation_of: Web/CSS/@font-feature-values +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS "CSS") [правило](/ru/docs/Web/CSS/At-rule "At-rule") **`@font-feature-values`** позволяет использовать общее имя в свойстве {{cssxref("font-variant-alternates")}} для функций, которые по разному активируются в OpenType. Это может помочь упростить ваш CSS при использовании нескольких шрифтов. + +```css +/* Правило для "хорошего стиля" в Font One */ +@font-feature-values Font One { + @styleset { + nice-style: 12; + } +} + +/* Правило для "хорошего стиля" в Font Two */ +@font-feature-values Font Two { + @styleset { + nice-style: 4; + } +} + +… + +/* Применение правила с единственным объявлением */ +.nice-look { + font-variant-alternates: styleset(nice-style); +} +``` + +Правило `@font-feature-values` может использоваться как на вернём уровне вашего CSS так и внутри любого [условного CSS-правила](/ru/docs/Web/CSS/At-rule#Conditional_Group_Rules "CSS/At-rule#Conditional_Group_Rules"). + +## Синтаксис + +### Блоки значений функций + +- `@swash` + - : Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "swash()", "#swash()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции swash допускает только одно значение: `ident1: 2` является действительным, но `ident2: 2 4` нет. +- `@annotation` + - : Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "annotation()", "#annotation()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции допускает только одно значение: `ident1: 2` действительным , но `ident2: 2 4` нет. +- `@ornaments` + - : Устанавливает имя функции, которая будет работать с функциональной записью {{cssxref("font-variant-alternates", "ornaments()", "#ornaments()")}} для {{cssxref("font-variant-alternates")}}. Определение значения функции ornaments допускает только одно значение: `ident1: 2` является действительным, но `ident2: 2 4` нет. +- `@stylistic` + - : Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "stylistic()", "#stylistic()")}} functional notation of {{cssxref("font-variant-alternates")}}. A stylistic feature value definition allows only one value: `ident1: 2` is valid, but `ident2: 2 4` isn't. +- `@styleset` + - : Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "styleset()", "#styleset()")}} functional notation of {{cssxref("font-variant-alternates")}}. A stylset feature value definition allows an unlimited number of values: `ident1: 2 4 12 1` maps to the OpenType values `ss02`, `ss04`, `ss12`, and `ss01`. Note that values higher than `99` are valid, but don't map to any OpenType values and are ignored. +- `@character-variant` + - : Specifies a feature name that will work with the {{cssxref("font-variant-alternates", "character-variant()", "#character-variant()")}} functional notation of {{cssxref("font-variant-alternates")}}. A character-variant feature value definition allows either one or two values: `ident1: 3` maps to `cv03=1`, and `ident2: 2 4` maps to `cv02=4`, but `ident2: 2 4 5` is invalid. + +### Формальный синтаксис + +{{csssyntax}} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- Свойство {{cssxref("font-variant-alternates")}} которое использует значения, определённые этим правилом. diff --git a/files/ru/web/css/@media/index.html b/files/ru/web/css/@media/index.html deleted file mode 100644 index 743032c00c316b..00000000000000 --- a/files/ru/web/css/@media/index.html +++ /dev/null @@ -1,252 +0,0 @@ ---- -title: '@media' -slug: Web/CSS/@media -translation_of: Web/CSS/@media ---- -

{{CSSRef}}

- -

Описание

- -

At-правило @media в CSS связывает набор операторов, ограниченных фигурными скобками, в CSS блок, применяется при соблюдении условия одного или нескольких медиавыражений.

- -
-

В JavaScript, at-правило @media может быть получено с помощью {{domxref("CSSMediaRule")}}, интерфейса объектной модели CSS.

-
- -

Синтаксис

- -

At-правило @media можно разместить не только на верхнем уровне CSS, но и внутри любого фрагмента условной группы-правил.

- -
/* На верхнем уровне кода */
-@media screen and (min-width: 900px) {
-  article {
-    padding: 1rem 3rem;
-  }
-}
-
-/* Вложено в другое условное at-правило */
-@supports (display: flex) {
-  @media screen and (min-width: 900px) {
-    article {
-      display: flex;
-    }
-  }
-}
- -

Для рассмотрения синтаксиса медиавыражений, см. Использование медиавыражений.

- -

Формальный синтаксис

- -{{csssyntax}} - -

A <media-query> is composed of a optional media type and/or a number of media features.

- -

Типы

- -
-
all
-
Подходит для всех устройств.
-
print
-
Intended for paged material and for documents viewed on screen in print preview mode. Please consult the section on paged media, and the media section of the Getting Started tutorial for information about formatting issues that are specific to paged media.
-
screen
-
Предназначен в первую очередь для цветных компьютерных экранов.
-
speech
-
Предназначен для синтезаторов речи.
-
- -
Примечание: CSS2.1 и Media Queries 3 определили несколько дополнительных значений (tty, tv, projection, handheld, braille, embossed, aural), но они устарели в Media Queries 4 и не рекомендуется к использованию.
- -

Media Features

- -

Each media feature tests for one specific feature of the browser or device.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ИмяSummaryNotes
widthViewport width
heightViewport height
aspect-ratioWidth-to-height aspect ratio of the viewport
orientationOrientation of the viewport
resolutionPixel density of the output device
scanScanning process of the output device
gridIs the device a grid or bitmap?
update-frequencyHow quickly (if at all) can the output device modify the appearance of the contentAdded in Media Queries Level 4
overflow-blockHow does the output device handle content that overflows the viewport along the block axis?Added in Media Queries Level 4
overflow-inlineCan content that overflows the viewport along the inline axis be scrolled?Added in Media Queries Level 4
colorNumber of bits per color component of the output device, or zero if the device isn't color.
color-indexNumber of entries in the output device's color lookup table, or zero if the device does not use such a table.
display-modeThe display mode of the application, as specified in the web app manifest's display member.Defined in the Web App Manifest spec.
monochromeBits per pixel in the output device's monochrome frame buffer, or 0 if the device is not monochrome.
inverted-colorsIs the user agent or underlying OS inverting colors?Added in Media Queries Level 4
pointerIs the primary input mechanism a pointing device, and if so, how accurate is it?Added in Media Queries Level 4
hoverDoes the primary input mechanism allow the user to hover over elements?Added in Media Queries Level 4
any-pointerIs any available input mechanism a pointing device, and if so, how accurate is it?Added in Media Queries Level 4
any-hoverDoes any available input mechanism allow the user to hover over elements?Added in Media Queries Level 4
light-levelCurrent ambient light levelAdded in Media Queries Level 4
scriptingIs scripting (e.g. JavaScript) available?Added in Media Queries Level 4
device-width {{obsolete_inline}}Width of the rendering surface of the output deviceDeprecated in Media Queries Level 4
device-height {{obsolete_inline}}Height of the rendering surface of the output deviceDeprecated in Media Queries Level 4
device-aspect-ratio {{obsolete_inline}}Width-to-height aspect ratio of the output deviceDeprecated in Media Queries Level 4
-webkit-device-pixel-ratio {{non-standard_inline}}Number of physical device pixels per CSS pixelNonstandard; WebKit/Blink-specific. If possible, use the resolution media feature instead.
-webkit-transform-3d {{non-standard_inline}}Are CSS 3D {{cssxref("transform")}}s supported?Nonstandard; WebKit/Blink-specific
-webkit-transform-2d {{non-standard_inline}}Are CSS 2D {{cssxref("transform")}}s supported?Nonstandard; WebKit-specific
-webkit-transition {{non-standard_inline}}Are CSS {{cssxref("transition")}}s supported?Nonstandard; WebKit-specific
-webkit-animation {{non-standard_inline}}Are CSS {{cssxref("animation")}}s supported?Nonstandard; WebKit-specific
- -

Примеры

- -
@media print {
-  body { font-size: 10pt }
-}
-@media screen {
-  body { font-size: 13px }
-}
-@media screen, print {
-  body { line-height: 1.2 }
-}
-@media only screen
-  and (min-device-width: 320px)
-  and (max-device-width: 480px)
-  and (-webkit-min-device-pixel-ratio: 2) {
-    body { line-height: 1.4 }
-}
-
- -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • Media queries
  • -
  • The CSSOM {{ domxref("CSSMediaRule") }} associated with this at-rule.
  • -
diff --git a/files/ru/web/css/@media/index.md b/files/ru/web/css/@media/index.md new file mode 100644 index 00000000000000..844acc5cdd4f5a --- /dev/null +++ b/files/ru/web/css/@media/index.md @@ -0,0 +1,124 @@ +--- +title: '@media' +slug: Web/CSS/@media +translation_of: Web/CSS/@media +--- +{{CSSRef}} + +## Описание + +At-правило `@media` в [CSS](/ru/docs/Web/CSS) связывает набор операторов, ограниченных фигурными скобками, в CSS блок, применяется при соблюдении условия одного или нескольких [медиавыражений](/ru/docs/Web/CSS/Media_Queries/Using_media_queries). + +> **Примечание:** В JavaScript, at-правило `@media` может быть получено с помощью {{domxref("CSSMediaRule")}}, интерфейса объектной модели CSS. + +## Синтаксис + +At-правило `@media` можно разместить не только на верхнем уровне CSS, но и внутри любого фрагмента [условной группы-правил](/ru/docs/Web/CSS/At-rule#Conditional_group_rules). + +```css +/* На верхнем уровне кода */ +@media screen and (min-width: 900px) { + article { + padding: 1rem 3rem; + } +} + +/* Вложено в другое условное at-правило */ +@supports (display: flex) { + @media screen and (min-width: 900px) { + article { + display: flex; + } + } +} +``` + +Для рассмотрения синтаксиса медиавыражений, см. [Использование медиавыражений](/ru/docs/Web/CSS/Media_Queries/Using_media_queries#Syntax). + +### Формальный синтаксис + +{{csssyntax}} + +A `` is composed of a optional media type and/or a number of media features. + +## Типы + +- all + - : Подходит для всех устройств. +- print + - : Intended for paged material and for documents viewed on screen in print preview mode. Please consult the section on [paged media](/en/CSS/Paged_Media "https://developer.mozilla.org/en/CSS/Paged_Media"), and the [media section of the Getting Started tutorial](/en/CSS/Getting_Started/Media "https://developer.mozilla.org/en/CSS/Getting_Started/Media") for information about formatting issues that are specific to paged media. +- screen + - : Предназначен в первую очередь для цветных компьютерных экранов. +- speech + - : Предназначен для синтезаторов речи. + +> **Примечание:** CSS2.1 и Media Queries 3 определили несколько дополнительных значений (`tty`, `tv`, `projection`, `handheld`, `braille`, `embossed`, `aural`), но они устарели в [Media Queries 4](http://dev.w3.org/csswg/mediaqueries/#media-types) и не рекомендуется к использованию. + +## Media Features + +Each _media feature_ tests for one specific feature of the browser or device. + +| Имя | Summary | Notes | +| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| [`width`](/ru/docs/Web/CSS/@media/width) | Viewport width | | +| [`height`](/ru/docs/Web/CSS/@media/height) | Viewport height | | +| [`aspect-ratio`](/ru/docs/Web/CSS/@media/aspect-ratio) | Width-to-height aspect ratio of the viewport | | +| [`orientation`](/ru/docs/Web/CSS/@media/orientation) | Orientation of the viewport | | +| [`resolution`](/ru/docs/Web/CSS/@media/resolution) | Pixel density of the output device | | +| [`scan`](/ru/docs/Web/CSS/@media/scan) | Scanning process of the output device | | +| [`grid`](/ru/docs/Web/CSS/@media/grid) | Is the device a grid or bitmap? | | +| [`update-frequency`](/ru/docs/Web/CSS/@media/update-frequency) | How quickly (if at all) can the output device modify the appearance of the content | Added in Media Queries Level 4 | +| [`overflow-block`](/ru/docs/Web/CSS/@media/overflow-block) | How does the output device handle content that overflows the viewport along the block axis? | Added in Media Queries Level 4 | +| [`overflow-inline`](/ru/docs/Web/CSS/@media/overflow-inline) | Can content that overflows the viewport along the inline axis be scrolled? | Added in Media Queries Level 4 | +| [`color`](/ru/docs/Web/CSS/@media/color) | Number of bits per color component of the output device, or zero if the device isn't color. | | +| [`color-index`](/ru/docs/Web/CSS/@media/color-index) | Number of entries in the output device's color lookup table, or zero if the device does not use such a table. | | +| [`display-mode`](/en-US/docs/Web/CSS/@media/display-mode) | The display mode of the application, as specified in the web app manifest's [display member](/ru/docs/Web/Manifest#display). | Defined in the [Web App Manifest spec](http://w3c.github.io/manifest/#the-display-mode-media-feature). | +| [`monochrome`](/ru/docs/Web/CSS/@media/monochrome) | Bits per pixel in the output device's monochrome frame buffer, or 0 if the device is not monochrome. | | +| [`inverted-colors`](/ru/docs/Web/CSS/@media/inverted-colors) | Is the user agent or underlying OS inverting colors? | Added in Media Queries Level 4 | +| [`pointer`](/ru/docs/Web/CSS/@media/pointer) | Is the primary input mechanism a pointing device, and if so, how accurate is it? | Added in Media Queries Level 4 | +| [`hover`](/ru/docs/Web/CSS/@media/hover) | Does the primary input mechanism allow the user to hover over elements? | Added in Media Queries Level 4 | +| [`any-pointer`](/ru/docs/Web/CSS/@media/any-pointer) | Is any available input mechanism a pointing device, and if so, how accurate is it? | Added in Media Queries Level 4 | +| [`any-hover`](/ru/docs/Web/CSS/@media/any-hover) | Does any available input mechanism allow the user to hover over elements? | Added in Media Queries Level 4 | +| [`light-level`](/ru/docs/Web/CSS/@media/light-level) | Current ambient light level | Added in Media Queries Level 4 | +| [`scripting`](/ru/docs/Web/CSS/@media/scripting) | Is scripting (e.g. JavaScript) available? | Added in Media Queries Level 4 | +| [`device-width`](/ru/docs/Web/CSS/@media/device-width) {{obsolete_inline}} | Width of the rendering surface of the output device | Deprecated in Media Queries Level 4 | +| [`device-height`](/ru/docs/Web/CSS/@media/device-height) {{obsolete_inline}} | Height of the rendering surface of the output device | Deprecated in Media Queries Level 4 | +| [`device-aspect-ratio`](/ru/docs/Web/CSS/@media/device-aspect-ratio) {{obsolete_inline}} | Width-to-height aspect ratio of the output device | Deprecated in Media Queries Level 4 | +| [`-webkit-device-pixel-ratio`](/ru/docs/Web/CSS/@media/-webkit-device-pixel-ratio) {{non-standard_inline}} | Number of physical device pixels per CSS pixel | Nonstandard; WebKit/Blink-specific. If possible, use the [`resolution`](/ru/docs/Web/CSS/@media/resolution) media feature instead. | +| [`-webkit-transform-3d`](/ru/docs/Web/CSS/@media/-webkit-transform-3d) {{non-standard_inline}} | Are CSS 3D {{cssxref("transform")}}s supported? | Nonstandard; WebKit/Blink-specific | +| [`-webkit-transform-2d`](/ru/docs/Web/CSS/@media/-webkit-transform-2d) {{non-standard_inline}} | Are CSS 2D {{cssxref("transform")}}s supported? | Nonstandard; WebKit-specific | +| [`-webkit-transition`](/ru/docs/Web/CSS/@media/-webkit-transition) {{non-standard_inline}} | Are CSS {{cssxref("transition")}}s supported? | Nonstandard; WebKit-specific | +| [`-webkit-animation`](/ru/docs/Web/CSS/@media/-webkit-animation) {{non-standard_inline}} | Are CSS {{cssxref("animation")}}s supported? | Nonstandard; WebKit-specific | + +## Примеры + +```css +@media print { + body { font-size: 10pt } +} +@media screen { + body { font-size: 13px } +} +@media screen, print { + body { line-height: 1.2 } +} +@media only screen + and (min-device-width: 320px) + and (max-device-width: 480px) + and (-webkit-min-device-pixel-ratio: 2) { + body { line-height: 1.4 } +} +``` + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- [Media queries](/en/CSS/Media_queries "En/CSS/Media queries") +- The CSSOM {{ domxref("CSSMediaRule") }} associated with this at-rule. diff --git a/files/ru/web/css/@media/inverted-colors/index.html b/files/ru/web/css/@media/inverted-colors/index.html deleted file mode 100644 index a900b6eb7a094f..00000000000000 --- a/files/ru/web/css/@media/inverted-colors/index.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: inverted-colors -slug: Web/CSS/@media/inverted-colors -tags: - - '@media' - - CSS - - Media Queries - - Reference - - media feature -translation_of: Web/CSS/@media/inverted-colors ---- -
{{cssref}}
- -

CSS медиа функция inverted-colors может использоваться для проверки, инвертирует ли {{glossary("user agent")}} или ОС цвета.

- -

Синтаксис

- -

Функция inverted-colors указана в качестве значения ключевого слова, выбранного из списка ниже.

- -
-
none
-
-

Цвета отображаются нормально.

-
-
inverted
-
Все пиксели в отображаемой области были инвертированы.
-
- -

Пример

- -

HTML

- -
<p>Если вы используете инвертированные цвета, этот текст должен быть синим по белому (инверсия жёлтого по чёрному). Если нет, он должен быть красным на светло-сером.</p>
-<p>Если текст серого цвета, ваш браузер не поддерживает медиа-функцию `inverted-colors`.</p>
- -

CSS

- -
p {
-  color: gray;
-}
-
-@media (inverted-colors: inverted) {
-  p {
-    background: black;
-    color: yellow;
-  }
-}
-
-@media (inverted-colors: none) {
-  p {
-    background: #eee;
-    color: red;
-  }
-}
- -

Result

- -

{{EmbedLiveSample("Пример")}}

- -

Спецификация

- -{{Specifications}} - -

Совместимость с браузерами

- - - -

{{Compat}}

diff --git a/files/ru/web/css/@media/inverted-colors/index.md b/files/ru/web/css/@media/inverted-colors/index.md new file mode 100644 index 00000000000000..393cdf2a1b7791 --- /dev/null +++ b/files/ru/web/css/@media/inverted-colors/index.md @@ -0,0 +1,66 @@ +--- +title: inverted-colors +slug: Web/CSS/@media/inverted-colors +tags: + - '@media' + - CSS + - Media Queries + - Reference + - media feature +translation_of: Web/CSS/@media/inverted-colors +--- +{{cssref}} + +[CSS](/ru/docs/Web/CSS) [медиа функция](/ru/docs/Web/CSS/Media_Queries/Using_media_queries) **`inverted-colors`** может использоваться для проверки, инвертирует ли {{glossary("user agent")}} или ОС цвета. + +## Синтаксис + +Функция `inverted-colors` указана в качестве значения ключевого слова, выбранного из списка ниже. + +- `none` + - : Цвета отображаются нормально. +- `inverted` + - : Все пиксели в отображаемой области были инвертированы. + +## Пример + +### HTML + +```html +

Если вы используете инвертированные цвета, этот текст должен быть синим по белому (инверсия жёлтого по чёрному). Если нет, он должен быть красным на светло-сером.

+

Если текст серого цвета, ваш браузер не поддерживает медиа-функцию `inverted-colors`.

+``` + +### CSS + +```css +p { + color: gray; +} + +@media (inverted-colors: inverted) { + p { + background: black; + color: yellow; + } +} + +@media (inverted-colors: none) { + p { + background: #eee; + color: red; + } +} +``` + +### Result + +{{EmbedLiveSample("Пример")}} + +## Спецификация + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/@media/orientation/index.html b/files/ru/web/css/@media/orientation/index.html deleted file mode 100644 index 4158cb9de42eaf..00000000000000 --- a/files/ru/web/css/@media/orientation/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: Ориентация -slug: Web/CSS/@media/orientation -translation_of: Web/CSS/@media/orientation ---- -
{{cssref}}
- -

CSS медиа-функции orientation может использоваться для проверки ориентации области {{glossary("просмотра")}} (или поля страницы для медийных страниц).

- -
-

Примечание: Эта функция не соответствует ориентации устройства. Открытие программной клавиатуры на многих устройствах в книжной ориентации приведёт к тому, что область просмотра станет шире, чем высокая, в результате чего браузер будет использовать альбомные стили вместо портретного.

-
- -

Синтаксис

- -

Функция orientation указывается в качестве значения ключевого слова, выбранного из списка ниже.

- -

Значения ключевых слов

- -
-
portrait
-
Окно просмотра находится в портретной ориентации, то есть высота больше или равна ширине.
-
landscape
-
Окно просмотра находится в альбомной ориентации, то есть ширина больше высоты.
-
- -

Пример

- -

HTML

- -
<div>Вставка 1</div>
-<div>Вставка 2</div>
-<div>Вставка 3</div>
-
- -

CSS

- -
body {
-  display: flex;
-}
-
-div {
-  background: yellow;
-}
-
-@media (orientation: landscape) {
-  body {
-    flex-direction: row;
-  }
-}
-
-@media (orientation: portrait) {
-  body {
-    flex-direction: column;
-  }
-}
- -

Результат

- -

{{EmbedLiveSample("Пример")}}

- -

Характеристики

- - - - - - - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарий
{{SpecName('CSS4 Media Queries', '#orientation', 'orientation')}}{{Spec2('CSS4 Media Queries')}}Бе изменений.
{{SpecName('CSS3 Media Queries', '#orientation', 'orientation')}}{{Spec2('CSS3 Media Queries')}}Начальное определение.
- -

Совместимость браузеров

- - - -

{{Compat}}

diff --git a/files/ru/web/css/@media/orientation/index.md b/files/ru/web/css/@media/orientation/index.md new file mode 100644 index 00000000000000..9e342e88d5ae77 --- /dev/null +++ b/files/ru/web/css/@media/orientation/index.md @@ -0,0 +1,70 @@ +--- +title: Ориентация +slug: Web/CSS/@media/orientation +translation_of: Web/CSS/@media/orientation +--- +{{cssref}} + +[CSS](/ru/docs/CSS) [медиа-функции](/ru/docs/Web/CSS/Media_Queries/Using_media_queries#Media_features) **`orientation`** может использоваться для проверки ориентации области {{glossary("просмотра")}} (или поля страницы для [медийных страниц](/ru/docs/Web/CSS/Paged_media)). + +> **Примечание:** Эта функция не соответствует ориентации _устройства_. Открытие программной клавиатуры на многих устройствах в книжной ориентации приведёт к тому, что область просмотра станет шире, чем высокая, в результате чего браузер будет использовать альбомные стили вместо портретного. + +## Синтаксис + +Функция `orientation` указывается в качестве значения ключевого слова, выбранного из списка ниже. + +### Значения ключевых слов + +- `portrait` + - : Окно просмотра находится в портретной ориентации, то есть высота больше или равна ширине. +- `landscape` + - : Окно просмотра находится в альбомной ориентации, то есть ширина больше высоты. + +## Пример + +### HTML + +```html +
Вставка 1
+
Вставка 2
+
Вставка 3
+``` + +### CSS + +```css +body { + display: flex; +} + +div { + background: yellow; +} + +@media (orientation: landscape) { + body { + flex-direction: row; + } +} + +@media (orientation: portrait) { + body { + flex-direction: column; + } +} +``` + +### Результат + +{{EmbedLiveSample("Пример")}} + +## Характеристики + +| Спецификация | Статус | Комментарий | +| ---------------------------------------------------------------------------------------- | ---------------------------------------- | ---------------------- | +| {{SpecName('CSS4 Media Queries', '#orientation', 'orientation')}} | {{Spec2('CSS4 Media Queries')}} | Бе изменений. | +| {{SpecName('CSS3 Media Queries', '#orientation', 'orientation')}} | {{Spec2('CSS3 Media Queries')}} | Начальное определение. | + +## Совместимость браузеров + +{{Compat}} diff --git a/files/ru/web/css/@media/prefers-color-scheme/index.html b/files/ru/web/css/@media/prefers-color-scheme/index.html deleted file mode 100644 index 37417fe3d28732..00000000000000 --- a/files/ru/web/css/@media/prefers-color-scheme/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: prefers-color-scheme -slug: Web/CSS/@media/prefers-color-scheme -tags: - - '@media' - - CSS - - Reference - - prefers-color-scheme -translation_of: Web/CSS/@media/prefers-color-scheme ---- -

CSS медиа функция prefers-color-scheme может использоваться для определения того, светлую или тёмную тему использует пользователь в операционной системе.

- -

Синтаксис

- -
-
no-preference
-
Указывает, что пользователь не сделал никаких предпочтений, известных системе. Значение этого ключевого слова оценивается как false в логическом контексте.
-
light
-
Указывает, что пользователь выбрал светлую тему в операционной системе.
-
dark
-
Указывает, что пользователь выбрал тёмную тему в операционной системе.
-
- -

Примеры

- -

В этом примере используется элемент с черным фоном и белым текстом, если пользователь выбрал светлую тему в операционной системе, то цвета будут инвертированы.

- -

HTML

- -
<div class="day">Day (initial)</div>
-<div class="day light-scheme">Day (changes in light scheme)</div>
-<div class="day dark-scheme">Day (changes in dark scheme)</div> <br>
-
-<div class="night">Night (initial)</div>
-<div class="night light-scheme">Night (changes in light scheme)</div>
-<div class="night dark-scheme">Night (changes in dark scheme)</div>
- -

CSS

- -
.day   { background: #eee; color: black; }
-.night { background: #333; color: white; }
-
-@media (prefers-color-scheme: dark) {
-  .day.dark-scheme   { background:  #333; color: white; }
-  .night.dark-scheme { background: black; color:  #ddd; }
-}
-
-@media (prefers-color-scheme: light) {
-  .day.light-scheme   { background: white; color:  #555; }
-  .night.light-scheme { background:  #eee; color: black; }
-}
-
-.day, .night {
-  display: inline-block;
-  padding: 1em;
-  width: 7em;
-  height: 2em;
-  vertical-align: middle;
-}
- -

Result

- -

{{EmbedLiveSample("Примеры")}}

- -

Спецификация

- -{{Specifications}} - -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- - - -
{{QuickLinksWithSubpages("/en-US/docs/Web/CSS/@media/")}}
diff --git a/files/ru/web/css/@media/prefers-color-scheme/index.md b/files/ru/web/css/@media/prefers-color-scheme/index.md new file mode 100644 index 00000000000000..057c3533b85a7f --- /dev/null +++ b/files/ru/web/css/@media/prefers-color-scheme/index.md @@ -0,0 +1,79 @@ +--- +title: prefers-color-scheme +slug: Web/CSS/@media/prefers-color-scheme +tags: + - '@media' + - CSS + - Reference + - prefers-color-scheme +translation_of: Web/CSS/@media/prefers-color-scheme +--- +[CSS](/ru/docs/Web/CSS) [медиа функция](/ru/docs/Web/CSS/Media_Queries/Using_media_queries) **`prefers-color-scheme`** может использоваться для определения того, светлую или тёмную тему использует пользователь в операционной системе. + +## Синтаксис + +- `no-preference` + - : Указывает, что пользователь не сделал никаких предпочтений, известных системе. Значение этого ключевого слова оценивается как `false` в [логическом контексте](https://drafts.csswg.org/mediaqueries-5/#boolean-context). +- `light` + - : Указывает, что пользователь выбрал светлую тему в операционной системе. +- `dark` + - : Указывает, что пользователь выбрал тёмную тему в операционной системе. + +## Примеры + +В этом примере используется элемент с черным фоном и белым текстом, если пользователь выбрал светлую тему в операционной системе, то цвета будут инвертированы. + +### HTML + +```html +
Day (initial)
+
Day (changes in light scheme)
+
Day (changes in dark scheme)

+ +
Night (initial)
+
Night (changes in light scheme)
+
Night (changes in dark scheme)
+``` + +### CSS + +```css +.day { background: #eee; color: black; } +.night { background: #333; color: white; } + +@media (prefers-color-scheme: dark) { + .day.dark-scheme { background: #333; color: white; } + .night.dark-scheme { background: black; color: #ddd; } +} + +@media (prefers-color-scheme: light) { + .day.light-scheme { background: white; color: #555; } + .night.light-scheme { background: #eee; color: black; } +} + +.day, .night { + display: inline-block; + padding: 1em; + width: 7em; + height: 2em; + vertical-align: middle; +} +``` + +### Result + +{{EmbedLiveSample("Примеры")}} + +## Спецификация + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- [Редизайн вашего продукта и сайта для тёмного режима](https://stuffandnonsense.co.uk/blog/redesigning-your-product-and-website-for-dark-mode)(en) + +{{QuickLinksWithSubpages("/en-US/docs/Web/CSS/@media/")}} diff --git a/files/ru/web/css/@media/prefers-reduced-motion/index.html b/files/ru/web/css/@media/prefers-reduced-motion/index.html deleted file mode 100644 index 4e246595dc9dc1..00000000000000 --- a/files/ru/web/css/@media/prefers-reduced-motion/index.html +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: prefers-reduced-motion -slug: Web/CSS/@media/prefers-reduced-motion -tags: - - '@media' - - CSS - - Media Queries - - Reference - - media feature -translation_of: Web/CSS/@media/prefers-reduced-motion ---- -

CSS медиа функция prefers-reduced-motion может использоваться для определения того, запросил ли пользователь, чтобы ОС минимизировала количество анимации или движения, которые она использует.

- -

Синтаксис

- -
-
no-preference
-
Указывает, что пользователь не сделал никаких предпочтений, известных системе.
-
reduce
-
Указывает, что пользователь уведомил ОС, что он предпочитает интерфейс, который минимизирует количество движения или анимации, предпочтительно до точки, где удаляются все несущественные движения.
-
- -

Примеры

- -

В этом примере присутствует раздражающая анимация, если вы не включите «Уменьшить движение» в настройках доступности.

- -

HTML

- -
<div class="animation">animated box</div>
-
- -

CSS

- -
.animation {
-  -webkit-animation: vibrate 0.3s linear infinite both;
-  animation: vibrate 0.3s linear infinite both;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .animation {
-    animation: none;
-    -webkit-animation: none;
-  }
-}
-
- - - -

Результат

- -

{{EmbedLiveSample("Примеры")}}

- -

Спецификация

- -{{Specifications}} - -

Совместимость с браузерами

- - - -

{{Compat}}

- -

Смотрите также

- - - -
{{QuickLinksWithSubpages("/en-US/docs/Web/CSS/@media/")}}
diff --git a/files/ru/web/css/@media/prefers-reduced-motion/index.md b/files/ru/web/css/@media/prefers-reduced-motion/index.md new file mode 100644 index 00000000000000..7ac9f81b166e40 --- /dev/null +++ b/files/ru/web/css/@media/prefers-reduced-motion/index.md @@ -0,0 +1,138 @@ +--- +title: prefers-reduced-motion +slug: Web/CSS/@media/prefers-reduced-motion +tags: + - '@media' + - CSS + - Media Queries + - Reference + - media feature +translation_of: Web/CSS/@media/prefers-reduced-motion +--- +[CSS](/ru/docs/Web/CSS) [медиа функция](/ru/docs/Web/CSS/Media_Queries/Using_media_queries) **`prefers-reduced-motion`** может использоваться для определения того, запросил ли пользователь, чтобы ОС минимизировала количество анимации или движения, которые она использует. + +## Синтаксис + +- `no-preference` + - : Указывает, что пользователь не сделал никаких предпочтений, известных системе. +- `reduce` + - : Указывает, что пользователь уведомил ОС, что он предпочитает интерфейс, который минимизирует количество движения или анимации, предпочтительно до точки, где удаляются все несущественные движения. + +## Примеры + +В этом примере присутствует раздражающая анимация, если вы не включите «Уменьшить движение» в настройках доступности. + +### HTML + +```html +
animated box
+``` + +### CSS + +```css +.animation { + -webkit-animation: vibrate 0.3s linear infinite both; + animation: vibrate 0.3s linear infinite both; +} + +@media (prefers-reduced-motion: reduce) { + .animation { + animation: none; + -webkit-animation: none; + } +} +``` + +```css hidden +.animation { + background-color: rebeccapurple; + color: #fff; + font: 1.2em Helvetica, arial, sans-serif; + width: 200px; + padding: 1em; + border-radius: 1em; + text-align: center; +} + +/* ---------------------------------------------- + * Generated by Animista on 2018-9-2 13:47:0 + * w: http://animista.net, t: @cssanimista + * ---------------------------------------------- */ + +/** + * ---------------------------------------- + * animation vibrate-1 + * ---------------------------------------- + */ +@-webkit-keyframes vibrate { + 0% { + -webkit-transform: translate(0); + transform: translate(0); + } + 20% { + -webkit-transform: translate(-2px, 2px); + transform: translate(-2px, 2px); + } + 40% { + -webkit-transform: translate(-2px, -2px); + transform: translate(-2px, -2px); + } + 60% { + -webkit-transform: translate(2px, 2px); + transform: translate(2px, 2px); + } + 80% { + -webkit-transform: translate(2px, -2px); + transform: translate(2px, -2px); + } + 100% { + -webkit-transform: translate(0); + transform: translate(0); + } +} +@keyframes vibrate { + 0% { + -webkit-transform: translate(0); + transform: translate(0); + } + 20% { + -webkit-transform: translate(-2px, 2px); + transform: translate(-2px, 2px); + } + 40% { + -webkit-transform: translate(-2px, -2px); + transform: translate(-2px, -2px); + } + 60% { + -webkit-transform: translate(2px, 2px); + transform: translate(2px, 2px); + } + 80% { + -webkit-transform: translate(2px, -2px); + transform: translate(2px, -2px); + } + 100% { + -webkit-transform: translate(0); + transform: translate(0); + } +} +``` + +### Результат + +{{EmbedLiveSample("Примеры")}} + +## Спецификация + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## [Смотрите также](/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#See_also) + +- [An introduction to the reduced motion media query](https://css-tricks.com/introduction-reduced-motion-media-query/) + +{{QuickLinksWithSubpages("/en-US/docs/Web/CSS/@media/")}} diff --git a/files/ru/web/css/@media/scripting/index.html b/files/ru/web/css/@media/scripting/index.html deleted file mode 100644 index 594a4159b19f33..00000000000000 --- a/files/ru/web/css/@media/scripting/index.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: scripting -slug: Web/CSS/@media/scripting -translation_of: Web/CSS/@media/scripting ---- -
{{cssref}}
- -

CSS медиа функция scripting может использоваться для проверки доступности скриптов (таких как JavaScript)

- -

Синтаксис

- -

Функция scripting указывается в качестве значения ключевого слова, выбранного из списка ниже.

- -
-
none
-
Скрипты полностью недоступны в текущем документе.
-
initial-only
-
Скрипты включаются во время начальной загрузки страницы, но не после.
-
enabled
-
Скрипты поддерживаются и активны в текущем документе.
-
- -

Пример

- -

HTML

- -
<p class="script-none">You do not have scripting available. :-(</p>
-<p class="script-initial-only">Your scripting is only enabled during the initial page load. Weird.</p>
-<p class="script-enabled">You have scripting enabled! :-)</p>
-
- -

CSS

- -
p {
-  color: lightgray;
-}
-
-@media (scripting: none) {
-  .script-none {
-     color: red;
-  }
-}
-
-@media (scripting: initial-only) {
-  .script-initial-only {
-    color: red;
-  }
-}
-
-@media (scripting: enabled) {
-  .script-enabled {
-    color: red;
-  }
-}
- -

Result

- -

{{EmbedLiveSample("Пример")}}

- -

Спецификация

- -{{Specifications}} - -

Совместимость с браузерами

- - - -

{{Compat}}

diff --git a/files/ru/web/css/@media/scripting/index.md b/files/ru/web/css/@media/scripting/index.md new file mode 100644 index 00000000000000..f1ae68dddcd302 --- /dev/null +++ b/files/ru/web/css/@media/scripting/index.md @@ -0,0 +1,67 @@ +--- +title: scripting +slug: Web/CSS/@media/scripting +translation_of: Web/CSS/@media/scripting +--- +{{cssref}} + +[CSS](/ru/docs/Web/CSS) [медиа функция](/ru/docs/Web/CSS/Media_Queries/Using_media_queries) **`scripting`** может использоваться для проверки доступности скриптов (таких как JavaScript) + +## Синтаксис + +Функция **`scripting`** указывается в качестве значения ключевого слова, выбранного из списка ниже. + +- `none` + - : Скрипты полностью недоступны в текущем документе. +- `initial-only` + - : Скрипты включаются во время начальной загрузки страницы, но не после. +- `enabled` + - : Скрипты поддерживаются и активны в текущем документе. + +## Пример + +### HTML + +```html +

You do not have scripting available. :-(

+

Your scripting is only enabled during the initial page load. Weird.

+

You have scripting enabled! :-)

+``` + +### CSS + +```css +p { + color: lightgray; +} + +@media (scripting: none) { + .script-none { + color: red; + } +} + +@media (scripting: initial-only) { + .script-initial-only { + color: red; + } +} + +@media (scripting: enabled) { + .script-enabled { + color: red; + } +} +``` + +### Result + +{{EmbedLiveSample("Пример")}} + +## Спецификация + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/@namespace/index.html b/files/ru/web/css/@namespace/index.html deleted file mode 100644 index d713704ddd1b66..00000000000000 --- a/files/ru/web/css/@namespace/index.html +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: '@namespace' -slug: Web/CSS/@namespace -tags: - - Пространства имён -translation_of: Web/CSS/@namespace ---- -

{{ CSSRef() }}

- -

Описание

- -

@namespace - это правила (at-rule) определяющие пространства имён XML, которые будут использованы в таблице стилей. Они применяются чтобы ограничить CSS селекторы только элементами принадлежащими конкретному пространству имён. Пространства имён полезны, в основном, когда идёт взаимодействие с документами содержащими множество пространств имён, такими как HTML5 со встроенным SVG, MathML или XML.

- -
@namespace url(http://www.w3.org/1999/xhtml);
-@namespace svg url(http://www.w3.org/2000/svg);
-
-/* This matches all XHTML <a> elements, as XHTML is the default unprefixed namespace */
-a {}
-
-/* This matches all SVG <a> elements */
-svg|a {}
-
-/* This matches both XHTML and SVG <a> elements */
-*|a {}
- -

Любое @namespace правило обязано следовать всем @charset и @import правилам, а так же всем описаниям стилей в таблице стилей.

- -

@namespace может быть использован для определения стандартного пространства имён для конкретной таблице стилей. Когда стандартное пространство имён определено, все селекторы (но не атрибуты селекторов, смотрите заметку ниже) применяются только к элементам в этом пространстве имён.

- -

@namespace правила можно использовать для определения префиксов имён. Когда селектор имеет префикс, он будет выбирать элементы совпадающие по пространству имён и именам или атрибутам.

- -

В HTML5 существуют сторонние элементы которые автоматически ассоциируются с соответствующими пространствами имён. Это значит, что HTML-элементы будут действовать так, как если бы они находились в пространстве имён (http://www.w3.org/1999/xhtml), также если они не имеют xmlns атрибута где-либо в документе, то такие элементы как <svg> и <math> будут ассоциироваться с их стандартными пространствами имён (http://www.w3.org/2000/svg and http://www.w3.org/1998/Math/MathML).

- -
-

Примечание: В XML, если префикс отличается от атрибута (Например, xlink:href), то атрибут не будет иметь пространства имён. Другими словами, атрибуты не могут наследовать пространство имён элемента в котором они находятся.

-
- -

Синтаксис

- -
/* Default namespace */
-@namespace url(XML-namespace-URL);
-@namespace "XML-namespace-URL";
-
-/* Prefixed namespace */
-@namespace prefix url(XML-namespace-URL);
-@namespace prefix "XML-namespace-URL";
- -

Формальный синтаксис

- -{{csssyntax}} - -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/@namespace/index.md b/files/ru/web/css/@namespace/index.md new file mode 100644 index 00000000000000..65602c4e347985 --- /dev/null +++ b/files/ru/web/css/@namespace/index.md @@ -0,0 +1,60 @@ +--- +title: '@namespace' +slug: Web/CSS/@namespace +tags: + - Пространства имён +translation_of: Web/CSS/@namespace +--- +{{ CSSRef() }} + +## Описание + +`@namespace` - это правила ([at-rule](/ru/docs/Web/CSS/At-rule)) определяющие [пространства имён XML](/ru/docs/Namespaces), которые будут использованы в [таблице стилей](/ru/docs/Web/API/StyleSheet). Они применяются чтобы ограничить CSS селекторы только элементами принадлежащими конкретному пространству имён. Пространства имён полезны, в основном, когда идёт взаимодействие с документами содержащими множество пространств имён, такими как HTML5 со встроенным SVG, MathML или XML. + +```css +@namespace url(http://www.w3.org/1999/xhtml); +@namespace svg url(http://www.w3.org/2000/svg); + +/* This matches all XHTML elements, as XHTML is the default unprefixed namespace */ +a {} + +/* This matches all SVG elements */ +svg|a {} + +/* This matches both XHTML and SVG elements */ +*|a {} +``` + +Любое `@namespace` правило обязано следовать всем [@charset](/ru/docs/Web/CSS/%40charset) и [@import](/ru/docs/Web/CSS/%40import) правилам, а так же всем [описаниям стилей](/ru/docs/Web/API/CSSStyleDeclaration) в таблице стилей. + +`@namespace` может быть использован для определения стандартного пространства имён для конкретной таблице стилей. Когда стандартное пространство имён определено, все селекторы (но не атрибуты селекторов, смотрите заметку ниже) применяются только к элементам в этом пространстве имён. + +`@namespace` правила можно использовать для определения префиксов имён. Когда селектор имеет префикс, он будет выбирать элементы совпадающие по пространству имён и именам или атрибутам. + +В [HTML5](/ru/docs/HTML/HTML5) существуют [сторонние элементы](https://html.spec.whatwg.org/#foreign-elements) которые автоматически ассоциируются с соответствующими пространствами имён. Это значит, что HTML-элементы будут действовать так, как если бы они находились в пространстве имён (`http://www.w3.org/1999/xhtml`), также если они не имеют `xmlns` атрибута где-либо в документе, то такие элементы как [\](/ru/docs/%D0%A1%D0%BB%D0%BE%D0%B2%D0%B0%D1%80%D1%8C/SVG) и [\](/ru/docs/Web/MathML/Element/math) будут ассоциироваться с их стандартными пространствами имён (`http://www.w3.org/2000/svg` and `http://www.w3.org/1998/Math/MathML`). + +> **Примечание:** Примечание: В XML, если префикс отличается от атрибута (Например, `xlink:href`), то атрибут не будет иметь пространства имён. Другими словами, атрибуты не могут наследовать пространство имён элемента в котором они находятся. + +## Синтаксис + +```css +/* Default namespace */ +@namespace url(XML-namespace-URL); +@namespace "XML-namespace-URL"; + +/* Prefixed namespace */ +@namespace prefix url(XML-namespace-URL); +@namespace prefix "XML-namespace-URL"; +``` + +### Формальный синтаксис + +{{csssyntax}} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/@page/index.html b/files/ru/web/css/@page/index.html deleted file mode 100644 index a5a74eae4db044..00000000000000 --- a/files/ru/web/css/@page/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: '@page' -slug: Web/CSS/@page -tags: - - Вёрстка - - печать - - страница -translation_of: Web/CSS/@page ---- -
{{CSSRef}}
- -

Правило CSS @page используется для модификации некоторых свойств CSS при печати документа. Вы не можете изменить все CSS-свойства с @page. Вы можете изменить только margin, orphans, widows, и разрывы страницы документа. Попытки изменить любые другие свойства CSS будут игнорироваться.

- -
@page {
-  margin: 1cm;
-}
-
-@page :first {
-  margin: 2cm;
-}
- -

Правило @page доступно через интерфейс объектной модели CSS {{domxref("CSSPageRule")}}.

- -
Примечание: В W3C обсуждают, как обрабатывать связанные с областью просмотра единицы {{cssxref("<length>")}} такие как, vh, vw, vmin, и vmax. Тем временем не используя их с правилом @page.
- -

Синтаксис

- -

Дескрипторы

- -
-
size
-
Указывает целевой размер и ориентацию полей страницы, содержащихся в блоке. В общем случае, когда одно поле страницы отображается на одном листе страницы, он также определяет размер и ориентацию листа страницы.
-
- -
-
marks
-
Добавляет обрезку и/или регистрационные отметки в документ.
-
- -
-
bleed
-
Определяет степень заступа за пределы поля страницы, при котором отображаемая область страницы отрезается.
-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Примеры

- -

Пожалуйста, обратитесь к различным плевдоклассам @page для примеров.

- -
    -
  • {{Cssxref(":blank")}}
  • -
  • {{Cssxref(":first")}}
  • -
  • {{Cssxref(":left")}}
  • -
  • {{Cssxref(":right")}}
  • -
  • {{Cssxref(":recto")}} {{experimental_inline}}
  • -
  • {{Cssxref(":verso")}} {{experimental_inline}}
  • -
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

- - - -

{{Compat}}

- -

Смотрите также

- -
    -
  • Смотрите тикет [META] CSS Paged Media Module Level 3 в Bugzilla для отслеживания прогресса по теме (базовый страничный счётчик, и т.д.)
  • -
diff --git a/files/ru/web/css/@page/index.md b/files/ru/web/css/@page/index.md new file mode 100644 index 00000000000000..3e70175e9b80a1 --- /dev/null +++ b/files/ru/web/css/@page/index.md @@ -0,0 +1,70 @@ +--- +title: '@page' +slug: Web/CSS/@page +tags: + - Вёрстка + - печать + - страница +translation_of: Web/CSS/@page +--- +{{CSSRef}} + +Правило CSS **`@page`** используется для модификации некоторых свойств CSS при печати документа.\*\* \*\*Вы не можете изменить все CSS-свойства с `@page`. Вы можете изменить только margin, orphans, widows, и разрывы страницы документа. Попытки изменить любые другие свойства CSS будут игнорироваться. + +```css +@page { + margin: 1cm; +} + +@page :first { + margin: 2cm; +} +``` + +Правило `@page` доступно через интерфейс объектной модели CSS {{domxref("CSSPageRule")}}. + +> **Примечание:** В W3C обсуждают, как обрабатывать связанные с областью просмотра единицы {{cssxref("<length>")}} такие как, `vh`, `vw`, `vmin`, и `vmax`. Тем временем не используя их с правилом `@page`. + +## Синтаксис + +### Дескрипторы + +- [`size`](/ru/docs/Web/CSS/@page/size) + - : Указывает целевой размер и ориентацию полей страницы, содержащихся в блоке. В общем случае, когда одно поле страницы отображается на одном листе страницы, он также определяет размер и ориентацию листа страницы. + + + +- [`marks`](/ru/docs/Web/CSS/@page/marks) + - : Добавляет обрезку и/или регистрационные отметки в документ. + + + +- [`bleed`](/ru/docs/Web/CSS/@page/bleed) + - : Определяет степень заступа за пределы поля страницы, при котором отображаемая область страницы отрезается. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +Пожалуйста, обратитесь к различным [плевдоклассам](/ru/docs/Web/CSS/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) `@page` для примеров. + +- {{Cssxref(":blank")}} +- {{Cssxref(":first")}} +- {{Cssxref(":left")}} +- {{Cssxref(":right")}} +- {{Cssxref(":recto")}} {{experimental_inline}} +- {{Cssxref(":verso")}} {{experimental_inline}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- Смотрите тикет [\[META\] CSS Paged Media Module Level 3](https://bugzilla.mozilla.org/show_bug.cgi?id=286443) в Bugzilla для отслеживания прогресса по теме (базовый страничный счётчик, и т.д.) diff --git a/files/ru/web/css/@supports/index.html b/files/ru/web/css/@supports/index.html deleted file mode 100644 index d9eb3f3e2dc90e..00000000000000 --- a/files/ru/web/css/@supports/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: '@supports' -slug: Web/CSS/@supports -translation_of: Web/CSS/@supports ---- -

{{ CSSRef() }}

- -

Описание

- -

The @supports CSS at-rule associates a set of nested statements, in a CSS block, that is delimited by curly braces, with a condition consisting of testing of CSS declarations, that is property-value pairs, combined with arbitrary conjunctions, disjunctions, and negations of them. Such a condition is called a supports condition.

- -

@supports gives CSS the ability to perform a feature query.

- -

The @supports at-rule may be used not only at the top level of a CSS, but also inside any CSS conditional-group at-rule and can be accessed via the CSS object model interface {{domxref("CSSSupportsRule")}}.

- -

Синтаксис

- -

A supports condition consists of one or several declarations combined by different logical operators. Precedence of operators can be overruled by using parentheses.

- -

Синтаксис объявления

- -

The simplest expression is a CSS declaration, that is a CSS property name followed by a value, separated by a colon. The following expression

- -
( transform-origin: 5% 5% )
- -

returns true if the {{ cssxref("transform-origin") }} implements a syntax considering 5% 5% as valid.

- -

A CSS declaration is always surrounded by parentheses.

- -

Оператор not

- -

The not operator can precede any expression to create a new expression, resulting in the negation of the original expression. The following expression

- -
not ( transform-origin: 10em 10em 10em )
- -

returns true if {{ cssxref("transform-origin") }} doesn't implement a syntax considering 10em 10em 10em as valid.

- -

Like any operator, the not operator can be applied to a declaration of any complexity. The following examples are all valid expressions:

- -
not ( not ( transform-origin: 2px ) )
-(display: flexbox) and ( not (display: inline-grid) )
- -
-

Предупреждение: there is no need to enclose the not operator between two parentheses when at the top level. To combine it with other operators, like and and or, the parentheses are required.

-
- -

Оператор and

- -

From two expressions, the and operator creates a new expression consisting in the conjunction of the two original ones; the resulting expression is true only if both of the original expressions also resolve to true. In this example, the complete expression resolves to true if and only if the two expressions are simultaneously true:

- -
(display: table-cell) and (display: list-item)
- -

Several conjunctions can be juxtaposed without the need of more parentheses:

- -
(display: table-cell) and (display: list-item) and (display:run-in)
- -

is equivalent to:

- -
(display: table-cell) and ((display: list-item) and (display:run-in))
- -

Оператор or

- -

From two expressions, the or operator creates a new expression consisting in the disjunction of the two original ones; the resulting expression is true if one, or both, of the original expressions also resolves to true. In this example, the complete expression resolves to true if at least one of the two expressions is true:

- -
( transform-style: preserve ) or ( -moz-transform-style: preserve )
- -

Several disjunctions can be juxtaposed without the need of more parentheses:

- -
( transform-style: preserve ) or ( -moz-transform-style: preserve ) or
-( -o-transform-style: preserve ) or ( -webkit-transform-style: preserve  )
- -

is equivalent to:

- -
( transform-style: preserve-3d ) or (( -moz-transform-style: preserve-3d ) or
-(( -o-transform-style: preserve-3d ) or ( -webkit-transform-style: preserve-3d  )))
- -
-

Предупреждение: when using both and and or operators, the parentheses must be used in order to define the order in which they apply. If not, the condition is invalid leading to the whole at-rule to be ignored.

-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Примеры

- -

Тестирование заданного свойства

- -
@supports (animation-name: test) {
-    … /* specific CSS applied when animations are supported unprefixed */
-    @keyframes { /* @supports being a CSS conditional group at-rule, it can includes other relevant at-rules */
-      …
-    }
-}
-
- -

Тестирование заданного свойства или его версии с префиксом

- -
@supports ( (perspective: 10px) or (-moz-perspective: 10px) or (-webkit-perspective: 10px) or
-            (-ms-perspective: 10px) or (-o-perspective: 10px) ) {
-    … /* specific CSS applied when 3D transforms, eventually prefixed, are supported */
-}
-
- -

Тестирование неподдерживаемого или специфического свойства

- -
@supports not ((text-align-last:justify) or (-moz-text-align-last:justify) ){
-    … /* specific CSS applied to simulate text-align-last:justify */
-}
- -

Спецификации

- - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарий
{{ SpecName('CSS3 Conditional', '#at-supports', '@supports') }}{{ Spec2('CSS3 Conditional') }}Первоначальное определение.
- -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • The CSSOM class {{ domxref("CSSSupportsRule") }}, and the {{ domxref("CSS.supports") }} method that allows to perform the same check via JavaScript.
  • -
diff --git a/files/ru/web/css/@supports/index.md b/files/ru/web/css/@supports/index.md new file mode 100644 index 00000000000000..cfdb0763b500b7 --- /dev/null +++ b/files/ru/web/css/@supports/index.md @@ -0,0 +1,141 @@ +--- +title: '@supports' +slug: Web/CSS/@supports +translation_of: Web/CSS/@supports +--- +{{ CSSRef() }} + +## Описание + +The `@supports` [CSS](/en/CSS "CSS") [at-rule](/en/CSS/At-rule "en/CSS/At-rule") associates a set of nested statements, in a CSS block, that is delimited by curly braces, with a condition consisting of testing of CSS declarations, that is property-value pairs, combined with arbitrary conjunctions, disjunctions, and negations of them. Such a condition is called a _supports condition_. + +`@supports` gives CSS the ability to perform a _feature query_. + +The `@supports` at-rule may be used not only at the top level of a CSS, but also inside any [CSS conditional-group at-rule](/en/CSS/At-rule#Conditional_Group_Rules "en/CSS/At-rule#Conditional_Group_Rules") and can be accessed via the CSS object model interface {{domxref("CSSSupportsRule")}}. + +## Синтаксис + +A supports condition consists of one or several declarations combined by different logical operators. Precedence of operators can be overruled by using parentheses. + +### Синтаксис объявления + +The simplest expression is a CSS declaration, that is a CSS property name followed by a value, separated by a colon. The following expression + +```css +( transform-origin: 5% 5% ) +``` + +returns true if the {{ cssxref("transform-origin") }} implements a syntax considering `5% 5%` as valid. + +A CSS declaration is always surrounded by parentheses. + +### Оператор not + +The `not` operator can precede any expression to create a new expression, resulting in the negation of the original expression. The following expression + +```css +not ( transform-origin: 10em 10em 10em ) +``` + +returns true if {{ cssxref("transform-origin") }} doesn't implement a syntax considering `10em 10em 10em` as valid. + +Like any operator, the `not` operator can be applied to a declaration of any complexity. The following examples are all valid expressions: + +```css +not ( not ( transform-origin: 2px ) ) +(display: flexbox) and ( not (display: inline-grid) ) +``` + +> **Примечание:** **Предупреждение:** there is no need to enclose the `not` operator between two parentheses when at the top level. To combine it with other operators, like `and` and `or`, the parentheses are required. + +### Оператор and + +From two expressions, the `and` operator creates a new expression consisting in the conjunction of the two original ones; the resulting expression is true only if both of the original expressions also resolve to true. In this example, the complete expression resolves to true if and only if the two expressions are simultaneously true: + +```css +(display: table-cell) and (display: list-item) +``` + +Several conjunctions can be juxtaposed without the need of more parentheses: + +```css +(display: table-cell) and (display: list-item) and (display:run-in) +``` + +is equivalent to: + +```css +(display: table-cell) and ((display: list-item) and (display:run-in)) +``` + +### Оператор or + +From two expressions, the `or` operator creates a new expression consisting in the disjunction of the two original ones; the resulting expression is true if one, or both, of the original expressions also resolves to true. In this example, the complete expression resolves to true if at least one of the two expressions is true: + +```css +( transform-style: preserve ) or ( -moz-transform-style: preserve ) +``` + +Several disjunctions can be juxtaposed without the need of more parentheses: + +```css +( transform-style: preserve ) or ( -moz-transform-style: preserve ) or +( -o-transform-style: preserve ) or ( -webkit-transform-style: preserve ) +``` + +is equivalent to: + +```css +( transform-style: preserve-3d ) or (( -moz-transform-style: preserve-3d ) or +(( -o-transform-style: preserve-3d ) or ( -webkit-transform-style: preserve-3d ))) +``` + +> **Примечание:** **Предупреждение**: when using both `and` and `or` operators, the parentheses must be used in order to define the order in which they apply. If not, the condition is invalid leading to the whole at-rule to be ignored. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +### Тестирование заданного свойства + +```css +@supports (animation-name: test) { + … /* specific CSS applied when animations are supported unprefixed */ + @keyframes { /* @supports being a CSS conditional group at-rule, it can includes other relevant at-rules */ + … + } +} +``` + +### Тестирование заданного свойства или его версии с префиксом + +```css +@supports ( (perspective: 10px) or (-moz-perspective: 10px) or (-webkit-perspective: 10px) or + (-ms-perspective: 10px) or (-o-perspective: 10px) ) { + … /* specific CSS applied when 3D transforms, eventually prefixed, are supported */ +} +``` + +### Тестирование неподдерживаемого или специфического свойства + +```css +@supports not ((text-align-last:justify) or (-moz-text-align-last:justify) ){ + … /* specific CSS applied to simulate text-align-last:justify */ +} +``` + +## Спецификации + +| Спецификация | Статус | Комментарий | +| ------------------------------------------------------------------------------------ | ---------------------------------------- | --------------------------- | +| {{ SpecName('CSS3 Conditional', '#at-supports', '@supports') }} | {{ Spec2('CSS3 Conditional') }} | Первоначальное определение. | + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- The CSSOM class {{ domxref("CSSSupportsRule") }}, and the {{ domxref("CSS.supports") }} method that allows to perform the same check via JavaScript. diff --git a/files/ru/web/css/@viewport/index.html b/files/ru/web/css/@viewport/index.html deleted file mode 100644 index 97c40ed59d4b89..00000000000000 --- a/files/ru/web/css/@viewport/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: '@viewport' -slug: Web/CSS/@viewport -tags: - - Adaptation - - At-rule - - CSS - - Device - - NeedsContent - - NeedsTranslation - - Reference - - TopicStub -translation_of: Web/CSS/@viewport ---- -
{{CSSRef}}{{deprecated_header}}
- - -

Кратко

- -

@viewport CSS at-rule содержит набор вложенных дескрипторов в блоке CSS, который разделён фигурными скобками. Эти дескрипторы управляют настройками видового экрана, в первую очередь на мобильных устройствах.

- -

Синтаксис

- -

Коэффициент масштабирования, равный 1,0 или 100%, соответствует отсутствию масштабирования. Увеличьте масштаб больших значений. Меньшие значения уменьшаются

- -

Дескриптор

- -

Браузеры должны игнорировать непризнанные дескрипторы.

- -
-
min-width
-
Используется при определении ширины видового экрана при первом отображении документа.
-
max-width
-
Используется при определении ширины видового экрана при первом отображении документа.
-
width
-
Сокращённый дескриптор для установки как минимальной ширины(min-width), так и максимальной ширины(max-width).
-
min-height
-
Используется при определении высоты видового экрана при первом отображении документа.
-
max-height
-
Используется при определении высоты видового экрана при первом отображении документа.
-
height
-
Сокращённый дескриптор для установки как минимальной высоты(min-height), так и максимальной высоты(max-height).
-
zoom
-
Устанавливает начальный коэффициент масштабирования.
-
min-zoom
-
Устанавливает минимальный коэффициент масштабирования.
-
max-zoom
-
Устанавливает максимальный коэффициент масштабирования.
-
user-zoom
-
Управляет тем, должен ли пользователь иметь возможность изменять коэффициент масштабирования.
-
orientation
-
Управляет ориентацией документа.
-
- -

Формальный синтаксис

- -{{csssyntax}} - -

Пример:

- -
@viewport {
-  min-width: 640px;
-  max-width: 800px;
-}
-@viewport {
-  zoom: 0.75;
-  min-zoom: 0.5;
-  max-zoom: 0.9;
-}
-@viewport {
-  orientation: landscape;
-}
- -

Спецификация:

- - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарий
{{SpecName('CSS3 Device', '#the-atviewport-rule', '@viewport')}}{{Spec2('CSS3 Device')}}Initial definition
- -

Совместимость с браузерами:

- -

{{Compat}}

- -

Смотреть также

- - diff --git a/files/ru/web/css/@viewport/index.md b/files/ru/web/css/@viewport/index.md new file mode 100644 index 00000000000000..9535f9718871df --- /dev/null +++ b/files/ru/web/css/@viewport/index.md @@ -0,0 +1,86 @@ +--- +title: '@viewport' +slug: Web/CSS/@viewport +tags: + - Adaptation + - At-rule + - CSS + - Device + - NeedsContent + - NeedsTranslation + - Reference + - TopicStub +translation_of: Web/CSS/@viewport +--- +{{CSSRef}}{{deprecated_header}} + +## Кратко + +**`@viewport`** [CSS](/en/CSS "CSS") [at-rule](/en/CSS/At-rule "en/CSS/At-rule") содержит набор вложенных дескрипторов в блоке CSS, который разделён фигурными скобками. Эти дескрипторы управляют настройками видового экрана, в первую очередь на мобильных устройствах. + +## Синтаксис + +Коэффициент масштабирования, равный 1,0 или 100%, соответствует отсутствию масштабирования. Увеличьте масштаб больших значений. Меньшие значения уменьшаются + +### Дескриптор + +Браузеры должны игнорировать непризнанные дескрипторы. + +- [`min-width`](/ru/docs/Web/CSS/@viewport/min-width) + - : Используется при определении ширины видового экрана при первом отображении документа. +- [`max-width`](/ru/docs/Web/CSS/@viewport/max-width) + - : Используется при определении ширины видового экрана при первом отображении документа. +- [`width`](/ru/docs/Web/CSS/@viewport/width) + - : Сокращённый дескриптор для установки как минимальной ширины(min-width), так и максимальной ширины(max-width). +- [`min-height`](/ru/docs/Web/CSS/@viewport/min-height) + - : Используется при определении высоты видового экрана при первом отображении документа. +- [`max-height`](/ru/docs/Web/CSS/@viewport/max-height) + - : Используется при определении высоты видового экрана при первом отображении документа. +- [`height`](/ru/docs/Web/CSS/@viewport/height) + - : Сокращённый дескриптор для установки как минимальной высоты(min-height), так и максимальной высоты(max-height). +- [`zoom`](/ru/docs/Web/CSS/@viewport/zoom) + - : Устанавливает начальный коэффициент масштабирования. +- [`min-zoom`](/ru/docs/Web/CSS/@viewport/min-zoom) + - : Устанавливает минимальный коэффициент масштабирования. +- [`max-zoom`](/ru/docs/Web/CSS/@viewport/max-zoom) + - : Устанавливает максимальный коэффициент масштабирования. +- [`user-zoom`](/ru/docs/Web/CSS/@viewport/user-zoom) + - : Управляет тем, должен ли пользователь иметь возможность изменять коэффициент масштабирования. +- [`orientation`](/ru/docs/Web/CSS/@viewport/orientation) + - : Управляет ориентацией документа. + +### Формальный синтаксис + +{{csssyntax}} + +## Пример: + +```css +@viewport { + min-width: 640px; + max-width: 800px; +} +@viewport { + zoom: 0.75; + min-zoom: 0.5; + max-zoom: 0.9; +} +@viewport { + orientation: landscape; +} +``` + +## Спецификация: + +| Спецификация | Статус | Комментарий | +| ------------------------------------------------------------------------------------ | -------------------------------- | ------------------ | +| {{SpecName('CSS3 Device', '#the-atviewport-rule', '@viewport')}} | {{Spec2('CSS3 Device')}} | Initial definition | + +## Совместимость с браузерами: + +{{Compat}} + +## Смотреть также + +- {{HTMLElement("meta")}}, specifically `` +- [Using the viewport meta tag to control layout on mobile browsers](/ru/docs/Mobile/Viewport_meta_tag) diff --git a/files/ru/web/css/_colon_-moz-focusring/index.html b/files/ru/web/css/_colon_-moz-focusring/index.html deleted file mode 100644 index 27cb0bc4b16876..00000000000000 --- a/files/ru/web/css/_colon_-moz-focusring/index.html +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: ':-moz-focusring' -slug: 'Web/CSS/:-moz-focusring' -tags: - - Фокус - - псевдокласс -translation_of: 'Web/CSS/:-moz-focusring' ---- -
{{Non-standard_header}}{{CSSRef}}
- -

Описание

- -

Псевдокласс :-moz-focusring является расширением браузера Mozilla, которое подобно псевдоклассу {{cssxref (":focus")}}, но взаимодействует только с элементом при наличии у него фокуса. При этом рамка фокуса или другой индикатор располагается вокруг элемента.

- -

Если :-moz-focusring распознается конкретной платформой, то и :focus тоже. Однако обратное не всегда верно и зависит от того, активированы ли пользовательские настройки для отрисовки фокуса и как именно действует фокус по отношению к этому элементу. Независимо от того, имеют ли место пользовательские настройки отрисовки фокуса, многое также зависит от настроек операционной системы и других факторов. В связи с этим точное поведение этого псевдокласса может варьироваться от платформы к платформе.

- -
-

Примечание. Разработчики склонны использовать псевдокласс :-moz-focusring для различия между состояниями фокуса, когда пользователь активирует фокусировку с помощью мыши и клавиатуры. Это также потенциально полезно при создании пользовательского элемента с последующим намерением изменить его стиль на основе его поведения.

-
- -

Синтаксис

- -
:-moz-focusring
- -

Пример

- -

Для определения внешнего вида элемента во время фокусировки на нем можно использовать этот псевдоселектор следующим образом:

- -
mybutton:-moz-focusring {
-  outline: 2px dotted;
-}
-
- -

Спецификации

- -

Этот псевдокласс пока ещё не определён ни в одной спецификации, хотя и прошёл этап обсуждения в рабочей группе. По его итогам было решено внести его в группу селекторов 4 или 5.

- -

Совместимость с браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • {{bug("418521")}}
  • -
diff --git a/files/ru/web/css/_colon_-moz-focusring/index.md b/files/ru/web/css/_colon_-moz-focusring/index.md new file mode 100644 index 00000000000000..bb6d3971a2c3f3 --- /dev/null +++ b/files/ru/web/css/_colon_-moz-focusring/index.md @@ -0,0 +1,43 @@ +--- +title: ':-moz-focusring' +slug: Web/CSS/:-moz-focusring +tags: + - Фокус + - псевдокласс +translation_of: Web/CSS/:-moz-focusring +--- +{{Non-standard_header}}{{CSSRef}} + +## Описание + +Псевдокласс **:-moz-focusring** является расширением браузера Mozilla, которое подобно псевдоклассу {{cssxref (":focus")}}, но взаимодействует только с элементом при наличии у него фокуса. При этом рамка фокуса или другой индикатор располагается вокруг элемента. + +Если :-moz-focusring распознается конкретной платформой, то и **:focus** тоже. Однако обратное не всегда верно и зависит от того, активированы ли пользовательские настройки для отрисовки фокуса и как именно действует фокус по отношению к этому элементу. Независимо от того, имеют ли место пользовательские настройки отрисовки фокуса, многое также зависит от настроек операционной системы и других факторов. В связи с этим точное поведение этого псевдокласса может варьироваться от платформы к платформе. + +> **Примечание.** Разработчики склонны использовать псевдокласс **:-moz-focusring** для различия между состояниями фокуса, когда пользователь активирует фокусировку с помощью мыши и клавиатуры. Это также потенциально полезно при создании пользовательского элемента с последующим намерением изменить его стиль на основе его поведения. + +## Синтаксис + + :-moz-focusring + +## Пример + +Для определения внешнего вида элемента во время фокусировки на нем можно использовать этот псевдоселектор следующим образом: + +```css +mybutton:-moz-focusring { + outline: 2px dotted; +} +``` + +## Спецификации + +Этот псевдокласс пока ещё не определён ни в одной спецификации, хотя и прошёл этап обсуждения в рабочей группе. По его итогам было решено внести его в группу селекторов 4 или 5. + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- {{bug("418521")}} diff --git a/files/ru/web/css/_colon_-moz-only-whitespace/index.html b/files/ru/web/css/_colon_-moz-only-whitespace/index.html deleted file mode 100644 index 82a4db005ffcc7..00000000000000 --- a/files/ru/web/css/_colon_-moz-only-whitespace/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: ':blank' -slug: 'Web/CSS/:-moz-only-whitespace' -tags: - - ':blank' - - CSS - - Псевдо-класс - - Экспериментальное - - селектор -translation_of: 'Web/CSS/:-moz-only-whitespace' ---- -
{{CSSRef}}{{SeeCompatTable}}
- -

CSS псевдо класс :blank находит элементы, у которых либо вообще нет дочерних узлов, либо только пустые текстовые узлы, либо только текстовые узлы, содержащие только пробельные символы.

- -

Syntax

- -{{CSSSyntax}} - -

Пример

- -

HTML

- -
<div> </div>
-
- -

CSS

- - - -
div {
-  border: 4px solid red;
-}
-
-:blank {
-  border-color: lime;
-}
- -

Результат

- -

{{EmbedLiveSample("Пример", "100%", "50")}}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

-

{{Compat}}

- -

Смотрите также

- -
    -
  • {{CSSxRef(":empty")}}
  • -
diff --git a/files/ru/web/css/_colon_-moz-only-whitespace/index.md b/files/ru/web/css/_colon_-moz-only-whitespace/index.md new file mode 100644 index 00000000000000..2be6faeae1cb55 --- /dev/null +++ b/files/ru/web/css/_colon_-moz-only-whitespace/index.md @@ -0,0 +1,74 @@ +--- +title: ':blank' +slug: Web/CSS/:-moz-only-whitespace +tags: + - ':blank' + - CSS + - Псевдо-класс + - Экспериментальное + - селектор +translation_of: Web/CSS/:-moz-only-whitespace +--- +{{CSSRef}}{{SeeCompatTable}} + +[CSS псевдо класс](/ru/docs/Web/CSS) **`:blank`** находит элементы, у которых либо вообще нет дочерних узлов, либо только пустые текстовые узлы, либо только текстовые узлы, содержащие только пробельные символы. + +## Syntax + +{{CSSSyntax}} + +## Пример + +### HTML + +```html +
+``` + +### CSS + +```css hidden +:root { + overflow: hidden; + max-width: 100vw; + max-height: 100vh; +} + +div { + background-color: #ccc; + box-sizing: border-box; + height: 100vh; + min-height: 16px; + min-height: 1rem; +} + +:-moz-only-whitespace { + border-color: lime; +} +``` + +```css +div { + border: 4px solid red; +} + +:blank { + border-color: lime; +} +``` + +### Результат + +{{EmbedLiveSample("Пример", "100%", "50")}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{CSSxRef(":empty")}} diff --git a/files/ru/web/css/_colon_active/index.html b/files/ru/web/css/_colon_active/index.html deleted file mode 100644 index 0ff382614ebb48..00000000000000 --- a/files/ru/web/css/_colon_active/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: ':active' -slug: 'Web/CSS/:active' -tags: - - Псевдоклассы -translation_of: 'Web/CSS/:active' ---- -
{{CSSRef}}
- -

Псевдокласс :active соответствует элементу в момент, когда он активируется пользователем. Он позволяет странице среагировать, когда элемент активируется. Взаимодействие элемента с мышью - это, как правило, время между нажатием и отпусканием пользователем кнопки мыши.

- -
/*  Любой элемент <a>, который будет активирован */
-a:active {
-  color: red;
-}
- -

Также псевдокласс :active срабатывает при использовании клавиши TAB на клавиатуре. Обычно это используется для HTML-элементов {{HTMLElement("a")}} и {{HTMLElement("button")}}, но может применяться и к другим элементам.

- -

Это свойство может быть переопределено любыми другими псевдоклассами, относящимся к ссылке, такими как {{cssxref(":link")}}, {{cssxref(":hover")}} и {{cssxref(":visited")}}, описанными в последующих правилах. Чтобы стилизировать нужные ссылки, вам нужно ставить правило :active после всех других правил, относящихся к ссылке, как определено правилом LVHA-порядком: :link:visited:hover:active.

- -
Примечание: В системах с много-кнопочными мышами, CSS 3 указывает, что псевдокласс :active должен применяться только к первой кнопке; для праворуких мышей - это обычно самая левая кнопка.
- -

Синтаксис

- -{{csssyntax}} - -

Пример

- -

Активные ссылки

- -

HTML

- -
<p>Этот абзац содержит ссылку:
-<a href="#">Эта ссылка будет окрашена в красный, когда вы нажмёте на неё.</a>
-У абзаца фон станет серым при нажатии на него или на ссылку. </p>
- -

CSS

- -
a:link { color: blue; }          /* Непосещённые ссылки */
-a:visited { color: purple; }     /* Посещённые ссылки */
-a:hover { background: yellow; }  /* Ссылки при наведении */
-a:active { color: red; }         /* Активные ссылки */
-
-p:active { background: #eee; }   /* Активные абзацы */
- -

Результат

- -

{{EmbedLiveSample('Активные_ссылки')}}

- -

Активные элементы формы

- -

HTML

- -
<form>
-  <label for="my-button">Моя кнопка: </label>
-  <button id="my-button" type="button">Попробуй Нажать Меня или Мою подсказку!</button>
-</form>
- -

CSS

- -
form :active {
-  color: red;
-}
-
-form button {
-  background: white;
-}
- -

Result

- -

{{EmbedLiveSample('Активные_элементы_формы')}}

- -

Спецификации

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
СпецификацияСтатусКомментарий
{{SpecName('HTML WHATWG', 'scripting.html#selector-active', ':active')}}{{Spec2('HTML WHATWG')}}
{{SpecName('CSS4 Selectors', '#active-pseudo', ':active')}}{{Spec2('CSS4 Selectors')}}Без изменений
{{SpecName('CSS3 Selectors', '#useraction-pseudos', ':active')}}{{Spec2('CSS3 Selectors')}}Без изменений
{{SpecName('CSS2.1', 'selector.html#dynamic-pseudo-classes', ':active')}}{{Spec2('CSS2.1')}}Без изменений
{{SpecName('CSS1', '#anchor-pseudo-classes', ':active')}}{{Spec2('CSS1')}}Первоначальное определение
- -

Совместимость с браузерами

- -
{{Compat}}
- -

Смотрите также

- -
    -
  • Псевдоклассы, связанные с ссылками: {{cssxref(":link")}}, {{cssxref(":visited")}} и {{cssxref(":hover")}}.
  • -
diff --git a/files/ru/web/css/_colon_active/index.md b/files/ru/web/css/_colon_active/index.md new file mode 100644 index 00000000000000..bf19af1a53e29a --- /dev/null +++ b/files/ru/web/css/_colon_active/index.md @@ -0,0 +1,99 @@ +--- +title: ':active' +slug: Web/CSS/:active +tags: + - Псевдоклассы +translation_of: Web/CSS/:active +--- +{{CSSRef}} + +[Псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") **`:active`** соответствует элементу в момент, когда он активируется пользователем. Он позволяет странице среагировать, когда элемент активируется. Взаимодействие элемента с мышью - это, как правило, время между нажатием и отпусканием пользователем кнопки мыши. + +```css +/* Любой элемент , который будет активирован */ +a:active { + color: red; +} +``` + +Также псевдокласс `:active` срабатывает при использовании клавиши TAB на клавиатуре. Обычно это используется для HTML-элементов {{HTMLElement("a")}} и {{HTMLElement("button")}}, но может применяться и к другим элементам. + +Это свойство может быть переопределено любыми другими псевдоклассами, относящимся к ссылке, такими как {{cssxref(":link")}}, {{cssxref(":hover")}} и {{cssxref(":visited")}}, описанными в последующих правилах. Чтобы стилизировать нужные ссылки, вам нужно ставить правило `:active` после всех других правил, относящихся к ссылке, как определено правилом _LVHA-порядком_: `:link` — `:visited` — `:hover` — `:active`. + +> **Примечание:** В системах с много-кнопочными мышами, CSS 3 указывает, что псевдокласс `:active` должен применяться только к первой кнопке; для праворуких мышей - это обычно самая левая кнопка. + +## Синтаксис + +{{csssyntax}} + +## Пример + +### Активные ссылки + +#### HTML + +```html +

Этот абзац содержит ссылку: +Эта ссылка будет окрашена в красный, когда вы нажмёте на неё. +У абзаца фон станет серым при нажатии на него или на ссылку.

+``` + +#### CSS + +```css +a:link { color: blue; } /* Непосещённые ссылки */ +a:visited { color: purple; } /* Посещённые ссылки */ +a:hover { background: yellow; } /* Ссылки при наведении */ +a:active { color: red; } /* Активные ссылки */ + +p:active { background: #eee; } /* Активные абзацы */ +``` + +#### Результат + +{{EmbedLiveSample('Активные_ссылки')}} + +### Активные элементы формы + +#### HTML + +```html +
+ + +
+``` + +#### CSS + +```css +form :active { + color: red; +} + +form button { + background: white; +} +``` + +#### Result + +{{EmbedLiveSample('Активные_элементы_формы')}} + +## Спецификации + +| Спецификация | Статус | Комментарий | +| ------------------------------------------------------------------------------------------------ | ------------------------------------ | -------------------------- | +| {{SpecName('HTML WHATWG', 'scripting.html#selector-active', ':active')}} | {{Spec2('HTML WHATWG')}} | | +| {{SpecName('CSS4 Selectors', '#active-pseudo', ':active')}} | {{Spec2('CSS4 Selectors')}} | Без изменений | +| {{SpecName('CSS3 Selectors', '#useraction-pseudos', ':active')}} | {{Spec2('CSS3 Selectors')}} | Без изменений | +| {{SpecName('CSS2.1', 'selector.html#dynamic-pseudo-classes', ':active')}} | {{Spec2('CSS2.1')}} | Без изменений | +| {{SpecName('CSS1', '#anchor-pseudo-classes', ':active')}} | {{Spec2('CSS1')}} | Первоначальное определение | + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- Псевдоклассы, связанные с ссылками: {{cssxref(":link")}}, {{cssxref(":visited")}} и {{cssxref(":hover")}}. diff --git a/files/ru/web/css/_colon_any-link/index.html b/files/ru/web/css/_colon_any-link/index.html deleted file mode 100644 index 9fc89dfd911fcf..00000000000000 --- a/files/ru/web/css/_colon_any-link/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: ':any-link' -slug: 'Web/CSS/:any-link' -tags: - - ':any-link' - - CSS - - Web - - Вёрстка - - Гиперссылки - - Справка - - Ссылки - - Экспериментальное - - псевдокласс - - селектор -translation_of: 'Web/CSS/:any-link' ---- -
{{CSSRef}} {{SeeCompatTable}}
- -

Селектор псевдокласса CSS :any-link представляет собой элемент, который действует как исходный якорь гиперссылки, независимо от того, была ли она посещена. Другими словами, он соответствует всем элементам {{HTMLElement("a")}}, {{HTMLElement("area")}}, или {{HTMLElement("link")}}, которые имеют атрибут href. Таким образом, он соответствует всем элементам, которые используют {{cssxref(":link")}} или {{cssxref(":visited")}}.

- -
/* Выбирает любой элемент, который будет соответствовать:link или :visited */
-:any-link {
-  color: green;
-}
- -

Синтаксис

- -{{csssyntax}} - -

Пример

- -

HTML

- -
<a href="https://example.com">External link</a><br>
-<a href="#">Internal target link</a><br>
-<a>Placeholder link (won't get styled)</a>
- -

CSS

- -
a:any-link {
-  border: 1px solid blue;
-  color: orange;
-}
-
-/* WebKit browsers */
-a:-webkit-any-link {
-  border: 1px solid blue;
-  color: orange;
-}
-
- -

Результат

- -

{{EmbedLiveSample('Пример')}}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

-

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/_colon_any-link/index.md b/files/ru/web/css/_colon_any-link/index.md new file mode 100644 index 00000000000000..ca1244671f4874 --- /dev/null +++ b/files/ru/web/css/_colon_any-link/index.md @@ -0,0 +1,76 @@ +--- +title: ':any-link' +slug: Web/CSS/:any-link +tags: + - ':any-link' + - CSS + - Web + - Вёрстка + - Гиперссылки + - Справка + - Ссылки + - Экспериментальное + - псевдокласс + - селектор +translation_of: Web/CSS/:any-link +--- +{{CSSRef}} {{SeeCompatTable}} + +Селектор [псевдокласса](/ru/docs/Web/CSS/Pseudo-classes) [CSS](/ru/docs/Web/CSS) **`:any-link`** представляет собой элемент, который действует как исходный якорь гиперссылки, независимо от того, была ли она посещена. Другими словами, он соответствует всем элементам {{HTMLElement("a")}}, {{HTMLElement("area")}}, или {{HTMLElement("link")}}, которые имеют атрибут `href`. Таким образом, он соответствует всем элементам, которые используют {{cssxref(":link")}} или {{cssxref(":visited")}}. + +```css +/* Выбирает любой элемент, который будет соответствовать:link или :visited */ +:any-link { + color: green; +} +``` + +## Синтаксис + +{{csssyntax}} + +## Пример + +### HTML + +```html +External link
+Internal target link
+Placeholder link (won't get styled) +``` + +### CSS + +```css +a:any-link { + border: 1px solid blue; + color: orange; +} + +/* WebKit browsers */ +a:-webkit-any-link { + border: 1px solid blue; + color: orange; +} +``` + +### Результат + +{{EmbedLiveSample('Пример')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Создание гиперссылок](/ru/docs/Learn/HTML/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2_HTML/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B3%D0%B8%D0%BF%D0%B5%D1%80%D1%81%D1%81%D1%8B%D0%BB%D0%BE%D0%BA) +- Соответствует HTML-элементам: [``](/en-US/docs/Web/HTML/Element/a), [``](/en-US/docs/Web/HTML/Element/area) и [``](/en-US/docs/Web/HTML/Element/link) с атрибутом {{htmlattrxref("href", "a")}} +- Похожие CSS селекторы: + + - [`:visited`](/en-US/docs/Web/CSS/:visited) + - [`:link`](/en-US/docs/Web/CSS/:link) diff --git a/files/ru/web/css/_colon_checked/index.html b/files/ru/web/css/_colon_checked/index.html deleted file mode 100644 index dda10b3d212053..00000000000000 --- a/files/ru/web/css/_colon_checked/index.html +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: ':checked' -slug: 'Web/CSS/:checked' -tags: - - CSS - - Макет - - Псевдоклассы - - Руководство -translation_of: 'Web/CSS/:checked' ---- -
{{CSSRef}}
- -

CSS псевдоклассы :checked CSS находит любые элементы radio (<input type="radio">), checkbox (<input type="checkbox">) или option ({{ HTMLElement("option") }} внутри {{ HTMLElement("select") }}), которые выбраны или включены. Пользователь может изменить это состояние, нажав на элемент, или выбрав другое значение, в этом случае :checked повторно не применится к элементу, а сохранится.

- -

Синтаксис

- -
input:checked {
-  margin-left: 25px;
-  border: 1px solid blue;
-}
-
- -

Формальный синтаксис

- -
element:checked { стили }
- -

Примеры

- -

Примеры селекторов

- -
/* любой "кликабельный" элемент */
-:checked {
-  width: 50px;
-  height: 50px;
-}
-
-/* только радиокнопки */
-input[type="radio"]:checked {
-  margin-left: 25px;
-}
-
-/* только чекбоксы */
-input[type="checkbox"]:checked {
-  display: none;
-}
-
-/* только элементы option */
-option:checked {
-  color: red;
-}
-
- -
-
input[type="radio"]:checked
-
Находит, все отмеченные на странице, радиокнопки
-
- -
-
input[type="checkbox"]:checked
-
Находит все отмеченные чекбоксы
-
option:checked
-
Находит все отмеченные option
-
- -

Использование скрытых чекбоксов, чтобы хранить некоторые булевские значения в CSS

- -

Псевдокласс :checked применяется к скрытым чекбоксам в начале вашей страницы, которые могут использоваться, чтобы хранить некоторые динамические значения, используемые в CSS-правилах. Следующий пример показывает, как скрывать/показывать некоторые расширяемые элементы, нажимая на кнопку (открыть это демо).

- -
<!doctype html>
-<html>
-<head>
-<meta charset="utf-8" />
-<title>Расширяемые элементы</title>
-<style>
-#expand-btn {
-    margin: 0 3px;
-    display: inline-block;
-    font: 12px / 13px "Lucida Grande", sans-serif;
-    text-shadow: rgba(255, 255, 255, 0.4) 0 1px;
-    padding: 3px 6px;
-    border: 1px solid rgba(0, 0, 0, 0.6);
-    background-color: #969696;
-    cursor: default;
-    border-radius: 3px;
-    box-shadow: rgba(255, 255, 255, 0.4) 0 1px, inset 0 20px 20px -10px white;
-}
-
-#isexpanded:checked ~ #expand-btn, #isexpanded:checked ~ * #expand-btn {
-    background: #B5B5B5;
-    box-shadow: inset rgba(0, 0, 0, 0.4) 0 -5px 12px, inset rgba(0, 0, 0, 1) 0 1px 3px, rgba(255, 255, 255, 0.4) 0 1px;
-}
-
-#isexpanded, .expandable {
-    display: none;
-}
-
-#isexpanded:checked ~ * tr.expandable {
-    display: table-row;
-    background: #cccccc;
-
-}
-
-#isexpanded:checked ~ p.expandable, #isexpanded:checked ~ * p.expandable {
-    display: block;
-    background: #cccccc;
-}
-</style>
-</head>
-<body>
-
-<input type="checkbox" id="isexpanded" />
-
-<h1>Расширяемые элементы</h1>
-<table>
-    <thead>
-        <tr><th>Колонка #1</th><th>Колонка #2</th><th>Колонка #3</th></tr>
-    </thead>
-    <tbody>
-        <tr class="expandable"><td>[текст ячейки]</td><td>[текст ячейки]</td><td>[текст ячейки]</td></tr>
-        <tr><td>[текст ячейки]</td><td>[текст ячейки]</td><td>[текст ячейки]</td></tr>
-        <tr><td>[текст ячейки]</td><td>[текст ячейки]</td><td>[текст ячейки]</td></tr>
-        <tr class="expandable"><td>[текст ячейки]</td><td>[текст ячейки]</td><td>[текст ячейки]</td></tr>
-        <tr class="expandable"><td>[текст ячейки]</td><td>[текст ячейки]</td><td>[текст ячейки]</td></tr>
-    </tbody>
-</table>
-
-<p>[какой-то текст примера]</p>
-<p><label for="isexpanded" id="expand-btn">Показать скрытые элементы</label></p>
-<p class="expandable">[другой текст для примера]</p>
-<p>[какой-то текст примера]</p>
-</body>
-</html>
-
- -

{{ EmbedLiveSample('Использование_скрытых_чекбоксов_чтобы_хранить_некоторые_булевские_значения_в_CSS', '', '', '', 'Web/CSS/:checked') }}

- -

Использование скрытых радиокнопок, чтобы хранить некоторые булевские значения в CSS

- -

Также вы можете псевдокласс :checked, чтобы скрывать радиокнопки для того, чтобы создать, например, галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши. Загрузите это демо как вариант решения.

- -
Замечание: Для аналогично эффекта, но основанного на псевдоклассе :hover и без скрытых радиокнопок, смотрите это демо, взятое со страницы :hover.
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/_colon_checked/index.md b/files/ru/web/css/_colon_checked/index.md new file mode 100644 index 00000000000000..c573718a61aba9 --- /dev/null +++ b/files/ru/web/css/_colon_checked/index.md @@ -0,0 +1,150 @@ +--- +title: ':checked' +slug: Web/CSS/:checked +tags: + - CSS + - Макет + - Псевдоклассы + - Руководство +translation_of: Web/CSS/:checked +--- +{{CSSRef}} + +CSS [псевдоклассы](/ru/docs/Web/CSS/Псевдо-классы "Псевдоклассы") **`:checked`** CSS находит любые элементы **radio** (``), **checkbox** (``) или **option** ({{ HTMLElement("option") }} внутри {{ HTMLElement("select") }}), которые выбраны или включены. Пользователь может изменить это состояние, нажав на элемент, или выбрав другое значение, в этом случае `:checked` повторно не применится к элементу, а сохранится. + +## Синтаксис + +```css +input:checked { + margin-left: 25px; + border: 1px solid blue; +} +``` + +### Формальный синтаксис + + element:checked { стили } + +## Примеры + +### Примеры селекторов + +```css +/* любой "кликабельный" элемент */ +:checked { + width: 50px; + height: 50px; +} + +/* только радиокнопки */ +input[type="radio"]:checked { + margin-left: 25px; +} + +/* только чекбоксы */ +input[type="checkbox"]:checked { + display: none; +} + +/* только элементы option */ +option:checked { + color: red; +} +``` + +- `input[type="radio"]:checked` + - : Находит, все отмеченные на странице, радиокнопки + + + +- `input[type="checkbox"]:checked` + - : Находит все отмеченные чекбоксы +- `option:checked` + - : Находит все отмеченные option + +### Использование скрытых чекбоксов, чтобы хранить некоторые булевские значения в CSS + +Псевдокласс `:checked` применяется к скрытым чекбоксам в начале вашей страницы, которые могут использоваться, чтобы хранить некоторые динамические значения, используемые в CSS-правилах. Следующий пример показывает, как скрывать/показывать некоторые расширяемые элементы, нажимая на кнопку ([открыть это демо](/@api/deki/files/6246/=expandable-elements.html "Expandable elements through the :checked pseudoclass")). + +```html + + + + +Расширяемые элементы + + + + + + +

Расширяемые элементы

+ + + + + + + + + + + +
Колонка #1Колонка #2Колонка #3
[текст ячейки][текст ячейки][текст ячейки]
[текст ячейки][текст ячейки][текст ячейки]
+ +

[какой-то текст примера]

+

+ +

[какой-то текст примера]

+ + +``` + +{{ EmbedLiveSample('Использование_скрытых_чекбоксов_чтобы_хранить_некоторые_булевские_значения_в_CSS', '', '', '', 'Web/CSS/:checked') }} + +### Использование скрытых радиокнопок, чтобы хранить некоторые булевские значения в CSS + +Также вы можете псевдокласс `:checked`, чтобы скрывать радиокнопки для того, чтобы создать, например, **галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши**. Загрузите [это демо](/@api/deki/files/6268/=css-checked-gallery.zip "css-checked-gallery.zip") как вариант решения. + +> **Примечание:** **Замечание:** Для аналогично эффекта, но основанного на псевдоклассе [`:hover`](/ru/docs/CSS/:hover "CSS/:hover") и без скрытых радиокнопок, смотрите [это демо](/@api/deki/files/6247/=css-gallery.zip "css-gallery.zip"), взятое со страницы [:hover](/ru/docs/CSS/:hover "CSS/:hover"). + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_default/index.html b/files/ru/web/css/_colon_default/index.html deleted file mode 100644 index a2021ada1daad8..00000000000000 --- a/files/ru/web/css/_colon_default/index.html +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: ':default' -slug: 'Web/CSS/:default' -translation_of: 'Web/CSS/:default' ---- -
{{CSSRef}}
- -

CSS псевдокласс :default находит элемент формы, установленный по умолчанию для группы связанных элементов.

- -

Этот селектор используется для элементов: {{htmlelement("button")}}, <input type="checkbox">, <input type="radio">, и {{htmlelement("option")}} .

- -
/* Выбрать установленный по умолчанию среди <input> */
-input:default {
-  background-color: lime;
-}
- -

Сгруппированные элементы, поддерживающие множественный выбор, также могут иметь несколько элементов, выбранных по умолчанию. В этом случае псевдокласс :default найдёт все эти элементы. Например, можно стилизовать чекбоксы по умолчанию в группе чекбоксов.

- -

Синтаксис

- -
:default
-
- -

Пример

- -

HTML

- -
<input type="radio" name="season" id="spring">
-<label for="spring">Spring</label>
-
-<input type="radio" name="season" id="summer" checked>
-<label for="summer">Summer</label>
-
-<input type="radio" name="season" id="fall">
-<label for="fall">Fall</label>
-
-<input type="radio" name="season" id="winter">
-<label for="winter">Winter</label>
- -

CSS

- -
input:default {
-  box-shadow: 0 0 2px 1px coral;
-}
-
-input:default + label {
-  color: coral;
-}
-
- -

Результат

- -

{{EmbedLiveSample("Пример")}}

- -

Спецификация

- -{{Specifications}} - -

Совместимость с браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/_colon_default/index.md b/files/ru/web/css/_colon_default/index.md new file mode 100644 index 00000000000000..dc6267b5c1a7a9 --- /dev/null +++ b/files/ru/web/css/_colon_default/index.md @@ -0,0 +1,65 @@ +--- +title: ':default' +slug: Web/CSS/:default +translation_of: Web/CSS/:default +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) **`:default`** находит элемент формы, установленный по умолчанию для группы связанных элементов. + +Этот селектор используется для элементов: {{htmlelement("button")}}, [``](/en-US/docs/Web/HTML/Element/input/checkbox), [``](/en-US/docs/Web/HTML/Element/input/radio), и {{htmlelement("option")}} . + +```css +/* Выбрать установленный по умолчанию среди */ +input:default { + background-color: lime; +} +``` + +Сгруппированные элементы, поддерживающие множественный выбор, также могут иметь несколько элементов, выбранных по умолчанию. В этом случае псевдокласс `:default` найдёт _все_ эти элементы. Например, можно стилизовать чекбоксы по умолчанию в группе чекбоксов. + +## Синтаксис + + :default + +## Пример + +### HTML + +```html + + + + + + + + + + + +``` + +### CSS + +```css +input:default { + box-shadow: 0 0 2px 1px coral; +} + +input:default + label { + color: coral; +} +``` + +### Результат + +{{EmbedLiveSample("Пример")}} + +## Спецификация + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_defined/index.html b/files/ru/web/css/_colon_defined/index.html deleted file mode 100644 index bce37a95b007d7..00000000000000 --- a/files/ru/web/css/_colon_defined/index.html +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: ':defined' -slug: 'Web/CSS/:defined' -translation_of: 'Web/CSS/:defined' ---- -
{{ CSSRef }}
- -

CSS псевдокласс :defined находит любой элемент, который был определён, включая любой стандартный элемент, встроенный в браузер, и пользовательские элементы (то есть определённые с помощью метода {{domxref("CustomElementRegistry.define()")}}).

- -
/* Находит любой элемент, который был определён */
-:defined {
-  font-style: italic;
-}
-
-/* Выбирает все элементы simple-custom, если пользовательский элемент simple-custom был определён */
-simple-custom:defined {
-  display: block;
-}
-
- -

Синтаксис

- -{{csssyntax}} - -

Примеры

- -

Этот пример включает скрипт, определяющий пользовательский элемент <simple-custom>:

- -
customElements.define('simple-custom',
-  class extends HTMLElement {
-    constructor() {
-      super();
-
-      let divElem = document.createElement('div');
-      divElem.textContent = this.getAttribute('text');
-
-      let shadowRoot = this.attachShadow({mode: 'open'})
-        .appendChild(divElem);
-  }
-})
- -

Затем мы используем короткий HTML код с элементом <simple-custom> и стандартным элементом {{htmlelement("p")}}:

- -
<simple-custom text="Текст пользовательского элемента"></simple-custom>
-
-<p>Пример текста стандартного параграфа</p>
- -

Теперь немного CSS. Здесь мы определяем цвета фона для разных элементов и используем селектор :defined, чтобы поменять шрифт всех определённых элементов на курсив.

- -
/* Определение разных фонов для разных элементов */
-p {
-  background: yellow;
-}
-
-simple-custom {
-  display: block;
-  background: cyan;
-}
-
-/* И пользовательский, и встроенный элементы будет отображены курсивом */
-:defined {
-  font-style: italic;
-}
- -

Наконец, мы добавляем следующие два правила, чтобы спрятать наш пользовательский элемент, если он не был определён или показать в обратном случае:

- -
simple-custom:not(:defined) {
-  opacity: 0;
-}
-
-simple-custom:defined {
-  opacity: 0.75;
-  text-decoration: underline;
-}
- -

Это полезно, если у вас есть сложный пользовательский элемент, который требует какое-то время для загрузки — возможно, вы захотите спрятать его до определения, чтобы на странице не появились искажения или не стилизованные элементы.

- -

результат

- -

Вот результат выполнения представленного выше кода:

- -

{{EmbedLiveSample('Примеры')}}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/_colon_defined/index.md b/files/ru/web/css/_colon_defined/index.md new file mode 100644 index 00000000000000..1a7258a4430314 --- /dev/null +++ b/files/ru/web/css/_colon_defined/index.md @@ -0,0 +1,106 @@ +--- +title: ':defined' +slug: Web/CSS/:defined +translation_of: Web/CSS/:defined +--- +{{ CSSRef }} + +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/Pseudo-classes) **`:defined`** находит любой элемент, который был определён, включая любой стандартный элемент, встроенный в браузер, и [пользовательские элементы](/ru/docs/Web/Web_Components/Использование_пользовательских_элементов) (то есть определённые с помощью метода {{domxref("CustomElementRegistry.define()")}}). + +```css +/* Находит любой элемент, который был определён */ +:defined { + font-style: italic; +} + +/* Выбирает все элементы simple-custom, если пользовательский элемент simple-custom был определён */ +simple-custom:defined { + display: block; +} +``` + +## Синтаксис + +{{csssyntax}} + +## Примеры + +Этот пример включает скрипт, определяющий [пользовательский элемент](/ru/docs/Web/Web_Components/Использование_пользовательских_элементов) ``: + +```js +customElements.define('simple-custom', + class extends HTMLElement { + constructor() { + super(); + + let divElem = document.createElement('div'); + divElem.textContent = this.getAttribute('text'); + + let shadowRoot = this.attachShadow({mode: 'open'}) + .appendChild(divElem); + } +}) +``` + +Затем мы используем короткий HTML код с элементом `` и стандартным элементом {{htmlelement("p")}}: + +```html + + +

Пример текста стандартного параграфа

+``` + +Теперь немного CSS. Здесь мы определяем цвета фона для разных элементов и используем селектор `:defined`, чтобы поменять шрифт всех определённых элементов на курсив. + +```css +/* Определение разных фонов для разных элементов */ +p { + background: yellow; +} + +simple-custom { + display: block; + background: cyan; +} + +/* И пользовательский, и встроенный элементы будет отображены курсивом */ +:defined { + font-style: italic; +} +``` + +Наконец, мы добавляем следующие два правила, чтобы спрятать наш пользовательский элемент, если он не был определён или показать в обратном случае: + +```css +simple-custom:not(:defined) { + opacity: 0; +} + +simple-custom:defined { + opacity: 0.75; + text-decoration: underline; +} +``` + +Это полезно, если у вас есть сложный пользовательский элемент, который требует какое-то время для загрузки — возможно, вы захотите спрятать его до определения, чтобы на странице не появились искажения или не стилизованные элементы. + +### результат + +Вот результат выполнения представленного выше кода: + +{{EmbedLiveSample('Примеры')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Веб-компоненты](ru/docs/Web/Web_Components) +- {{cssxref(":host")}} +- {{cssxref(":host()")}} +- {{cssxref(":host-context()")}} diff --git a/files/ru/web/css/_colon_dir/index.html b/files/ru/web/css/_colon_dir/index.html deleted file mode 100644 index 6e7a7848b53bee..00000000000000 --- a/files/ru/web/css/_colon_dir/index.html +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: ':dir()' -slug: 'Web/CSS/:dir' -translation_of: 'Web/CSS/:dir' ---- -
{{CSSRef}}{{SeeCompatTable}}
- -

:dir() — это псевдокласс CSS, который выбирает элементы на основе направления текста в них.

- -
/* Выбирает все элементы с текстом справа-налево */
-:dir(rtl) {
-  background-color: red;
-}
- -

:dir() учитывает только семантическое направление, т.е. заданное в самом документе. Он не учитывает стилизованное направление, т.е. заданное CSS-правилами, например {{cssxref("direction")}}.

- -
-

Примечание: помните о том, что псевдокласс :dir() не эквивалентен выбору по атрибуту [dir=…]. Последний применяется только к тем элементам HTML, у которых есть атрибут {{htmlattrxref("dir")}}, игнорируя те, у которых он не задан — даже если они унаследовали его значение. (Похожим образом [dir=rtl] и[dir=ltr] не будут включать auto.) :dir(), же, напротив, соответствует значению вычисленному {{glossary("user agent")}}, даже унаследованному.

-
- -
-

Примечание: В HTML, направление задаётся атрибутом {{htmlattrxref("dir")}}. В других форматах могут использоваться иные методы.

-
- -

Синтаксис

- -

:dir() требует одного параметра, представляющего желаемое направление.

- -

Parameters

- -
-
ltr
-
Выбирает элементы с направлением текста слева-направо.
-
rtl
-
Выбирает элементы с направлением текста справа-налево.
-
- -

Formal syntax

- -{{csssyntax}} - -

Пример

- -

HTML

- -
<div dir="rtl">
-  <span>test1</span>
-  <div dir="ltr">test2
-    <div dir="auto">עִבְרִית</div>
-  </div>
-</div>
-
- -

CSS

- -
:dir(ltr) {
-  background-color: yellow;
-}
-
-:dir(rtl) {
-  background-color: powderblue;
-}
- -

Result

- -

{{ EmbedLiveSample('Пример') }}

- -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

- -
- - -

{{Compat}}

-
- -

Смотрите также

- -
    -
  • Языково-специфичные селекторы CSS: {{cssxref(":lang")}}, {{cssxref(":dir")}}
  • -
diff --git a/files/ru/web/css/_colon_dir/index.md b/files/ru/web/css/_colon_dir/index.md new file mode 100644 index 00000000000000..b16b0ffc722c3e --- /dev/null +++ b/files/ru/web/css/_colon_dir/index.md @@ -0,0 +1,77 @@ +--- +title: ':dir()' +slug: Web/CSS/:dir +translation_of: Web/CSS/:dir +--- +{{CSSRef}}{{SeeCompatTable}} + +**`:dir()`** — это [псевдокласс](/ru/docs/Web/CSS/Pseudo-classes) [CSS](/ru/docs/Web/CSS), который выбирает элементы на основе направления текста в них. + +```css +/* Выбирает все элементы с текстом справа-налево */ +:dir(rtl) { + background-color: red; +} +``` + +`:dir()` учитывает только _семантическое_ направление, т.е. заданное в самом документе. Он не учитывает _стилизованное_ направление, т.е. заданное CSS-правилами, например {{cssxref("direction")}}. + +> **Примечание:** помните о том, что псевдокласс `:dir()` **не эквивалентен** [выбору по атрибуту](/ru/docs/Web/CSS/Attribute_selectors) `[dir=…]`. Последний применяется только к тем элементам HTML, у которых есть атрибут {{htmlattrxref("dir")}}, игнорируя те, у которых он не задан — даже если они унаследовали его значение. (Похожим образом `[dir=rtl]` и`[dir=ltr]` не будут включать `auto`.) `:dir()`, же, напротив, соответствует значению вычисленному {{glossary("user agent")}}, даже унаследованному. + +> **Примечание:** В HTML, направление задаётся атрибутом {{htmlattrxref("dir")}}. В других форматах могут использоваться иные методы. + +## Синтаксис + +`:dir()` требует одного параметра, представляющего желаемое направление. + +### Parameters + +- `ltr` + - : Выбирает элементы с направлением текста слева-направо. +- `rtl` + - : Выбирает элементы с направлением текста справа-налево. + +### Formal syntax + +{{csssyntax}} + +## Пример + +### HTML + +```html +
+ test1 +
test2 +
עִבְרִית
+
+
+``` + +### CSS + +```css +:dir(ltr) { + background-color: yellow; +} + +:dir(rtl) { + background-color: powderblue; +} +``` + +### Result + +{{ EmbedLiveSample('Пример') }} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- Языково-специфичные селекторы CSS: {{cssxref(":lang")}}, {{cssxref(":dir")}} diff --git a/files/ru/web/css/_colon_disabled/index.html b/files/ru/web/css/_colon_disabled/index.html deleted file mode 100644 index 6fab40c01f4209..00000000000000 --- a/files/ru/web/css/_colon_disabled/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: ':disabled' -slug: 'Web/CSS/:disabled' -tags: - - Псевдо-класс -translation_of: 'Web/CSS/:disabled' ---- -
{{CSSRef}}
- -

Описание

- -

CSS псевдокласс :disabled находит любой отключённый элемент. Элемент отключён, если не может быть активирован (например, его нельзя выбрать, нажать на него или ввести текст) или получить фокус. У элемента также есть включённое состояние, когда его можно активировать или сфокусировать.

- -

Примеры

- -

Пример селекторов

- -
-
input:disabled
-
Выберет все отключённые поля ввода
-
select.country:disabled
-
Найдёт все отключённые select элементы с классом country
-
- -

Пример использования

- -

Следующий CSS:

- -
input[type="text"]:disabled { background: #ccc; }
-
- -

Применим к этому HTML5 фрагменту:

- -
<form action="#">
-  <fieldset>
-    <legend>Адрес доставки</legend>
-    <input type="text" placeholder="Имя">
-    <input type="text" placeholder="Адрес">
-    <input type="text" placeholder="Почтовый индекс">
-  </fieldset>
-  <fieldset id="billing">
-    <legend>Адрес оплаты</legend>
-    <label for="billing_is_shipping">Такой же как адрес доставки:</label>
-    <input type="checkbox" onchange="javascript:toggleBilling()" checked>
-    <br />
-    <input type="text" placeholder="Имя" disabled>
-    <input type="text" placeholder="Адрес" disabled>
-    <input type="text" placeholder="Почтовый индекс" disabled>
-  </fieldset>
-</form>
-
- -

Добавим немного javascript:

- -
function toggleBilling() {
-  var billingItems = document.querySelectorAll('#billing input[type="text"]');
-  for (var i = 0; i < billingItems.length; i++) {
-    billingItems[i].disabled = !billingItems[i].disabled;
-  }
-}
-
- -

Результатом будет отключение всех полей в группе адреса оплаты и окраска их в серый цвет.

- -

{{EmbedLiveSample('Пример_использования', '300px', '250px', '', 'Web/CSS/:disabled')}}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • -

    {{Cssxref(":enabled")}}

    -
  • -
diff --git a/files/ru/web/css/_colon_disabled/index.md b/files/ru/web/css/_colon_disabled/index.md new file mode 100644 index 00000000000000..f999be05c58345 --- /dev/null +++ b/files/ru/web/css/_colon_disabled/index.md @@ -0,0 +1,78 @@ +--- +title: ':disabled' +slug: Web/CSS/:disabled +tags: + - Псевдо-класс +translation_of: Web/CSS/:disabled +--- +{{CSSRef}} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:disabled` находит любой отключённый элемент. Элемент отключён, если не может быть активирован (например, его нельзя выбрать, нажать на него или ввести текст) или получить фокус. У элемента также есть включённое состояние, когда его можно активировать или сфокусировать. + +## Примеры + +### Пример селекторов + +- input:disabled + - : Выберет все отключённые поля ввода +- select.country:disabled + - : Найдёт все отключённые `select` элементы с классом `country` + +### Пример использования + +Следующий CSS: + +```css +input[type="text"]:disabled { background: #ccc; } +``` + +Применим к этому HTML5 фрагменту: + +```html +
+
+ Адрес доставки + + + +
+
+ Адрес оплаты + + +
+ + + +
+
+``` + +Добавим немного javascript: + +```js +function toggleBilling() { + var billingItems = document.querySelectorAll('#billing input[type="text"]'); + for (var i = 0; i < billingItems.length; i++) { + billingItems[i].disabled = !billingItems[i].disabled; + } +} +``` + +Результатом будет отключение всех полей в группе адреса оплаты и окраска их в серый цвет. + +{{EmbedLiveSample('Пример_использования', '300px', '250px', '', 'Web/CSS/:disabled')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":enabled")}} diff --git a/files/ru/web/css/_colon_empty/index.html b/files/ru/web/css/_colon_empty/index.html deleted file mode 100644 index 9e20cdb274c9a0..00000000000000 --- a/files/ru/web/css/_colon_empty/index.html +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: ':empty' -slug: 'Web/CSS/:empty' -tags: - - CSS - - CSS Pseudo-class - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:empty' ---- -

{{ CSSRef() }}

- -

Описание

- -

{{ Cssxref("pseudo-classes", "Псевдокласс") }} :empty находит любой элемент, у которого нет потомков. Учитываются элементы и текст (включая пробелы). Комментарии не повлияют на то, что элемент будет рассматриваться как не пустой.

- -

Синтаксис

- -
<element>:empty { /* стили */ }
-
- -

Примеры

- -
.box {
-  background: red;
-  height: 200px;
-  width: 200px;
-}
-
-.box:empty {
-  background: lime;
-}
-
- -
<div class="box"><!-- Я буду лаймовым --></div>
-<div class="box">Я буду красным</div>
-<div class="box">
-    <!-- Я буду красным, так как перед комментарием стоят пробелы -->
-</div>
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/_colon_empty/index.md b/files/ru/web/css/_colon_empty/index.md new file mode 100644 index 00000000000000..e11f45be5084ce --- /dev/null +++ b/files/ru/web/css/_colon_empty/index.md @@ -0,0 +1,51 @@ +--- +title: ':empty' +slug: Web/CSS/:empty +tags: + - CSS + - CSS Pseudo-class + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:empty +--- +{{ CSSRef() }} + +## Описание + +{{ Cssxref("pseudo-classes", "Псевдокласс") }} `:empty` находит любой элемент, у которого нет потомков. Учитываются элементы и текст (включая пробелы). Комментарии не повлияют на то, что элемент будет рассматриваться как не пустой. + +## Синтаксис + + :empty { /* стили */ } + +## Примеры + +```css +.box { + background: red; + height: 200px; + width: 200px; +} + +.box:empty { + background: lime; +} +``` + +```html +
+
Я буду красным
+
+ +
+``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_enabled/index.html b/files/ru/web/css/_colon_enabled/index.html deleted file mode 100644 index 061e9ec6331df5..00000000000000 --- a/files/ru/web/css/_colon_enabled/index.html +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: ':enabled' -slug: 'Web/CSS/:enabled' -translation_of: 'Web/CSS/:enabled' ---- -
{{CSSRef}}
- -

Описание

- -

CSS псевдокласс :enabled находит любой включённый элемент. Элемент включён, если его можно активировать (например, выбрать, нажать на него или ввести текст) или поставить фокус. У элемента также есть отключённое состояние, когда его нельзя активировать или сфокусировать.

- -

Пример

- -

Следующий пример делает цвет текста средне-зелёного оттенка, когда поле включено, и серым, когда отключено. Это позволяет понимать пользователю какие элементы интерактивны, а какие нет.

- -
-

Следующий HTML...

- -
    <form action="url_of_form">
-      <label for="FirstField">Первое поле (включено):</label> <input type="text" id="FirstField" value="Lorem"><br />
-      <label for="SecondField">Второе поле (отключено):</label> <input type="text" id="SecondField" value="Ipsum" disabled="disabled"><br />
-      <input type="button" value="Submit" />
-    </form>
-  
- -

...используем со следующим CSS...

- -
input:enabled {
-  color: #22AA22;
-}
-input:disabled {
-  color: #D9D9D9;
-}
-  
- -

...результат:

- -
{{EmbedLiveSample("Enabled_Disabled_Inputs_Example",550,95)}}
- -
Заметьте, цвет текста кнопки также зелёный, так как она тоже включена.
-
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • {{Cssxref(":disabled")}}
  • -
diff --git a/files/ru/web/css/_colon_enabled/index.md b/files/ru/web/css/_colon_enabled/index.md new file mode 100644 index 00000000000000..bd23bb99b81886 --- /dev/null +++ b/files/ru/web/css/_colon_enabled/index.md @@ -0,0 +1,53 @@ +--- +title: ':enabled' +slug: Web/CSS/:enabled +translation_of: Web/CSS/:enabled +--- +{{CSSRef}} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:enabled` находит любой включённый элемент. Элемент включён, если его можно активировать (например, выбрать, нажать на него или ввести текст) или поставить фокус. У элемента также есть отключённое состояние, когда его нельзя активировать или сфокусировать. + +## Пример + +Следующий пример делает цвет текста средне-зелёного оттенка, когда поле включено, и серым, когда отключено. Это позволяет понимать пользователю какие элементы интерактивны, а какие нет. + +Следующий HTML... + +```html +
+
+
+ +
+ +``` + +...используем со следующим CSS... + +```css +input:enabled { + color: #22AA22; +} +input:disabled { + color: #D9D9D9; +} + +``` + +...результат: + +{{EmbedLiveSample("Enabled_Disabled_Inputs_Example",550,95)}}Заметьте, цвет текста кнопки также зелёный, так как она тоже включена. + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":disabled")}} diff --git a/files/ru/web/css/_colon_first-child/index.html b/files/ru/web/css/_colon_first-child/index.html deleted file mode 100644 index 31a42d01add4e3..00000000000000 --- a/files/ru/web/css/_colon_first-child/index.html +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: ':first-child' -slug: 'Web/CSS/:first-child' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:first-child' ---- -
{{CSSRef}}
- -

{{cssxRef('', 'CSS')}} {{cssxRef('Pseudo-classes', 'псевдокласс')}} :first-child находит любой элемент, являющийся первым в своём родителе.

- -
>
-/* Выбирает любой <p>, который является первым элементом
-   среди своих братьев и сестёр */
-p:first-child {
-  color: lime;
-}
- -
-

Note: Как изначально определено, выбранный элемент должен иметь родителя. Начиная с Selectors Level 4, это больше не требуется.

-
- -

Синтаксис

- -{{csssyntax}} - -

Примеры

- -

Простой пример

- -

HTML

- -
<div>
-  <p>This text is selected!</p>
-  <p>This text isn't selected.</p>
-</div>
-
-<div>
-  <h2>This text isn't selected: it's not a `p`.</h2>
-  <p>This text isn't selected.</p>
-</div>
-
- -

CSS

- -
p:first-child {
-  color: lime;
-  background-color: black;
-  padding: 5px;
-}
-
- -

Результат

- -

{{EmbedLiveSample('Простой_пример', 500, 200)}}

- -

Стилизация списка

- -

HTML

- -
<ul>
-  <li>Item 1</li>
-  <li>Item 2</li>
-  <li>Item 3
-    <ul>
-      <li>Item 3.1</li>
-      <li>Item 3.2</li>
-      <li>Item 3.3</li>
-    </ul>
-  </li>
-</ul>
- -

CSS

- -
ul li {
-  color: blue;
-}
-
-ul li:first-child {
-  color: red;
-  font-weight: bold;
-}
- -

Результат

- -

{{EmbedLiveSample('Стилизация_списка')}}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • {{CSSxRef(":-moz-first-node")}} {{Non-standard_Inline}}
  • -
  • {{CSSxRef(":first-of-type")}}
  • -
  • {{CSSxRef(":last-child")}}
  • -
  • {{CSSxRef(":nth-child", ":nth-child()")}}
  • -
diff --git a/files/ru/web/css/_colon_first-child/index.md b/files/ru/web/css/_colon_first-child/index.md new file mode 100644 index 00000000000000..8d0ce55369edcf --- /dev/null +++ b/files/ru/web/css/_colon_first-child/index.md @@ -0,0 +1,107 @@ +--- +title: ':first-child' +slug: Web/CSS/:first-child +tags: + - Псевдо-классы +translation_of: Web/CSS/:first-child +--- +{{CSSRef}} + +{{cssxRef('', 'CSS')}} {{cssxRef('Pseudo-classes', 'псевдокласс')}} **`:first-child`** находит любой элемент, являющийся первым в своём родителе. + +```css +> +/* Выбирает любой

, который является первым элементом + среди своих братьев и сестёр */ +p:first-child { + color: lime; +} +``` + +> **Примечание:** Как изначально определено, выбранный элемент должен иметь родителя. Начиная с Selectors Level 4, это больше не требуется. + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Простой пример + +#### HTML + +```html +

+

This text is selected!

+

This text isn't selected.

+
+ +
+

This text isn't selected: it's not a `p`.

+

This text isn't selected.

+
+``` + +#### CSS + +```css +p:first-child { + color: lime; + background-color: black; + padding: 5px; +} +``` + +#### Результат + +{{EmbedLiveSample('Простой_пример', 500, 200)}} + +### Стилизация списка + +#### HTML + +```html +
    +
  • Item 1
  • +
  • Item 2
  • +
  • Item 3 +
      +
    • Item 3.1
    • +
    • Item 3.2
    • +
    • Item 3.3
    • +
    +
  • +
+``` + +#### CSS + +```css +ul li { + color: blue; +} + +ul li:first-child { + color: red; + font-weight: bold; +} +``` + +#### Результат + +{{EmbedLiveSample('Стилизация_списка')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{CSSxRef(":-moz-first-node")}} {{Non-standard_Inline}} +- {{CSSxRef(":first-of-type")}} +- {{CSSxRef(":last-child")}} +- {{CSSxRef(":nth-child", ":nth-child()")}} diff --git a/files/ru/web/css/_colon_first-of-type/index.html b/files/ru/web/css/_colon_first-of-type/index.html deleted file mode 100644 index 334b833a9674dd..00000000000000 --- a/files/ru/web/css/_colon_first-of-type/index.html +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: ':first-of-type' -slug: 'Web/CSS/:first-of-type' -tags: - - Псевдоклассы -translation_of: 'Web/CSS/:first-of-type' ---- -
{{CSSRef}}
- -

Описание

- -

CSS псевдокласс :first-of-type находит первого потомка своего типа среди детей родителя.

- -

Синтаксис

- -
element:first-of-type { /* стили */ }
-
- -

Пример

- -

Этот пример показывает, как применится универсальный селектор, если простой селектор не написан.

- -
div :first-of-type {
-  background-color: lime;
-}
- -
<div>
-  <span>Это span первый!</span>
-  <span>Это span нет. :(</span>
-  <span>что насчёт этого <em>вложенного элемента</em>?</span>
-  <strike>Это другой тег</strike>
-  <span>Грустно, это тоже нет...</span>
-</div>
-
- -

...сработает так:

- -
{{EmbedLiveSample('Пример','100%', '120')}}
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- -
    -
  • {{Cssxref(":nth-of-type")}}, {{Cssxref(":last-of-type")}}
  • -
diff --git a/files/ru/web/css/_colon_first-of-type/index.md b/files/ru/web/css/_colon_first-of-type/index.md new file mode 100644 index 00000000000000..4e2a9f47dd431b --- /dev/null +++ b/files/ru/web/css/_colon_first-of-type/index.md @@ -0,0 +1,52 @@ +--- +title: ':first-of-type' +slug: Web/CSS/:first-of-type +tags: + - Псевдоклассы +translation_of: Web/CSS/:first-of-type +--- +{{CSSRef}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:first-of-type` находит первого потомка своего типа среди детей родителя. + +## Синтаксис + + element:first-of-type { /* стили */ } + +## Пример + +Этот пример показывает, как применится универсальный селектор, если простой селектор не написан. + +```css +div :first-of-type { + background-color: lime; +} +``` + +```html +
+ Это span первый! + Это span нет. :( + что насчёт этого вложенного элемента? + Это другой тег + Грустно, это тоже нет... +
+``` + +...сработает так: + +{{EmbedLiveSample('Пример','100%', '120')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":nth-of-type")}}, {{Cssxref(":last-of-type")}} diff --git a/files/ru/web/css/_colon_first/index.html b/files/ru/web/css/_colon_first/index.html deleted file mode 100644 index 9ee1cf0585ada0..00000000000000 --- a/files/ru/web/css/_colon_first/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: ':first' -slug: 'Web/CSS/:first' -tags: - - '@page' - - CSS - - Псевдо-класс - - Разметка -translation_of: 'Web/CSS/:first' ---- - - -

CSS псевдокласс :first используется с @-правилом {{cssxref("@page")}}, представляя первую страницу документа при печати.

- -
/* Выбирает первую страницу при печати */
-@page :first {
-  margin-left: 50%;
-  margin-top: 50%;
-}
- -
-

Обратите внимание: Вы можете изменять не все CSS-свойства в этом псевдоклассе. Вы можете изменять только внешние отступы, {{cssxref("orphans")}}, {{cssxref("widows")}}, и разбитие документа на страницы. Более того, вы можете использовать только абсолютные единицы измерения, определяя внешние отступы. Все остальные правила будут проигнорированы.

-
- -

Синтаксис

- -{{csssyntax}} - -

Примеры

- -

HTML

- -
<p>Первая страница.</p>
-<p>Вторая страница.</p>
-<button>Напечатать</button>
-
- -

CSS

- -
@page :first {
-  margin-left: 50%;
-  margin-top: 50%;
-}
-
-p {
-  page-break-after: always;
-}
-
- -

JavaScript

- -
document.querySelector("button").onclick = function () {
-  window.print();
-}
-
- -

Результат

- -

Нажмите кнопку "Напечатать", чтобы напечатать пример. Слова на первой странице должны быть примерно в центре, тогда как на остальных страницах надписи будут на своих обычных местах.

- -

{{ EmbedLiveSample('Example', '80%', '150px') }}

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- - - -

Смотрите также

- -
    -
  • {{Cssxref("@page")}}
  • -
  • Другие связанные псевдоклассы: {{Cssxref(":left")}}, {{Cssxref(":right")}}
  • -
diff --git a/files/ru/web/css/_colon_first/index.md b/files/ru/web/css/_colon_first/index.md new file mode 100644 index 00000000000000..9f33d5a482a480 --- /dev/null +++ b/files/ru/web/css/_colon_first/index.md @@ -0,0 +1,75 @@ +--- +title: ':first' +slug: Web/CSS/:first +tags: + - '@page' + - CSS + - Псевдо-класс + - Разметка +translation_of: Web/CSS/:first +--- +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) **`:first`** используется с @-правилом {{cssxref("@page")}}, представляя первую страницу документа при печати. + +```css +/* Выбирает первую страницу при печати */ +@page :first { + margin-left: 50%; + margin-top: 50%; +} +``` + +> **Примечание:** **Обратите внимание:** Вы можете изменять не все CSS-свойства в этом псевдоклассе. Вы можете изменять только внешние отступы, {{cssxref("orphans")}}, {{cssxref("widows")}}, и разбитие документа на страницы. Более того, вы можете использовать только [абсолютные единицы измерения](/ru/docs/Web/CSS/размер#Абсолютные_единицы_измерения_размера), определяя внешние отступы. Все остальные правила будут проигнорированы. + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### HTML + +```html +

Первая страница.

+

Вторая страница.

+ +``` + +### CSS + +```css +@page :first { + margin-left: 50%; + margin-top: 50%; +} + +p { + page-break-after: always; +} +``` + +### JavaScript + +```js +document.querySelector("button").onclick = function () { + window.print(); +} +``` + +### Результат + +Нажмите кнопку "Напечатать", чтобы напечатать пример. Слова на первой странице должны быть примерно в центре, тогда как на остальных страницах надписи будут на своих обычных местах. + +{{ EmbedLiveSample('Example', '80%', '150px') }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref("@page")}} +- Другие связанные псевдоклассы: {{Cssxref(":left")}}, {{Cssxref(":right")}} diff --git a/files/ru/web/css/_colon_focus-visible/index.html b/files/ru/web/css/_colon_focus-visible/index.html deleted file mode 100644 index c723842c48479d..00000000000000 --- a/files/ru/web/css/_colon_focus-visible/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: ':focus-visible' -slug: 'Web/CSS/:focus-visible' -translation_of: 'Web/CSS/:focus-visible' ---- -
Псевдокласс :focus-visible применяется, в то время как элемент соответствует псевдоклассу :focus, и UA ({{glossary("User Agent")}}) определяет с помощью эвристики, что фокус должен быть сделан очевидным для элемента.
- -

Этот селектор полезен для предоставления другого индикатора фокуса, основанного на модальности ввода пользователя (мышь против клавиатуры).

- -

Обратите внимание, что Firefox поддерживает аналогичную функциональность через старый псевдокласс с префиксом :-moz-focusring.

- -

Синтаксис

- -{{CSSSyntax}} - -

Пример

- -

Базовый пример

- -

В этом примере селектор :focus-visible использует поведение UA, чтобы определить, когда соответствовать. Сравните, что происходит, когда вы щёлкаете мышью по разным элементам управления, и что происходит при переходе по ним с помощью клавиатуры. Обратите внимание на разницу в поведении элементов, оформленных с помощью :focus.

- -
<input value="Default styles"><br>
-<button>Default styles</button><br>
-<input class="focus-only" value=":focus only"><br>
-<button class="focus-only">:focus only</button><br>
-<input class="focus-visible-only" value=":focus-visible only"><br>
-<button class="focus-visible-only">:focus-visible only</button>
- -
input, button {
-  margin: 10px;
-}
-
-.focus-only:focus {
-  outline: 2px solid black;
-}
-
-.focus-visible-only:focus-visible {
-  outline: 4px dashed darkorange;
-}
-
- -

{{EmbedLiveSample("Базовый_пример", "100%", 300)}}

- -

Выборочное отображение индикатора фокусировки

- -

Пользовательский элемент управления, такой как кнопка настраиваемого элемента, может использовать: focus-visible для выборочного применения индикатора фокуса только к фокусу клавиатуры. Это соответствует собственному поведению фокуса для таких элементов управления, как {{htmlelement ("button")}}.

- -
<custom-button tabindex="0" role="button">Click Me</custom-button>
- -
custom-button {
-  display: inline-block;
-  margin: 10px;
-}
-
-custom-button:focus {
-  /* Обеспечьте резервный стиль для браузеров,
-которые не поддерживают: focus-visible */
-  outline: none;
-  background: lightgrey;
-}
-
-custom-button:focus:not(:focus-visible) {
-  /* Remove the focus indicator on mouse-focus for browsers
-     that do support :focus-visible */
-  background: transparent;
-}
-
-custom-button:focus-visible {
-  /* Draw a very noticeable focus style for
-     keyboard-focus on browsers that do support
-     :focus-visible */
-  outline: 4px dashed darkorange;
-  background: transparent;
-}
- -

{{EmbedLiveSample("Выборочное_отображение_индикатора_фокусировки", "100%", 300)}}

- -

Polyfill

- -

You can polyfill :focus-visible using focus-visible.js.

- -

Accessibility concerns

- -

Low vision

- -

Make sure the visual focus indicator can be seen by people with low vision. This will also benefit anyone use a screen in a brightly lit space (like outside in the sun). WCAG 2.1 SC 1.4.11 Non-Text Contrast requires that the visual focus indicator be at least 3 to 1.

- - - -

Cognition

- -

It may not be obvious as to why the focus indicator is appearing and disappearing if a person is using mixed forms of input. For users with cognitive concerns, or who are less technologically literate, this lack of consistent behavior for interactive elements may be confusing.

- -

Specifications

- - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName("CSS4 Selectors", "#the-focus-visible-pseudo", ":focus-visible")}}{{Spec2("CSS4 Selectors")}}Initial definition.
- -

Browser compatibility

- - - -

{{Compat}}

- -

See also

- -
    -
  • {{CSSxRef(":focus")}}
  • -
  • {{CSSxRef(":focus-within")}}
  • -
diff --git a/files/ru/web/css/_colon_focus-visible/index.md b/files/ru/web/css/_colon_focus-visible/index.md new file mode 100644 index 00000000000000..df99f88315f049 --- /dev/null +++ b/files/ru/web/css/_colon_focus-visible/index.md @@ -0,0 +1,114 @@ +--- +title: ':focus-visible' +slug: Web/CSS/:focus-visible +translation_of: Web/CSS/:focus-visible +--- +Псевдокласс **`:focus-visible`** применяется, в то время как элемент соответствует псевдоклассу :focus, и UA ({{glossary("User Agent")}}) определяет с помощью эвристики, что фокус должен быть сделан очевидным для элемента. + +Этот селектор полезен для предоставления другого индикатора фокуса, основанного на модальности ввода пользователя (мышь против клавиатуры). + +Обратите внимание, что Firefox поддерживает аналогичную функциональность через старый псевдокласс с префиксом `:-moz-focusring`. + +## Синтаксис + +{{CSSSyntax}} + +## Пример + +### Базовый пример + +В этом примере селектор `:focus-visible` использует поведение UA, чтобы определить, когда соответствовать. Сравните, что происходит, когда вы щёлкаете мышью по разным элементам управления, и что происходит при переходе по ним с помощью клавиатуры. Обратите внимание на разницу в поведении элементов, оформленных с помощью `:focus`. + +```html +
+
+
+
+
+ +``` + +```css +input, button { + margin: 10px; +} + +.focus-only:focus { + outline: 2px solid black; +} + +.focus-visible-only:focus-visible { + outline: 4px dashed darkorange; +} +``` + +{{EmbedLiveSample("Базовый_пример", "100%", 300)}} + +### Выборочное отображение индикатора фокусировки + +Пользовательский элемент управления, такой как кнопка [настраиваемого элемента](/ru/docs/User:Andreas_Wuest/Custom_Elements), может использовать: focus-visible для выборочного применения индикатора фокуса только к фокусу клавиатуры. Это соответствует собственному поведению фокуса для таких элементов управления, как {{htmlelement ("button")}}. + +```html +Click Me +``` + +```css +custom-button { + display: inline-block; + margin: 10px; +} + +custom-button:focus { + /* Обеспечьте резервный стиль для браузеров, +которые не поддерживают: focus-visible */ + outline: none; + background: lightgrey; +} + +custom-button:focus:not(:focus-visible) { + /* Remove the focus indicator on mouse-focus for browsers + that do support :focus-visible */ + background: transparent; +} + +custom-button:focus-visible { + /* Draw a very noticeable focus style for + keyboard-focus on browsers that do support + :focus-visible */ + outline: 4px dashed darkorange; + background: transparent; +} +``` + +{{EmbedLiveSample("Выборочное_отображение_индикатора_фокусировки", "100%", 300)}} + +## Polyfill + +You can polyfill `:focus-visible` using [focus-visible.js](https://github.com/WICG/focus-visible). + +## Accessibility concerns + +### Low vision + +Make sure the visual focus indicator can be seen by people with low vision. This will also benefit anyone use a screen in a brightly lit space (like outside in the sun). [WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) requires that the visual focus indicator be at least 3 to 1. + +- Accessible Visual Focus Indicators: [Give Your Site Some Focus! Tips for Designing Useful and Usable Focus Indicators](https://www.deque.com/blog/give-site-focus-tips-designing-usable-focus-indicators/) + +### Cognition + +It may not be obvious as to why the focus indicator is appearing and disappearing if a person is using mixed forms of input. For users with cognitive concerns, or who are less technologically literate, this lack of consistent behavior for interactive elements may be confusing. + +## Specifications + +| Specification | Status | Comment | +| -------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------- | +| {{SpecName("CSS4 Selectors", "#the-focus-visible-pseudo", ":focus-visible")}} | {{Spec2("CSS4 Selectors")}} | Initial definition. | + +## Browser compatibility + +{{Compat}} + +## See also + +- {{CSSxRef(":focus")}} +- {{CSSxRef(":focus-within")}} diff --git a/files/ru/web/css/_colon_focus-within/index.html b/files/ru/web/css/_colon_focus-within/index.html deleted file mode 100644 index 5af9083a31eca8..00000000000000 --- a/files/ru/web/css/_colon_focus-within/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: ':focus-within' -slug: 'Web/CSS/:focus-within' -translation_of: 'Web/CSS/:focus-within' ---- -
{{CSSRef}}
- -

CSS Псевдо-класс :focus-within соответствует элементу, который либо сам находится в фокусе, либо содержит элемент, который находится в фокусе. Другими словами, он представляет элементу, который соответствует псевдоклассу {{CSSxRef(":focus")}} либо имеет потомка, который соответствует :focus. (Включая потомков в shadow trees.)

- -
/* Выделяет <div> когда один из его потомков находится в фокусе */
-div:focus-within {
-  background: cyan;
-}
- -

Этот селектор может оказаться полезным, например, для подсвечивания всего контейнера {{HTMLElement("form")}}, когда пользователь устанавливает фокус на одном из его полей ввода {{HTMLElement("input")}}.

- -

Синтаксис

- -{{CSSSyntax}} - -

Пример

- -

В этом примере форма раскрашивается при помощи специального правила стилей, когда один из её дочерних полей для ввода находится в фокусе.

- -

HTML

- -
<p>Try typing into this form.</p>
-
-<form>
-  <label for="given_name">Given Name:</label>
-  <input id="given_name" type="text">
-  <br>
-  <label for="family_name">Family Name:</label>
-  <input id="family_name" type="text">
-</form>
- -

CSS

- -
form {
-  border: 1px solid;
-  color: gray;
-  padding: 4px;
-}
-
-form:focus-within {
-  background: #ff8;
-  color: black;
-}
-
-input {
-  margin: 4px;
-}
-
- -

Итог

- -

{{EmbedLiveSample("Пример", 500, 150)}}

- -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

-

{{Compat}}

- -

See also

- -
    -
  • {{CSSxRef(":focus")}}
  • -
  • {{CSSxRef(":focus-visible")}} {{Experimental_Inline}}
  • -
diff --git a/files/ru/web/css/_colon_focus-within/index.md b/files/ru/web/css/_colon_focus-within/index.md new file mode 100644 index 00000000000000..1f65dc2fbf60d9 --- /dev/null +++ b/files/ru/web/css/_colon_focus-within/index.md @@ -0,0 +1,75 @@ +--- +title: ':focus-within' +slug: Web/CSS/:focus-within +translation_of: Web/CSS/:focus-within +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [Псевдо-класс](/ru/docs/Web/CSS/Pseudo-classes) **`:focus-within`** соответствует элементу, который либо сам находится в фокусе, либо содержит элемент, который находится в фокусе. Другими словами, он представляет элементу, который соответствует псевдоклассу {{CSSxRef(":focus")}} либо имеет потомка, который соответствует `:focus`. (Включая потомков в [shadow trees](/ru/docs/Web/Web_Components/Shadow_DOM).) + +```css +/* Выделяет
когда один из его потомков находится в фокусе */ +div:focus-within { + background: cyan; +} +``` + +Этот селектор может оказаться полезным, например, для подсвечивания всего контейнера {{HTMLElement("form")}}, когда пользователь устанавливает фокус на одном из его полей ввода {{HTMLElement("input")}}. + +## Синтаксис + +{{CSSSyntax}} + +## Пример + +В этом примере форма раскрашивается при помощи специального правила стилей, когда один из её дочерних полей для ввода находится в фокусе. + +### HTML + +```html +

Try typing into this form.

+ +
+ + +
+ + +
+``` + +### CSS + +```css +form { + border: 1px solid; + color: gray; + padding: 4px; +} + +form:focus-within { + background: #ff8; + color: black; +} + +input { + margin: 4px; +} +``` + +### Итог + +{{EmbedLiveSample("Пример", 500, 150)}} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## See also + +- {{CSSxRef(":focus")}} +- {{CSSxRef(":focus-visible")}} {{Experimental_Inline}} diff --git a/files/ru/web/css/_colon_focus/index.html b/files/ru/web/css/_colon_focus/index.html deleted file mode 100644 index 5f508701e60cea..00000000000000 --- a/files/ru/web/css/_colon_focus/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: ':focus' -slug: 'Web/CSS/:focus' -tags: - - CSS - - Layout - - Reference - - Web - - Веб - - Псевдо-классы - - Раскладка -translation_of: 'Web/CSS/:focus' ---- -
{{CSSRef}}
- -

CSS псевдокласс :focus применяется, когда элемент (такой как input формы) получает фокус. Обычно он активируется при клике мышью пользователем или при выборе элемента с использованием клавиши "tab" на клавиатуре.

- -
/* Selects any <input> when focused */
-input:focus {
-  color: red;
-}
- -
-

Примечание: Этот псевдокласс применяется только тогда, когда в фокусе находится сам элемент. Используйте {{CSSxRef(":focus-within")}}, если вы хотите выбрать элемент, в котором находится сфокусированный элемент.

-
- -

Синтаксис

- -{{CSSSyntax}} - -

Пример

- -

HTML

- -
<input class="red-input" value="Я буду красным, если на меня попадёт фокус">
-<input class="lime-input" value="Я буду лаймовым при фокусе">
- -

CSS

- -
.red-input:focus {
-  color: red;
-}
-
-.lime-input:focus {
-  color: lime;
-}
- -

Результат

- -

{{EmbedLiveSample('Пример', '100%', 40)}}

- -

Проблемы доступности

- -

Убедитесь что визуальный индикатор фокусировки хорошо виден людям с плохим зрением. Это также поможет любым другим людям, которые используют экран в ярко освещённом месте (например, на солнце). WCAG 2.1 SC 1.4.11 Non-Text Contrast (WCAG 2.1 SC 1.4.11 Нетекстовой контраст) требует, чтобы контраст визуального индикатора фокуса должен быть не менее 3 к 1.

- - - -

:focus { outline: none; }

- -

Никогда не удаляйте фокусный outline (видимый индикатор фокуса), не заменяя его фокусным контуром подходящим под требования WCAG 2.1 SC 1.4.11 Non-Text Contrast

- - - -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -
-

{{Compat}}

-
- -

Смотрите также

- -
    -
  • {{CSSxRef(":focus-visible")}} {{Experimental_Inline}}
  • -
  • {{CSSxRef(":focus-within")}}
  • -
diff --git a/files/ru/web/css/_colon_focus/index.md b/files/ru/web/css/_colon_focus/index.md new file mode 100644 index 00000000000000..07db8898264d27 --- /dev/null +++ b/files/ru/web/css/_colon_focus/index.md @@ -0,0 +1,79 @@ +--- +title: ':focus' +slug: Web/CSS/:focus +tags: + - CSS + - Layout + - Reference + - Web + - Веб + - Псевдо-классы + - Раскладка +translation_of: Web/CSS/:focus +--- +{{CSSRef}} + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") **`:focus`** применяется, когда элемент (такой как input формы) получает фокус. Обычно он активируется при клике мышью пользователем или при выборе элемента с использованием клавиши "tab" на клавиатуре. + +```css +/* Selects any when focused */ +input:focus { + color: red; +} +``` + +> **Примечание:** Этот псевдокласс применяется только тогда, когда в фокусе находится сам элемент. Используйте {{CSSxRef(":focus-within")}}, если вы хотите выбрать элемент, в котором находится сфокусированный элемент. + +## Синтаксис + +{{CSSSyntax}} + +## Пример + +### HTML + +```html + + +``` + +### CSS + +```css +.red-input:focus { + color: red; +} + +.lime-input:focus { + color: lime; +} +``` + +### Результат + +{{EmbedLiveSample('Пример', '100%', 40)}} + +## Проблемы доступности + +Убедитесь что визуальный индикатор фокусировки хорошо виден людям с плохим зрением. Это также поможет любым другим людям, которые используют экран в ярко освещённом месте (например, на солнце). [WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) (_WCAG 2.1 SC 1.4.11 Нетекстовой контраст_) требует, чтобы контраст визуального индикатора фокуса должен быть не менее 3 к 1. + +- Доступность визуальных индикаторов фокуса: [Добавьте на ваш сайт фокус! Советы по разработке полезных и удобных индикаторов фокуса](https://www.deque.com/blog/give-site-focus-tips-designing-usable-focus-indicators/) + +### `:focus { outline: none; }` + +**Никогда** не удаляйте фокусный outline (видимый индикатор фокуса), не заменяя его фокусным контуром подходящим под требования [WCAG 2.1 SC 1.4.11 Non-Text Contrast](https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html) + +- Небольшой совет: [Никогда не удаляйте CSS контуры](https://a11yproject.com/posts/never-remove-css-outlines/) + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{CSSxRef(":focus-visible")}} {{Experimental_Inline}} +- {{CSSxRef(":focus-within")}} diff --git a/files/ru/web/css/_colon_fullscreen/index.html b/files/ru/web/css/_colon_fullscreen/index.html deleted file mode 100644 index 2a5679141699a8..00000000000000 --- a/files/ru/web/css/_colon_fullscreen/index.html +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: ':fullscreen' -slug: 'Web/CSS/:fullscreen' -tags: - - Вёрстка - - полноэкранный режим - - псевдокласс - - экран -translation_of: 'Web/CSS/:fullscreen' ---- -
{{CSSRef}}
- -

CSS Псевдокласс :fullscreen соответствует элементу, который в данный момент находится в полноэкранном режиме. Если в полноэкранном режиме находятся несколько элементов, то выбираются все они.

- -

Синтаксис

- -{{csssyntax}} - -

Примечания по использованию

- -

Псевдокласс :fullscreen позволяет настроить ваши таблицы стилей для автоматического регулирования размера, стилю или шаблона содержимого, когда элемент переключается между полноэкранным режимом и традиционным представлением.

- -

Пример

- -

В этом примере, цвет кнопки меняется в зависимости от того, находится ли документ в полноэкранном режиме. Он выполнен без принудительного изменения стиля посредством JavaScript.

- -

HTML

- -

HTML выглядит так:

- -
<h1>MDN Web Docs Demo: :fullscreen pseudo-class</h1>
-
-<p>This demo uses the <code>:fullscreen</code> pseudo-class to automatically
-  change the style of a button used to toggle full-screen mode on and off,
-  entirely using CSS.</p>
-
-<button id="fs-toggle">Toggle Fullscreen</button>
- -

{{HTMLElement("button")}} с ID "fs-toggle" будет изменятся между бледно-красный и бледно-зелёный в зависимости от того, находится ли документ в полноэкранном режиме.

- -

CSS

- -

Магия происходит в CSS. Используются два правила. Первое устанавливает цвет фона кнопки на "Toggle Full-screen Mode", когда элемент не находится в полноэкранном режиме. Для этого используется ключ :not(:fullscreen), который выглядит как элемент, не имеющий установленного псевдокласса :fullscreen.

- -
#fs-toggle:not(:fullscreen) {
-  background-color: #afa;
-}
-
- -

Когда документ находится в полноэкранном режиме, применяется следующее правило CSS, устанавливающее цвет фона на оттенок бледно-красного.

- -
#fs-toggle:fullscreen {
-  background-color: #faa;
-}
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -
- - -

{{Compat}}

-
- -

See also

- -
    -
  • Fullscreen API
  • -
  • Guide to the Fullscreen API
  • -
  • {{cssxref(":not")}}
  • -
  • {{cssxref("::backdrop")}}
  • -
  • DOM API: {{ domxref("Element.requestFullscreen()") }}, {{ domxref("Document.exitFullscreen()") }}, {{ domxref("Document.fullscreenElement") }}
  • -
  • {{HTMLAttrXRef("allowfullscreen", "iframe")}} attribute
  • -
diff --git a/files/ru/web/css/_colon_fullscreen/index.md b/files/ru/web/css/_colon_fullscreen/index.md new file mode 100644 index 00000000000000..ee773e429ee981 --- /dev/null +++ b/files/ru/web/css/_colon_fullscreen/index.md @@ -0,0 +1,76 @@ +--- +title: ':fullscreen' +slug: Web/CSS/:fullscreen +tags: + - Вёрстка + - полноэкранный режим + - псевдокласс + - экран +translation_of: Web/CSS/:fullscreen +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [Псевдокласс](/ru/docs/Web/CSS/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) **`:fullscreen`** соответствует элементу, который в данный момент находится в полноэкранном режиме. Если в полноэкранном режиме находятся несколько элементов, то выбираются все они. + +## Синтаксис + +{{csssyntax}} + +## Примечания по использованию + +Псевдокласс `:fullscreen` позволяет настроить ваши таблицы стилей для автоматического регулирования размера, стилю или шаблона содержимого, когда элемент переключается между полноэкранным режимом и традиционным представлением. + +## Пример + +В этом примере, цвет кнопки меняется в зависимости от того, находится ли документ в полноэкранном режиме. Он выполнен без принудительного изменения стиля посредством JavaScript. + +### HTML + +HTML выглядит так: + +```html +

MDN Web Docs Demo: :fullscreen pseudo-class

+ +

This demo uses the :fullscreen pseudo-class to automatically + change the style of a button used to toggle full-screen mode on and off, + entirely using CSS.

+ + +``` + +{{HTMLElement("button")}} с ID `"fs-toggle"` будет изменятся между бледно-красный и бледно-зелёный в зависимости от того, находится ли документ в полноэкранном режиме. + +### CSS + +Магия происходит в CSS. Используются два правила. Первое устанавливает цвет фона кнопки на "Toggle Full-screen Mode", когда элемент не находится в полноэкранном режиме. Для этого используется ключ `:not(:fullscreen)`, который выглядит как элемент, не имеющий установленного псевдокласса `:fullscreen`. + +```css +#fs-toggle:not(:fullscreen) { + background-color: #afa; +} +``` + +Когда документ находится в полноэкранном режиме, применяется следующее правило CSS, устанавливающее цвет фона на оттенок бледно-красного. + +```css +#fs-toggle:fullscreen { + background-color: #faa; +} +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## See also + +- [Fullscreen API](/ru/docs/Web/API/Fullscreen_API) +- [Guide to the Fullscreen API](/ru/docs/Web/API/Fullscreen_API/Guide) +- {{cssxref(":not")}} +- {{cssxref("::backdrop")}} +- DOM API: {{ domxref("Element.requestFullscreen()") }}, {{ domxref("Document.exitFullscreen()") }}, {{ domxref("Document.fullscreenElement") }} +- {{HTMLAttrXRef("allowfullscreen", "iframe")}} attribute diff --git a/files/ru/web/css/_colon_has/index.html b/files/ru/web/css/_colon_has/index.html deleted file mode 100644 index 205793a6babe38..00000000000000 --- a/files/ru/web/css/_colon_has/index.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: ':has()' -slug: 'Web/CSS/:has' -tags: - - CSS - - Псевдоклассы - - Селекторы - - Справка - - Экспериментальная -translation_of: 'Web/CSS/:has' ---- -
{{CSSRef}}
- -

CSS псевдокласс :has() отображает элемент в том случае, если любой из селекторов, переданный в качестве параметра (относительно {{cssxref(":scope")}}), соответствует хотя бы одному элементу.

- -

Псевдокласс :has() берет соответствующий список селекторов в качестве аргумента. В ранней версии спецификации CSS Selectors Level 4, :has имел ограничение, которое не позволяло использовать его в таблицах стилей; только с использованием функций, как например: {{domxref("document.querySelector()")}} (из-за проблем с производительностью). На текущий момент, это ограничение снято, так как ни один из браузеров не реализовал это соответствующим образом.

- -
/* Выбирает любой тег <a>, если следом за ним находится дочерний элемент <img> */
-/* Отмечу, что это не поддерживается ни одним из браузеров */
-var test = document.querySelector('a:has(> img)');
- -

Синтаксис

- -{{CSSSyntax}} - -

Примеры

- -

Следующий селектор находит только те теги {{HTMLElement("a")}}, которые непосредственно содержат дочерний элемент {{HTMLElement("img")}}:

- -
a:has(> img)
-
- -

Следующий селектор находит только те теги {{HTMLElement("h1")}}, при условии, что следом за ними находится элемент {{htmlelement("p")}}:

- -
h1:has(+ p)
- -

Спецификации

- -{{Specifications}} - -

Совместимость с браузерами

-

{{Compat}}

diff --git a/files/ru/web/css/_colon_has/index.md b/files/ru/web/css/_colon_has/index.md new file mode 100644 index 00000000000000..87fd37a5a96e49 --- /dev/null +++ b/files/ru/web/css/_colon_has/index.md @@ -0,0 +1,44 @@ +--- +title: ':has()' +slug: Web/CSS/:has +tags: + - CSS + - Псевдоклассы + - Селекторы + - Справка + - Экспериментальная +translation_of: Web/CSS/:has +--- +{{CSSRef}} + +CSS [псевдокласс ](/Web/CSS/Псевдо-классы)[](/ru/docs/Web/CSS/Псевдо-классы)**`:has()`** отображает элемент в том случае, если любой из селекторов, переданный в качестве параметра (относительно {{cssxref(":scope")}}), соответствует хотя бы одному элементу. + +Псевдокласс `:has()` берет соответствующий список селекторов в качестве аргумента. В ранней версии спецификации CSS Selectors Level 4, `:has` имел ограничение, которое не позволяло использовать его в таблицах стилей; только с использованием функций, как например: {{domxref("document.querySelector()")}} (из-за проблем с производительностью). На текущий момент, это ограничение снято, так как ни один из браузеров не реализовал это соответствующим образом. + +```css +/* Выбирает любой тег , если следом за ним находится дочерний элемент */ +/* Отмечу, что это не поддерживается ни одним из браузеров */ +var test = document.querySelector('a:has(> img)'); +``` + +## Синтаксис + +{{CSSSyntax}} + +## Примеры + +Следующий селектор находит только те теги {{HTMLElement("a")}}, которые непосредственно содержат дочерний элемент {{HTMLElement("img")}}: + + a:has(> img) + +Следующий селектор находит только те теги {{HTMLElement("h1")}}, при условии, что следом за ними находится элемент {{htmlelement("p")}}: + + h1:has(+ p) + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_host_function/index.html b/files/ru/web/css/_colon_host_function/index.html deleted file mode 100644 index 008a4a7ca07a38..00000000000000 --- a/files/ru/web/css/_colon_host_function/index.html +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: ':host()' -slug: Web/CSS/:host_function -translation_of: Web/CSS/:host() -original_slug: Web/CSS/:host() ---- -
{{CSSRef}}
- - - -

CSS функция-псевдокласс :host() выбирает shadow хоста (носителя) shadow DOM-a, который содержит CSS, используемый внутри (так что вы можете выбрать пользовательский элемент изнутри его shadow DOM) — но только если селектор, переданный как параметр функции, соответствует shadow хосту.

- -

Самый очевидный способ использовать его — поставить некоторый класс только на определённые экземпляры пользовательских элементов, а затем передать соответствующий классовый селектор как аргумент функции. Вы не можете использовать псевдокласс c селектором наследника, чтобы выбрать только экземпляры пользовательского элемента, которые находятся внутри определённого предка. Это работа {{CSSxRef(":host-context()")}}.

- -
-

Примечание: Псевдокласс не имеет эффекта вне shadow DOM.

-
- -
/* Выбирает хоста shadow root, только
-  если он соответствует аргументу селектора */
-:host(.special-custom-element) {
-  font-weight: bold;
-}
-
- -

Синтаксис

- -{{CSSSyntax}} - -

Примеры

- -

Селективная стилизация shadow хостов

- -

Следующие ниже фрагменты взяты из нашего примера host-selectors (также смотрите вживую).

- -

В этом примере у нас есть простой пользовательский элемент — <context-span> — который мы оборачиваем вокруг текста:

- -
<h1>Host selectors <a href="#"><context-span>example</context-span></a></h1>
- -

Внутри конструктора элемента мы создаём элементы style и span, заполняем span контентом пользовательского элемента и заполняем элемент style CSS-правилами:

- -
let style = document.createElement('style');
-let span = document.createElement('span');
-span.textContent = this.textContent;
-
-const shadowRoot = this.attachShadow({mode: 'open'});
-shadowRoot.appendChild(style);
-shadowRoot.appendChild(span);
-
-style.textContent = 'span:hover { text-decoration: underline; }' +
-                    ':host-context(h1) { font-style: italic; }' +
-                    ':host-context(h1):after { content: " - no links in headers!" }' +
-                    ':host-context(article, aside) { color: gray; }' +
-                    ':host(.footer) { color : red; }' +
-                    ':host { background: rgba(0,0,0,0.1); padding: 2px 5px; }';
- -

Правило :host(.footer) { color : red; } стилизует все экземпляры элемента <context-span> (shadow хост в данном случае) в документе, которые имеют класс footer — мы использовали его, чтобы дать экземплярам элемента внутри {{htmlelement("footer")}} особый цвет.

- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/_colon_host_function/index.md b/files/ru/web/css/_colon_host_function/index.md new file mode 100644 index 00000000000000..f6c77836091ace --- /dev/null +++ b/files/ru/web/css/_colon_host_function/index.md @@ -0,0 +1,72 @@ +--- +title: ':host()' +slug: Web/CSS/:host_function +translation_of: Web/CSS/:host() +original_slug: Web/CSS/:host() +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) функция-[псевдокласс](/ru/docs/Web/CSS/%D0%9F%D1%81%D0%B5%D0%B2%D0%B4%D0%BE-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D1%8B) **`:host()`** выбирает shadow хоста (носителя) [shadow DOM](/ru/docs/Web/Web_Components/Using_shadow_DOM)-a, который содержит CSS, используемый внутри (так что вы можете выбрать пользовательский элемент изнутри его shadow DOM) — но только если селектор, переданный как параметр функции, соответствует shadow хосту. + +Самый очевидный способ использовать его — поставить некоторый класс только на определённые экземпляры пользовательских элементов, а затем передать соответствующий классовый селектор как аргумент функции. Вы не можете использовать псевдокласс c селектором наследника, чтобы выбрать только экземпляры пользовательского элемента, которые находятся внутри определённого предка. Это работа {{CSSxRef(":host-context()")}}. + +> **Примечание:** Псевдокласс не имеет эффекта вне shadow DOM. + +```css +/* Выбирает хоста shadow root, только + если он соответствует аргументу селектора */ +:host(.special-custom-element) { + font-weight: bold; +} +``` + +## Синтаксис + +{{CSSSyntax}} + +## Примеры + +### Селективная стилизация shadow хостов + +Следующие ниже фрагменты взяты из нашего примера [host-selectors](https://github.com/mdn/web-components-examples/tree/master/host-selectors) ([также смотрите вживую](https://mdn.github.io/web-components-examples/host-selectors/)). + +В этом примере у нас есть простой пользовательский элемент — `` — который мы оборачиваем вокруг текста: + +```html +

Host selectors example

+``` + +Внутри конструктора элемента мы создаём элементы `style` и `span`, заполняем `span` контентом пользовательского элемента и заполняем элемент `style` CSS-правилами: + +```js +let style = document.createElement('style'); +let span = document.createElement('span'); +span.textContent = this.textContent; + +const shadowRoot = this.attachShadow({mode: 'open'}); +shadowRoot.appendChild(style); +shadowRoot.appendChild(span); + +style.textContent = 'span:hover { text-decoration: underline; }' + + ':host-context(h1) { font-style: italic; }' + + ':host-context(h1):after { content: " - no links in headers!" }' + + ':host-context(article, aside) { color: gray; }' + + ':host(.footer) { color : red; }' + + ':host { background: rgba(0,0,0,0.1); padding: 2px 5px; }'; +``` + +Правило `:host(.footer) { color : red; }` стилизует все экземпляры элемента `` (shadow хост в данном случае) в документе, которые имеют класс `footer` — мы использовали его, чтобы дать экземплярам элемента внутри {{htmlelement("footer")}} особый цвет. + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Веб-компоненты](/ru/docs/Web/Web_Components) +- {{CSSxRef(":host")}} +- {{CSSxRef(":host-context()")}} diff --git a/files/ru/web/css/_colon_hover/index.html b/files/ru/web/css/_colon_hover/index.html deleted file mode 100644 index 62f32a44130587..00000000000000 --- a/files/ru/web/css/_colon_hover/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: ':hover' -slug: 'Web/CSS/:hover' -tags: - - CSS - - Псевдоклассы - - Руководство -translation_of: 'Web/CSS/:hover' ---- -

{{ CSSRef() }}

- -

Описание

- -

CSS псевдокласс :hover срабатывает, когда пользователь наводит на элемент мышью, но не обязательно активирует его. Этот стиль может переопределяться другими относящимися к ссылкам псевдоклассами, такими как {{ cssxref(":link") }}, {{ cssxref(":visited") }} и {{ cssxref(":active") }}, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вставьте правило :hover после правил :link и :visited до :active, как определено LVHA-порядком: :link:visited:hover:active.

- -

Псевдокласс :hover может применяться к любому псевдоэлементу. {{experimental_inline}}

- -

Браузеры, такие как Firefox, Internet Explorer, Safari, Opera или Chrome, применяют соответствующий стиль, когда курсор (указатель мыши) наводится на элемент.

- -
Замечания по использованию: на сенсорных экранах :hover проблемный или не работает. В зависимости от браузера, псевдокласс :hover может никогда не сработать, или сработать на некоторое время после нажатия на элемента, или может продолжать действовать даже остаться после того, как пользователь коснулся элемента до нажатия на другой элемент. Так как сенсорные устройства очень распространены, то веб-разработчикам очень важно не иметь контент, доступный только при наведении, так как такой контент неудобно или невозможно использовать на таких устройствах.
- -

Примеры

- -
:link:hover { outline: dotted red; }
-
-.foo:hover { background: gold; }
-
- -

Выпадающее меню

- -

С псевдоклассом :hover вы можете создавать сложные каскадные алгоритмы. Эта техника часто используется, например, чтобы создать выпадающие меню на чистом CSS (только на CSS, без использования JavaScript). Сущность этой техники - создание правил, типа следующего:

- -
div.menu-bar ul ul {
-  display: none;
-}
-
-div.menu-bar li:hover > ul {
-  display: block;
-}
-
- -

применим к HTML структуре типа следующей:

- -
<div class="menu-bar">
-  <ul>
-    <li>
-      <a href="example.html">Меню</a>
-      <ul>
-        <li>
-          <a href="example.html">Ссылка</a>
-        </li>
-        <li>
-          <a class="menu-nav" href="example.html">Подменю</a>
-          <ul>
-            <li>
-              <a class="menu-nav" href="example.html">Подменю</a>
-              <ul>
-                <li><a href="example.html">Ссылка</a></li>
-                <li><a href="example.html">Ссылка</a></li>
-                <li><a href="example.html">Ссылка</a></li>
-                <li><a href="example.html">Ссылка</a></li>
-              </ul>
-            </li>
-            <li><a href="example.html">Ссылка</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-  </ul>
-</div>
-
- -

Смотрите наш полный пример выпадающего меню, основанный на CSS.

- -

Галерея полноразмерных изображений и превью

- -

Вы можете использовать псевдокласс :hover, чтобы создать галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши. Посмотрите это демо.

- -
Замечания: Для аналогичного эффекта, но основанного на псевдоклассе:checked (применяется к скрытым радиокнопкам), смотрите это демо, взятое со страницы ru/CSS/:checked.
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

diff --git a/files/ru/web/css/_colon_hover/index.md b/files/ru/web/css/_colon_hover/index.md new file mode 100644 index 00000000000000..8bbf99855e5bba --- /dev/null +++ b/files/ru/web/css/_colon_hover/index.md @@ -0,0 +1,90 @@ +--- +title: ':hover' +slug: Web/CSS/:hover +tags: + - CSS + - Псевдоклассы + - Руководство +translation_of: Web/CSS/:hover +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:hover` срабатывает, когда пользователь наводит на элемент мышью, но не обязательно активирует его. Этот стиль может переопределяться другими относящимися к ссылкам псевдоклассами, такими как {{ cssxref(":link") }}, {{ cssxref(":visited") }} и {{ cssxref(":active") }}, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вставьте правило `:hover` после правил `:link` и `:visited` до `:active`, как определено _LVHA-порядком_: `:link` — `:visited` — `:hover` — `:active`. + +Псевдокласс `:hover` может применяться к любому [псевдоэлементу](/ru/docs/Web/CSS/pseudo-elements "Pseudo-classes"). {{experimental_inline}} + +Браузеры, такие как Firefox, Internet Explorer, Safari, Opera или Chrome, применяют соответствующий стиль, когда курсор (указатель мыши) наводится на элемент. + +> **Примечание:** **Замечания по использованию**: на сенсорных экранах `:hover` проблемный или не работает. В зависимости от браузера, псевдокласс `:hover` может никогда не сработать, или сработать на некоторое время после нажатия на элемента, или может продолжать действовать даже остаться после того, как пользователь коснулся элемента до нажатия на другой элемент. Так как сенсорные устройства очень распространены, то веб-разработчикам очень важно не иметь контент, доступный только при наведении, так как такой контент неудобно или невозможно использовать на таких устройствах. + +## Примеры + +```css +:link:hover { outline: dotted red; } + +.foo:hover { background: gold; } +``` + +### Выпадающее меню + +С псевдоклассом `:hover` вы можете создавать сложные каскадные алгоритмы. Эта техника часто используется, например, чтобы создать **выпадающие меню на чистом CSS** (только на CSS, без использования [JavaScript](/en/JavaScript "en/JavaScript")). Сущность этой техники - создание правил, типа следующего: + +```css +div.menu-bar ul ul { + display: none; +} + +div.menu-bar li:hover > ul { + display: block; +} +``` + +применим к HTML структуре типа следующей: + +```html + +``` + +Смотрите наш полный [пример выпадающего меню, основанный на CSS](/@api/deki/files/6238/=css_dropdown_menu.html "css_dropdown_menu.html"). + +### Галерея полноразмерных изображений и превью + +Вы можете использовать псевдокласс `:hover`, чтобы создать галерею изображений с полноразмерными картинками, показываемыми при наведении на них мыши. Посмотрите [это демо](/@api/deki/files/6247/=css-gallery.zip "css-gallery.zip"). + +> **Примечание:** **Замечания:** Для аналогичного эффекта, но основанного на псевдоклассе[`:checked`](/en/CSS/%3Achecked "en/CSS/:checked") (применяется к скрытым радиокнопкам), смотрите [это демо](/@api/deki/files/6268/=css-checked-gallery.zip "css-checked-gallery.zip"), взятое со страницы [ru/CSS/:checked](/ru/docs/Web/CSS/:checked "ru/CSS/:checked"). + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_in-range/index.html b/files/ru/web/css/_colon_in-range/index.html deleted file mode 100644 index 2ff7343c5774bd..00000000000000 --- a/files/ru/web/css/_colon_in-range/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: ':in-range' -slug: 'Web/CSS/:in-range' -tags: - - CSS - - Псевдоклассы - - Руководство -translation_of: 'Web/CSS/:in-range' ---- -
{{CSSRef}}
- - - -

Описание

- -

CSS псевдокласс :in-range находит элементы, значение которых соответствует указанному для них диапазону ограничений. Он позволяет странице показывать, когда значение элемента находится в допустимом диапазоне.

- -
Замечание: этот псевдокласс применяется только к элементам с заданным диапазоном ограничений. При отсутствии такого ограничения, элемент не может быть ни "в зоне допустимых значений", ни "вне диапазона".
- -

Пример

- -
-

HTML

- -
<form action="" id="form1">
-    <ul>Приминаются значения между 1 и 10.
-        <li>
-            <input id="value1" name="value1" type="number" placeholder="1 to 10" min="1" max="10" value="12">
-            <label for="value1">Ваше значение </label>
-        </li>
-</form>
- -

CSS

- -
li {
-    list-style: none;
-    margin-bottom: 1em;
-}
-input {
-    border: 1px solid black;
-}
-input:in-range {
-    background-color: rgba(0, 255, 0, 0.25);
-}
-input:out-of-range {
-    background-color: rgba(255, 0, 0, 0.25);
-    border: 2px solid red;
-}
-input:in-range + label::after {
-    content:' НОРМАЛЬНОЕ';
-}
-input:out-of-range + label::after {
-    content:'вне диапазона!';
-}
-
- -
{{EmbedLiveSample('Пример',600,140)}}
- -

Спецификации

- -{{Specifications}} - -

Поддержка браузерами

- -

{{Compat}}

- -

Смотрите также

- - diff --git a/files/ru/web/css/_colon_in-range/index.md b/files/ru/web/css/_colon_in-range/index.md new file mode 100644 index 00000000000000..b160218ad84b0b --- /dev/null +++ b/files/ru/web/css/_colon_in-range/index.md @@ -0,0 +1,70 @@ +--- +title: ':in-range' +slug: Web/CSS/:in-range +tags: + - CSS + - Псевдоклассы + - Руководство +translation_of: Web/CSS/:in-range +--- +{{CSSRef}} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:in-range` находит элементы, значение которых соответствует указанному для них диапазону ограничений. Он позволяет странице показывать, когда значение элемента находится в допустимом диапазоне. + +> **Примечание:** **Замечание:** этот псевдокласс применяется только к элементам с заданным диапазоном ограничений. При отсутствии такого ограничения, элемент не может быть ни "в зоне допустимых значений", ни "вне диапазона". + +## Пример + +### HTML + +```html +
+
    Приминаются значения между 1 и 10. +
  • + + +
  • + +``` + +### CSS + +```css +li { + list-style: none; + margin-bottom: 1em; +} +input { + border: 1px solid black; +} +input:in-range { + background-color: rgba(0, 255, 0, 0.25); +} +input:out-of-range { + background-color: rgba(255, 0, 0, 0.25); + border: 2px solid red; +} +input:in-range + label::after { + content:' НОРМАЛЬНОЕ'; +} +input:out-of-range + label::after { + content:'вне диапазона!'; +} +``` + +{{EmbedLiveSample('Пример',600,140)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref(":out-of-range")}} +- [Руководство валидации данных в формах](/ru/docs/Web/Guide/HTML/Forms/Data_form_validation) diff --git a/files/ru/web/css/_colon_indeterminate/index.html b/files/ru/web/css/_colon_indeterminate/index.html deleted file mode 100644 index a763fbfc43fc5c..00000000000000 --- a/files/ru/web/css/_colon_indeterminate/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: ':indeterminate' -slug: 'Web/CSS/:indeterminate' -tags: - - CSS - - Псевдо-класс - - Разметка -translation_of: 'Web/CSS/:indeterminate' ---- -

    {{CSSRef}}

    - -

    CSS псевдокласс :indeterminate находит элементы в неопределённом состоянии.

    - -
    /* Выбирает все элементы <input>, которые находятся в неопределённом состоянии */
    -input:indeterminate {
    -  background: lime;
    -}
    - -

    Селектор находит следующие элементы:

    - -
      -
    • Элементы <input type="checkbox">, свойство indeterminate которых было установлено в true через JavaScript
    • -
    • Элементы <input type="radio">, когда все радио переключатели в одной группе (с одинаковым атрибутом name) не выбраны
    • -
    • Элементы {{HTMLElement("progress")}} в неопределённом состоянии
    • -
    - -

    Синтаксис

    - -{{csssyntax}} - -

    Примеры

    - -

    Чекбокс и радио переключатели

    - -

    В этом примере специальные стили применяются к меткам, которые привязаны к неопределённым полям формы.

    - -

    HTML

    - -
    <div>
    -  <input type="checkbox" id="checkbox">
    -  <label for="checkbox">Эта метка будет зелёной.</label>
    -</div>
    -<div>
    -  <input type="radio" id="radio">
    -  <label for="radio">Эта метка будет зелёной.</label>
    -</div>
    - -

    CSS

    - -
    input:indeterminate + label {
    -  background: lime;
    -}
    -
    - -

    JavaScript

    - -
    var inputs = document.getElementsByTagName("input");
    -
    -for (var i = 0; i < inputs.length; i++) {
    -  inputs[i].indeterminate = true;
    -}
    -
    - -

    {{EmbedLiveSample('Чекбокс_и_радио_переключатели', 'auto', 50)}}

    - -

    Полоса прогресса

    - -

    HTML

    - -
    <progress>
    -
    - -

    CSS

    - -
    progress {
    -  margin: 4px;
    -}
    -
    -progress:indeterminate {
    -  opacity: 0.5;
    -  background-color: lightgray;
    -  box-shadow: 0 0 2px 1px red;
    -}
    -
    - -

    Результат

    - -

    {{EmbedLiveSample('Полоса_прогресса', 'auto', 30)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    -

    {{Compat}}

    -
    diff --git a/files/ru/web/css/_colon_indeterminate/index.md b/files/ru/web/css/_colon_indeterminate/index.md new file mode 100644 index 00000000000000..87010b71812bf9 --- /dev/null +++ b/files/ru/web/css/_colon_indeterminate/index.md @@ -0,0 +1,102 @@ +--- +title: ':indeterminate' +slug: Web/CSS/:indeterminate +tags: + - CSS + - Псевдо-класс + - Разметка +translation_of: Web/CSS/:indeterminate +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS)[ псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) **`:indeterminate`** находит элементы в неопределённом состоянии. + +```css +/* Выбирает все элементы , которые находятся в неопределённом состоянии */ +input:indeterminate { + background: lime; +} +``` + +Селектор находит следующие элементы: + +- Элементы [``](/en-US/docs/Web/HTML/Element/input/checkbox), свойство `indeterminate` которых было установлено в `true` через [JavaScript](/ru/docs/Web/JavaScript) +- Элементы [``](/en-US/docs/Web/HTML/Element/input/radio), когда все радио переключатели в одной группе (с одинаковым атрибутом `name`) не выбраны +- Элементы {{HTMLElement("progress")}} в неопределённом состоянии + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Чекбокс и радио переключатели + +В этом примере специальные стили применяются к меткам, которые привязаны к неопределённым полям формы. + +#### HTML + +```html +
    + + +
    +
    + + +
    +``` + +#### CSS + +```css +input:indeterminate + label { + background: lime; +} +``` + +#### JavaScript + +```js +var inputs = document.getElementsByTagName("input"); + +for (var i = 0; i < inputs.length; i++) { + inputs[i].indeterminate = true; +} +``` + +{{EmbedLiveSample('Чекбокс_и_радио_переключатели', 'auto', 50)}} + +### Полоса прогресса + +#### HTML + +```html + +``` + +#### CSS + +```css +progress { + margin: 4px; +} + +progress:indeterminate { + opacity: 0.5; + background-color: lightgray; + box-shadow: 0 0 2px 1px red; +} +``` + +### Результат + +{{EmbedLiveSample('Полоса_прогресса', 'auto', 30)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_invalid/index.html b/files/ru/web/css/_colon_invalid/index.html deleted file mode 100644 index e1cc78df754596..00000000000000 --- a/files/ru/web/css/_colon_invalid/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: ':invalid' -slug: 'Web/CSS/:invalid' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:invalid' ---- -

    {{ CSSRef() }}

    - -

    Описание

    - -

    CSS псевдокласс :invalid находит любые {{ HTMLElement("input") }} или {{ HTMLElement("form") }} элементы, контент которых не проходит валидацию, в соответствии с типом поля. Он позволяет вам легко менять внешний вид полей, что позволяет пользователю видеть и исправлять ошибки.

    - -

    По умолчанию, Gecko не применяет стили к псевдоклассу :invalid. Однако, применяет стили (красное "свечение", используя свойство {{ Cssxref("box-shadow") }}) к псевдоклассу {{ Cssxref(":-moz-ui-invalid") }}, который применяется в подгруппе случаев для :invalid.

    - -

    Вы можете отключить свечение, используя следующий CSS или полностью изменить внешний вид некорректных полей.

    - -
    :invalid {
    -  box-shadow: none;
    -}
    -
    -:-moz-submit-invalid {
    -  box-shadow: none;
    -}
    -
    -:-moz-ui-invalid {
    -  box-shadow:none;
    -}
    -
    - -

    Замечания

    - -

    Радиокнопки

    - -

    Если любая из радиокнопок в группе (т.е., с одинаковым атрибутом name) имеет атрибут required, псевдокласс :invalid применяется ко всем из них, если ни одна из кнопок группы не выбрана.

    - -

    Пример

    - -

    Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет.

    - -

    HTML

    - -
    <form>
    -  <label>Введите URL:</label>
    -  <input type="url" />
    -  <br />
    -  <br />
    -  <label>Введите эл. почту:</label>
    -  <input type="email" required/>
    -</form>
    - -

    CSS

    - -
    input:invalid {
    -  background-color: #ffdddd;
    -}
    -
    -form:invalid {
    -  border: 5px solid #ffdddd;
    -}
    -
    -input:valid {
    -  background-color: #ddffdd;
    -}
    -
    -form:valid {
    -  border: 5px solid #ddffdd;
    -}
    -
    -input:required {
    -  border-color: #800000;
    -  border-width: 3px;
    -}
    - -

    {{ EmbedLiveSample('Example2',600,150) }}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -

    {{Compat}}

    - -

    Смотрите также

    - -
      -
    • {{ cssxref(":valid") }}
    • -
    • {{ cssxref(":-moz-submit-invalid") }}
    • -
    • {{ cssxref(":required") }}
    • -
    • {{ cssxref(":optional") }}
    • -
    - -

    {{ languages( { "fr": "fr/CSS/:invalid" }) }}

    diff --git a/files/ru/web/css/_colon_invalid/index.md b/files/ru/web/css/_colon_invalid/index.md new file mode 100644 index 00000000000000..ff8f8c9798a655 --- /dev/null +++ b/files/ru/web/css/_colon_invalid/index.md @@ -0,0 +1,97 @@ +--- +title: ':invalid' +slug: Web/CSS/:invalid +tags: + - Псевдо-классы +translation_of: Web/CSS/:invalid +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:invalid` находит любые {{ HTMLElement("input") }} или {{ HTMLElement("form") }} элементы, контент которых не проходит [валидацию](/ru/docs/Web/Guide/HTML/HTML5/Constraint_validation "en/HTML/HTML5/Constraint_validation"), в соответствии с типом поля. Он позволяет вам легко менять внешний вид полей, что позволяет пользователю видеть и исправлять ошибки. + +По умолчанию, Gecko не применяет стили к псевдоклассу `:invalid`. Однако, применяет стили (красное "свечение", используя свойство {{ Cssxref("box-shadow") }}) к псевдоклассу {{ Cssxref(":-moz-ui-invalid") }}, который применяется в подгруппе случаев для `:invalid`. + +Вы можете отключить свечение, используя следующий CSS или полностью изменить внешний вид некорректных полей. + +```css +:invalid { + box-shadow: none; +} + +:-moz-submit-invalid { + box-shadow: none; +} + +:-moz-ui-invalid { + box-shadow:none; +} +``` + +## Замечания + +#### Радиокнопки + +Если любая из радиокнопок в группе (т.е., с одинаковым атрибутом `name`) имеет атрибут `required`, псевдокласс `:invalid` применяется ко всем из них, если ни одна из кнопок группы не выбрана. + +## Пример + +Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет. + +### HTML + +```html +
    + + +
    +
    + + +
    +``` + +### CSS + +```css +input:invalid { + background-color: #ffdddd; +} + +form:invalid { + border: 5px solid #ffdddd; +} + +input:valid { + background-color: #ddffdd; +} + +form:valid { + border: 5px solid #ddffdd; +} + +input:required { + border-color: #800000; + border-width: 3px; +} +``` + +{{ EmbedLiveSample('Example2',600,150) }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ cssxref(":valid") }} +- {{ cssxref(":-moz-submit-invalid") }} +- {{ cssxref(":required") }} +- {{ cssxref(":optional") }} + +{{ languages( { "fr": "fr/CSS/:invalid" }) }} diff --git a/files/ru/web/css/_colon_is/index.html b/files/ru/web/css/_colon_is/index.html deleted file mode 100644 index 1e9f171d3d383d..00000000000000 --- a/files/ru/web/css/_colon_is/index.html +++ /dev/null @@ -1,234 +0,0 @@ ---- -title: ':is() (:matches(), :any())' -slug: 'Web/CSS/:is' -translation_of: 'Web/CSS/:is' ---- -

    {{CSSRef}}{{SeeCompatTable}}

    - -
    -

    Примечание: :matches() был переименован в :is() в CSSWG issue #3258.

    -
    - -

    :is() это функция псевдокласс CSS принимающая список селекторов как аргумент, и выбирает любой элемент, который может быть выбран одним из селекторов в этом списке. Это полезно при переписи огромных селекторов в более компактную форму.

    - -

    Заметьте, что в данный момент браузеры поддерживают её функциональность как :matches(), или даже как более старый, префиксный псевдокласс — :any(), включая старые версии Chrome, Firefox, и Safari. :any() работает точно таким же образом как и :matches()/:is(), за исключением того, что :any() требует постановку префиксов и не поддерживает комплексные селекторы.

    - -
    /* Выбирает какой-либо абзац в шапке, основной части или подвале, который зависал */
    -:is(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    -/* Пример приведённый выше эквивалентен следующему */
    -header p:hover,
    -main p:hover,
    -footer p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    -/* Обратно-совместимая версия с:-*-any() и :matches()
    -   (Это невозможно сгруппировать селекторы в одно правило,
    -    так как присутствие одного неверного селектора аннулирует все правило.) */
    -:-webkit-any(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -:-moz-any(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -:matches(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    - -

    Синтаксис

    - -{{CSSSyntax}} - -

    Примеры

    - -

    Кроссбраузерный пример

    - -
    <header>
    -  <p>Это мой параграф в шапке</p>
    -</header>
    -
    -<main>
    -  <ul>
    -    <li><p>Это первый</p><p>пункт списка</p></li>
    -    <li><p>Это второй</p><p>пункт списка</p></li>
    -  </ul>
    -</main>
    -
    -<footer>
    -  <p>Это мой параграф в подвале</p>
    -</footer>
    - -
    :-webkit-any(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    -:-moz-any(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    -:matches(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    -:is(header, main, footer) p:hover {
    -  color: red;
    -  cursor: pointer;
    -}
    -
    - -
    let matchedItems;
    -
    -try {
    -  matchedItems = document.querySelectorAll(':is(header, main, footer) p');
    -} catch(e) {
    -  try {
    -    matchedItems = document.querySelectorAll(':matches(header, main, footer) p');
    -  } catch(e) {
    -    try {
    -      matchedItems = document.querySelectorAll(':-webkit-any(header, main, footer) p');
    -    } catch(e) {
    -      try {
    -        matchedItems = document.querySelectorAll(':-moz-any(header, main, footer) p');
    -      } catch(e) {
    -        console.log('Your browser doesn\'t support :is(), :matches(), or :any()');
    -      }
    -    }
    -  }
    -}
    -
    -matchedItems.forEach(applyHandler);
    -
    -function applyHandler(elem) {
    -  elem.addEventListener('click', function(e) {
    -    alert('This paragraph is inside a ' + e.target.parentNode.nodeName);
    -  });
    -}
    - -

    {{EmbedLiveSample("Кроссбраузерный_пример", "100%", 300)}}

    - -

    Упрощение списка селекторов

    - -

    Псевдо-класс :is() может великолепно упрощать ваши CSS селекторы. К примеру, следующий CSS:

    - -
    /* 3-уровневые (или более) неупорядоченные списки используют свойство square */
    -ol ol ul,     ol ul ul,     ol menu ul,     ol dir ul,
    -ol ol menu,   ol ul menu,   ol menu menu,   ol dir menu,
    -ol ol dir,    ol ul dir,    ol menu dir,    ol dir dir,
    -ul ol ul,     ul ul ul,     ul menu ul,     ul dir ul,
    -ul ol menu,   ul ul menu,   ul menu menu,   ul dir menu,
    -ul ol dir,    ul ul dir,    ul menu dir,    ul dir dir,
    -menu ol ul,   menu ul ul,   menu menu ul,   menu dir ul,
    -menu ol menu, menu ul menu, menu menu menu, menu dir menu,
    -menu ol dir,  menu ul dir,  menu menu dir,  menu dir dir,
    -dir ol ul,    dir ul ul,    dir menu ul,    dir dir ul,
    -dir ol menu,  dir ul menu,  dir menu menu,  dir dir menu,
    -dir ol dir,   dir ul dir,   dir menu dir,   dir dir dir {
    -  list-style-type: square;
    -}
    -
    - -

    ... можно заменить на:

    - -
    /* 3-уровневые (или более) неупорядоченные списки используют свойство square */
    -:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) ul,
    -:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) menu,
    -:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) dir {
    -  list-style-type: square;
    -}
    - -

    Упрощение селекторов разделов

    - -

    Псевдо-класс :is() особенно полезен при работе с заголовками и разделами HTML5. C тех пор как {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("aside")}}, и {{HTMLElement("nav")}} обычно используют вместе, без :is(), стилизовать их, чтобы они соответствовали друг друг, может быть не просто.

    - -

    К примеру, без :is(), стилизовать все {{HTMLElement("h1")}} элементы на разных уровнях может бы очень сложно:

    - -
    /* Уровень 0 */
    -h1 {
    -  font-size: 30px;
    -}
    -/* Уровень 1 */
    -section h1, article h1, aside h1, nav h1 {
    -  font-size: 25px;
    -}
    -/* Уровень 2 */
    -section section h1, section article h1, section aside h1, section nav h1,
    -article section h1, article article h1, article aside h1, article nav h1,
    -aside section h1, aside article h1, aside aside h1, aside nav h1,
    -nav section h1, nav article h1, nav aside h1, nav nav h1 {
    -  font-size: 20px;
    -}
    -/* Уровень 3 */
    -/* ... даже не смей думать об этом! */
    -
    - -

    Используя :is(), как видно, это гораздо легче:

    - -
    /* Уровень 0 */
    -h1 {
    -  font-size: 30px;
    -}
    -/* Уровень 1 */
    -:is(section, article, aside, nav) h1 {
    -  font-size: 25px;
    -}
    -/* Уровень 2 */
    -:is(section, article, aside, nav)
    -:is(section, article, aside, nav) h1 {
    -  font-size: 20px;
    -}
    -/* Уровень 3 */
    -:is(section, article, aside, nav)
    -:is(section, article, aside, nav)
    -:is(section, article, aside, nav) h1 {
    -  font-size: 15px;
    -}
    - -

    Как избежать аннулирования списка селекторов

    - -

    В отличие от списка селекторов, псевдокласс :is() не аннулируется, когда из селекторов, попавший туда не поддерживается браузером.

    - -
    :is(:valid, :unsupported) {
    -  ...
    -}
    - -

    Будет по прежнему определяться правильно и соответствовать :valid даже в браузерах, которые не поддерживают :unsupported, в то время как:

    - -
    :valid, :unsupported {
    -  ...
    -}
    - -

    Будет проигнорировано браузерами, которые не поддерживают :unsupported даже если они поддерживают :valid.

    - -

    Разница между :is() и :where()

    - -

    Разница между этими двумя, в том что :is() учитывает спецификацию общего селектора (он принимает специфику своего самого конкретного аргумента), в то же время :where() имеет значение спецификации равное 0. Это можно увидеть на примере на странице документации :where() .

    - -

    Спецификации

    - -{{Specifications}} - -

    Браузерная совместимость

    - - - -

    {{Compat}}

    - -

    Смотрите также

    - - diff --git a/files/ru/web/css/_colon_is/index.md b/files/ru/web/css/_colon_is/index.md new file mode 100644 index 00000000000000..0436d8ba150498 --- /dev/null +++ b/files/ru/web/css/_colon_is/index.md @@ -0,0 +1,244 @@ +--- +title: ':is() (:matches(), :any())' +slug: Web/CSS/:is +translation_of: Web/CSS/:is +--- +{{CSSRef}}{{SeeCompatTable}} + +> **Примечание:** `:matches()` был переименован в `:is()` в [CSSWG issue #3258](https://github.com/w3c/csswg-drafts/issues/3258). + +**`:is()`** это функция [псевдокласс CSS](/ru/docs/Web/CSS) принимающая список селекторов как аргумент, и выбирает любой элемент, который может быть выбран одним из селекторов в этом списке. Это полезно при переписи огромных селекторов в более компактную форму. + +Заметьте, что в данный момент браузеры поддерживают её функциональность как `:matches()`, или даже как более старый, префиксный псевдокласс — `:any()`, включая старые версии Chrome, Firefox, и Safari. `:any()` работает точно таким же образом как и `:matches()`/`:is()`, за исключением того, что `:any()` требует постановку префиксов и не поддерживает [комплексные селекторы](/ru/docs/Learn/CSS/Building_blocks/Селекторы). + +```css +/* Выбирает какой-либо абзац в шапке, основной части или подвале, который зависал */ +:is(header, main, footer) p:hover { + color: red; + cursor: pointer; +} + +/* Пример приведённый выше эквивалентен следующему */ +header p:hover, +main p:hover, +footer p:hover { + color: red; + cursor: pointer; +} + +/* Обратно-совместимая версия с:-*-any() и :matches() + (Это невозможно сгруппировать селекторы в одно правило, + так как присутствие одного неверного селектора аннулирует все правило.) */ +:-webkit-any(header, main, footer) p:hover { + color: red; + cursor: pointer; +} +:-moz-any(header, main, footer) p:hover { + color: red; + cursor: pointer; +} +:matches(header, main, footer) p:hover { + color: red; + cursor: pointer; +} +``` + +## Синтаксис + +{{CSSSyntax}} + +## Примеры + +### Кроссбраузерный пример + +```html +
    +

    Это мой параграф в шапке

    +
    + +
    +
      +
    • Это первый

      пункт списка

    • +
    • Это второй

      пункт списка

    • +
    +
    + +
    +

    Это мой параграф в подвале

    +
    +``` + +```css +:-webkit-any(header, main, footer) p:hover { + color: red; + cursor: pointer; +} + +:-moz-any(header, main, footer) p:hover { + color: red; + cursor: pointer; +} + +:matches(header, main, footer) p:hover { + color: red; + cursor: pointer; +} + +:is(header, main, footer) p:hover { + color: red; + cursor: pointer; +} +``` + +```js +let matchedItems; + +try { + matchedItems = document.querySelectorAll(':is(header, main, footer) p'); +} catch(e) { + try { + matchedItems = document.querySelectorAll(':matches(header, main, footer) p'); + } catch(e) { + try { + matchedItems = document.querySelectorAll(':-webkit-any(header, main, footer) p'); + } catch(e) { + try { + matchedItems = document.querySelectorAll(':-moz-any(header, main, footer) p'); + } catch(e) { + console.log('Your browser doesn\'t support :is(), :matches(), or :any()'); + } + } + } +} + +matchedItems.forEach(applyHandler); + +function applyHandler(elem) { + elem.addEventListener('click', function(e) { + alert('This paragraph is inside a ' + e.target.parentNode.nodeName); + }); +} +``` + +{{EmbedLiveSample("Кроссбраузерный_пример", "100%", 300)}} + +### Упрощение списка селекторов + +Псевдо-класс `:is()` может великолепно упрощать ваши CSS селекторы. К примеру, следующий CSS: + +```css +/* 3-уровневые (или более) неупорядоченные списки используют свойство square */ +ol ol ul, ol ul ul, ol menu ul, ol dir ul, +ol ol menu, ol ul menu, ol menu menu, ol dir menu, +ol ol dir, ol ul dir, ol menu dir, ol dir dir, +ul ol ul, ul ul ul, ul menu ul, ul dir ul, +ul ol menu, ul ul menu, ul menu menu, ul dir menu, +ul ol dir, ul ul dir, ul menu dir, ul dir dir, +menu ol ul, menu ul ul, menu menu ul, menu dir ul, +menu ol menu, menu ul menu, menu menu menu, menu dir menu, +menu ol dir, menu ul dir, menu menu dir, menu dir dir, +dir ol ul, dir ul ul, dir menu ul, dir dir ul, +dir ol menu, dir ul menu, dir menu menu, dir dir menu, +dir ol dir, dir ul dir, dir menu dir, dir dir dir { + list-style-type: square; +} +``` + +... можно заменить на: + +```css +/* 3-уровневые (или более) неупорядоченные списки используют свойство square */ +:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) ul, +:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) menu, +:is(ol, ul, menu, dir) :is(ol, ul, menu, dir) dir { + list-style-type: square; +} +``` + +### Упрощение селекторов разделов + +Псевдо-класс `:is()` особенно полезен при работе с [заголовками и разделами](/ru/docs/Web/Guide/HTML/Sections_and_Outlines_of_an_HTML5_document "Sections and Outlines of an HTML5 document") HTML5. C тех пор как {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("aside")}}, и {{HTMLElement("nav")}} обычно используют вместе, без `:is()`, стилизовать их, чтобы они соответствовали друг друг, может быть не просто. + +К примеру, без `:is()`, стилизовать все {{HTMLElement("h1")}} элементы на разных уровнях может бы очень сложно: + +```css +/* Уровень 0 */ +h1 { + font-size: 30px; +} +/* Уровень 1 */ +section h1, article h1, aside h1, nav h1 { + font-size: 25px; +} +/* Уровень 2 */ +section section h1, section article h1, section aside h1, section nav h1, +article section h1, article article h1, article aside h1, article nav h1, +aside section h1, aside article h1, aside aside h1, aside nav h1, +nav section h1, nav article h1, nav aside h1, nav nav h1 { + font-size: 20px; +} +/* Уровень 3 */ +/* ... даже не смей думать об этом! */ +``` + +Используя `:is()`, как видно, это гораздо легче: + +```css +/* Уровень 0 */ +h1 { + font-size: 30px; +} +/* Уровень 1 */ +:is(section, article, aside, nav) h1 { + font-size: 25px; +} +/* Уровень 2 */ +:is(section, article, aside, nav) +:is(section, article, aside, nav) h1 { + font-size: 20px; +} +/* Уровень 3 */ +:is(section, article, aside, nav) +:is(section, article, aside, nav) +:is(section, article, aside, nav) h1 { + font-size: 15px; +} +``` + +### Как избежать аннулирования списка селекторов + +В отличие от [списка селекторов](/ru/docs/Web/CSS/Selector_list), псевдокласс `:is()` не аннулируется, когда из селекторов, попавший туда не поддерживается браузером. + +```css +:is(:valid, :unsupported) { + ... +} +``` + +Будет по прежнему определяться правильно и соответствовать `:valid` даже в браузерах, которые не поддерживают `:unsupported`, в то время как: + +```css +:valid, :unsupported { + ... +} +``` + +Будет проигнорировано браузерами, которые не поддерживают `:unsupported` даже если они поддерживают `:valid`. + +### Разница между :is() и :where() + +Разница между этими двумя, в том что `:is()` учитывает спецификацию общего селектора (он принимает специфику своего самого конкретного аргумента), в то же время [`:where()`](/en-US/docs/Web/CSS/:where) имеет значение спецификации равное 0. Это можно увидеть на [примере на странице документации `:where()` ](/ru/docs/Web/CSS/:where#Examples). + +## Спецификации + +{{Specifications}} + +## Браузерная совместимость + +{{Compat}} + +## Смотрите также + +- {{CSSxRef(":where", ":where()")}} {{Experimental_Inline}} - Like `:is()`, but with 0 [specificity](/ru/docs/Web/CSS/Specificity). +- [Список селекторов](/ru/docs/Web/CSS/Selector_list) +- [Веб компоненты](/ru/docs/Web/Web_Components) diff --git a/files/ru/web/css/_colon_lang/index.html b/files/ru/web/css/_colon_lang/index.html deleted file mode 100644 index 483f96409611f0..00000000000000 --- a/files/ru/web/css/_colon_lang/index.html +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: ':lang()' -slug: 'Web/CSS/:lang' -tags: - - CSS - - Псевдо-класс -translation_of: 'Web/CSS/:lang' ---- -
    {{CSSRef}}
    - -

    Псевдо-класс CSS :lang() выбирает элементы основываясь на языке, на котором они определены.

    - -
    /* Выбирает все <p>, что на английском (en) */
    -p:lang(en) {
    -  quotes: '\201C' '\201D' '\2018' '\2019';
    -}
    - -
    -

    Примечание: В HTML язык определяется комбинацией атрибута {{htmlattrxref("lang")}}, элемента {{HTMLElement("meta")}} и иногда информацией из протокола (такой, как заголовки HTTP ). Для других типов документов могут быть другие методы определения языка.

    -
    - -

    Синтаксис

    - -

    Формальный синтаксис

    - -{{csssyntax}} - -

    Параметр

    - -
    -
    <language-code>
    -
    {{cssxref("<string>")}}, представляющая язык, который вы хотите отобрать. Допустимые значения указаны в документации HTML.
    -
    - -

    Пример

    - -

    In this example, the :lang() pseudo-class is used to match the parents of quote elements ({{htmlElement("q")}}) using child combinators. Note that this doesn't illustrate the only way to do this, and that the best method to use depends on the type of document. Also note that {{glossary("Unicode")}} values are used to specify some of the special quote characters.

    - -

    HTML

    - -
    <div lang="en"><q>This English quote has a <q>nested</q> quote inside.</q></div>
    -<div lang="fr"><q>This French quote has a <q>nested</q> quote inside.</q></div>
    -<div lang="de"><q>This German quote has a <q>nested</q> quote inside.</q></div>
    -
    - -

    CSS

    - -
    :lang(en) > q { quotes: '\201C' '\201D' '\2018' '\2019'; }
    -:lang(fr) > q { quotes: '« ' ' »'; }
    -:lang(de) > q { quotes: '»' '«' '\2039' '\203A'; }
    -
    - -

    Результат

    - -

    {{EmbedLiveSample('Пример', 350)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    - - -

    {{Compat}}

    -
    - -

    Также смотрите

    - - diff --git a/files/ru/web/css/_colon_lang/index.md b/files/ru/web/css/_colon_lang/index.md new file mode 100644 index 00000000000000..dca9dd98a4499c --- /dev/null +++ b/files/ru/web/css/_colon_lang/index.md @@ -0,0 +1,69 @@ +--- +title: ':lang()' +slug: Web/CSS/:lang +tags: + - CSS + - Псевдо-класс +translation_of: Web/CSS/:lang +--- +{{CSSRef}} + +[Псевдо-класс](/ru/docs/Web/CSS/Pseudo-classes) [CSS](/ru/docs/Web/CSS) **`:lang()`** выбирает элементы основываясь на языке, на котором они определены. + +```css +/* Выбирает все

    , что на английском (en) */ +p:lang(en) { + quotes: '\201C' '\201D' '\2018' '\2019'; +} +``` + +> **Примечание:** В HTML язык определяется комбинацией атрибута {{htmlattrxref("lang")}}, элемента {{HTMLElement("meta")}} и иногда информацией из протокола (такой, как заголовки HTTP ). Для других типов документов могут быть другие методы определения языка. + +## Синтаксис + +### Формальный синтаксис + +{{csssyntax}} + +### Параметр + +- `` + - : {{cssxref("<string>")}}, представляющая язык, который вы хотите отобрать. Допустимые значения указаны в документации [HTML](/ru/docs/Web/HTML). + +## Пример + +In this example, the `:lang()` pseudo-class is used to match the parents of quote elements ({{htmlElement("q")}}) using [child combinators](/ru/docs/Web/CSS/Child_selectors). Note that this doesn't illustrate the only way to do this, and that the best method to use depends on the type of document. Also note that {{glossary("Unicode")}} values are used to specify some of the special quote characters. + +### HTML + +```html +

    This English quote has a nested quote inside.
    +
    This French quote has a nested quote inside.
    +
    This German quote has a nested quote inside.
    +``` + +### CSS + +```css +:lang(en) > q { quotes: '\201C' '\201D' '\2018' '\2019'; } +:lang(fr) > q { quotes: '« ' ' »'; } +:lang(de) > q { quotes: '»' '«' '\2039' '\203A'; } +``` + +### Результат + +{{EmbedLiveSample('Пример', 350)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Также смотрите + +- Language-related pseudo-classes: {{cssxref(":lang")}}, {{cssxref(":dir")}} +- HTML {{htmlattrxref("lang")}} attribute +- [BCP 47 - Tags for Identifying Languages](https://tools.ietf.org/html/bcp47) diff --git a/files/ru/web/css/_colon_last-child/index.html b/files/ru/web/css/_colon_last-child/index.html deleted file mode 100644 index 533feb5b7cbea9..00000000000000 --- a/files/ru/web/css/_colon_last-child/index.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: ':last-child' -slug: 'Web/CSS/:last-child' -translation_of: 'Web/CSS/:last-child' ---- -
    {{CSSRef}}
    - -

    Описание

    - -

    CSS псевдокласс :last-child находит любой элемент, являющийся последним в его родителе.

    - -

    Синтаксис

    - -
    element:last-child { style properties }
    - -

    Пример

    - -

    HTML

    - -
    <ul>
    -  <li>Этот элемент не лаймовый.</li>
    -  <li>И этот тоже.</li>
    -  <li>А этот да! :)</li>
    -</ul>
    - -

    CSS

    - -
    li:last-child {
    -  background-color: lime;
    -}
    - -

    {{EmbedLiveSample('Пример', '100%', 100)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -

    {{Compat}}

    - -

    Смотрите также

    - -
      -
    • {{cssxref(":first-child")}}
    • -
    • {{cssxref(":nth-child")}}
    • -
    • {{cssxref(":last-of-type")}}
    • -
    diff --git a/files/ru/web/css/_colon_last-child/index.md b/files/ru/web/css/_colon_last-child/index.md new file mode 100644 index 00000000000000..f32638ee620707 --- /dev/null +++ b/files/ru/web/css/_colon_last-child/index.md @@ -0,0 +1,50 @@ +--- +title: ':last-child' +slug: Web/CSS/:last-child +translation_of: Web/CSS/:last-child +--- +{{CSSRef}} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Pseudo-classes) `:last-child` находит любой элемент, являющийся последним в его родителе. + +## Синтаксис + + element:last-child { style properties } + +## Пример + +### HTML + +```html +
      +
    • Этот элемент не лаймовый.
    • +
    • И этот тоже.
    • +
    • А этот да! :)
    • +
    +``` + +### CSS + +```css +li:last-child { + background-color: lime; +} +``` + +{{EmbedLiveSample('Пример', '100%', 100)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref(":first-child")}} +- {{cssxref(":nth-child")}} +- {{cssxref(":last-of-type")}} diff --git a/files/ru/web/css/_colon_last-of-type/index.html b/files/ru/web/css/_colon_last-of-type/index.html deleted file mode 100644 index 42d23a16ee361a..00000000000000 --- a/files/ru/web/css/_colon_last-of-type/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: ':last-of-type' -slug: 'Web/CSS/:last-of-type' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:last-of-type' ---- -
    {{CSSRef}}
    - -

    CSS псевдокласс :last-of-type находит последнего потомка с заданным тегом в списке детей родительского элемента.

    - -
    /* Выбирает <p>, являющийся последним элементом
    -   среди элементов своего типа среди своих соседей */
    -p:last-of-type {
    -  color: lime;
    -}
    - -
    -

    Примечание: В первоначальном определении выбранный элемент должен иметь родителя. Начиная с Selectors Level 4, это не является обязательным.

    -
    - -

    Синтаксис

    - -{{csssyntax}} - -

    Пример

    - -

    Стилизация последнего параграфа

    - -

    HTML

    - -
    <h2>Заголовок</h2>
    -<p>Параграф 1</p>
    -<p>Параграф 2</p>
    - -

    CSS

    - -
    p:last-of-type {
    -  color: red;
    -  font-style: italic;
    -}
    - -

    Результат

    - -

    {{EmbedLiveSample('Стилизация_последнего_параграфа')}}

    - -

    Вложенные элементы

    - -

    Этот пример показывает как можно обратиться к вложенным элементам. Заметим, что в случаях когда не указано ни одного простого селектора, подразумевается универсальный селектор (*).

    - -

    HTML

    - -
    <article>
    -  <div>Этот `div` первый.</div>
    -  <div>Этот <span>вложенный `span` является последним</span>!</div>
    -  <div>Этот <em>вложенный `em` первый</em>, а этот <em>вложенный `em` последний</em>!</div>
    -  <b>Этот `b` будет выбран!</b>
    -  <div>Это последний `div`!</div>
    -</article>
    -
    - -

    CSS

    - -
    article :last-of-type {
    -  background-color: pink;
    -}
    - -

    Результат

    - -

    {{EmbedLiveSample('Вложенные_элементы', 500)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    -

    {{Compat}}

    -
    - -

    Смотрите также

    - -
      -
    • {{cssxref(":last-child")}}, {{Cssxref(":nth-last-of-type")}}
    • -
    diff --git a/files/ru/web/css/_colon_last-of-type/index.md b/files/ru/web/css/_colon_last-of-type/index.md new file mode 100644 index 00000000000000..f755f3f57b03f9 --- /dev/null +++ b/files/ru/web/css/_colon_last-of-type/index.md @@ -0,0 +1,93 @@ +--- +title: ':last-of-type' +slug: Web/CSS/:last-of-type +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:last-of-type +--- +{{CSSRef}} + +[CSS](/ru/docs/CSS "CSS") [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") **`:last-of-type`** находит последнего потомка с заданным тегом в списке детей родительского элемента. + +```css +/* Выбирает

    , являющийся последним элементом + среди элементов своего типа среди своих соседей */ +p:last-of-type { + color: lime; +} +``` + +> **Примечание:** В первоначальном определении выбранный элемент должен иметь родителя. Начиная с Selectors Level 4, это не является обязательным. + +## Синтаксис + +{{csssyntax}} + +## Пример + +### Стилизация последнего параграфа + +#### HTML + +```html +

    Заголовок

    +

    Параграф 1

    +

    Параграф 2

    +``` + +#### CSS + +```css +p:last-of-type { + color: red; + font-style: italic; +} +``` + +#### Результат + +{{EmbedLiveSample('Стилизация_последнего_параграфа')}} + +### Вложенные элементы + +Этот пример показывает как можно обратиться к вложенным элементам. Заметим, что в случаях когда не указано ни одного простого селектора, подразумевается [универсальный селектор](/ru/docs/Web/CSS/Universal_selectors) (`*`). + +#### HTML + +```html +
    +
    Этот `div` первый.
    +
    Этот вложенный `span` является последним!
    +
    Этот вложенный `em` первый, а этот вложенный `em` последний!
    + Этот `b` будет выбран! +
    Это последний `div`!
    +
    +``` + +#### CSS + +```css +article :last-of-type { + background-color: pink; +} +``` + +#### Результат + +{{EmbedLiveSample('Вложенные_элементы', 500)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref(":last-child")}}, {{Cssxref(":nth-last-of-type")}} diff --git a/files/ru/web/css/_colon_left/index.html b/files/ru/web/css/_colon_left/index.html deleted file mode 100644 index e8c9a1ffbcdd92..00000000000000 --- a/files/ru/web/css/_colon_left/index.html +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: ':left' -slug: 'Web/CSS/:left' -tags: - - Вёрстка - - Псевдоклассы -translation_of: 'Web/CSS/:left' ---- -
    {{ CSSRef() }}
    - -

    Псевдокласс CSS :left используется с at-правилом {{cssxref("@page")}}, предоставляет все левые страницы печатного документа.

    - -
    /* Выбирает все левые страницы при печати */
    -@page :left {
    -  margin: 2in 3in;
    -}
    - -

    Является ли данная страница "левой" или "правой" определяется основным направлением документа. Например, если первая страница имеет основное направление слева направо, то это будет страница с page {{Cssxref(":right")}} ; если первая страница имеет основное направление справа налево, то это будет страница с page :left.

    - -
    -

    Примечание: Этот псевдокласс можно использовать только для изменений следующих свойств элементов страницы: {{ Cssxref("margin") }}, {{ Cssxref("padding") }}, {{ Cssxref("border") }}, и{{ Cssxref("background") }} . Все остальные свойства будут игнорироваться; изменены будут только свойства элементов страницы без изменения содержимого документа.

    -
    - -

    Синтаксис

    - -{{csssyntax}} - -

    Примеры

    - -

    Выставляем отступы для левых страниц

    - -
    @page :left {
    -  margin: 2in 3in;
    -}
    -
    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    -

    {{Compat}}

    - -

    Смотрите также

    - -
      -
    • {{ Cssxref("@page") }}
    • -
    • Другие псевдоклассы, связанные с @page: {{ Cssxref(":first") }}, {{ Cssxref(":right") }}
    • -
    diff --git a/files/ru/web/css/_colon_left/index.md b/files/ru/web/css/_colon_left/index.md new file mode 100644 index 00000000000000..f6fd03f7dfef7e --- /dev/null +++ b/files/ru/web/css/_colon_left/index.md @@ -0,0 +1,49 @@ +--- +title: ':left' +slug: Web/CSS/:left +tags: + - Вёрстка + - Псевдоклассы +translation_of: Web/CSS/:left +--- +{{ CSSRef() }} + +[Псевдокласс](/ru/docs/Web/CSS/Pseudo-classes) [CSS](/ru/docs/Web/CSS) **`:left`** используется с [at-правилом](/ru/docs/Web/CSS/At-rule) {{cssxref("@page")}}, предоставляет все левые страницы печатного документа. + +```css +/* Выбирает все левые страницы при печати */ +@page :left { + margin: 2in 3in; +} +``` + +Является ли данная страница "левой" или "правой" определяется основным направлением документа. Например, если первая страница имеет основное направление слева направо, то это будет страница с page {{Cssxref(":right")}} ; если первая страница имеет основное направление справа налево, то это будет страница с page `:left`. + +> **Примечание:** Этот псевдокласс можно использовать только для изменений следующих свойств элементов страницы: {{ Cssxref("margin") }}, {{ Cssxref("padding") }}, {{ Cssxref("border") }}, и{{ Cssxref("background") }} . Все остальные свойства будут игнорироваться; изменены будут только свойства элементов страницы без изменения содержимого документа. + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Выставляем отступы для левых страниц + +```css +@page :left { + margin: 2in 3in; +} +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ Cssxref("@page") }} +- Другие псевдоклассы, связанные с @page: {{ Cssxref(":first") }}, {{ Cssxref(":right") }} diff --git a/files/ru/web/css/_colon_link/index.html b/files/ru/web/css/_colon_link/index.html deleted file mode 100644 index beb3e056410c79..00000000000000 --- a/files/ru/web/css/_colon_link/index.html +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: ':link' -slug: 'Web/CSS/:link' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:link' ---- -

    {{ CSSRef() }}

    - -

    Описание

    - -

    CSS псевдокласс :link позволяет вам выбирать ссылки внутри элементов. Он выберет любую ссылку, которая ещё не была посещена, даже те, которые уже стилизованы, используя селекторы с другими, относящимися к ссылкам, псевдоклассам типа {{ cssxref(":hover") }}, {{ cssxref(":active") }} или {{ cssxref(":visited") }}. Чтобы стилизовать ссылки должным образом, вам нужно вставлять правила :link до других, как определено LVHA-порядком: :link:visited:hover:active. Псевдо-класс {{ cssxref(":focus") }} обычно размещается прямо перед или сразу после :hover, в зависимости от ожидаемого эффекта.

    - -
    -

    Замечание: Используйте {{cssxref(":any-link")}} чтобы выбрать ссылку, независимо от того, была она посещена или нет.

    -
    - -

    Примеры

    - -
    a:link {color: slategray;}
    -.external:link {background-color: lightblue;}
    - -

    Спецификации

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    СпецификацияСтатусКомментарий
    {{ SpecName('HTML WHATWG', 'scripting.html#selector-link', ':link') }}{{ Spec2('HTML WHATWG') }}
    {{ SpecName('CSS4 Selectors', '#link', ':link') }}{{ Spec2('CSS4 Selectors') }}Без изменений.
    {{ SpecName('CSS3 Selectors', '#link', ':link') }}{{ Spec2('CSS3 Selectors') }}Без изменений
    {{ SpecName('CSS2.1', 'selector.html#link-pseudo-classes', ':link') }}{{ Spec2('CSS2.1') }}Появилось ограничение применять только для элемента {{ HTMLElement("a") }}.
    {{ SpecName('CSS1', '#anchor-pseudo-classes', ':link') }}{{ Spec2('CSS1') }}Изначальное определение.
    - -

    Поддержка браузерами

    - -

    {{Compat}}

    - -

    Смотрите также

    - -
      -
    • {{ cssxref(":visited") }}, {{ cssxref(":hover") }}, {{ cssxref(":active") }}
    • -
    diff --git a/files/ru/web/css/_colon_link/index.md b/files/ru/web/css/_colon_link/index.md new file mode 100644 index 00000000000000..319c90622ca0d9 --- /dev/null +++ b/files/ru/web/css/_colon_link/index.md @@ -0,0 +1,39 @@ +--- +title: ':link' +slug: Web/CSS/:link +tags: + - Псевдо-классы +translation_of: Web/CSS/:link +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:link` позволяет вам выбирать ссылки внутри элементов. Он выберет любую ссылку, которая ещё не была посещена, даже те, которые уже стилизованы, используя селекторы с другими, относящимися к ссылкам, псевдоклассам типа {{ cssxref(":hover") }}, {{ cssxref(":active") }} или {{ cssxref(":visited") }}. Чтобы стилизовать ссылки должным образом, вам нужно вставлять правила `:link` до других, как определено _LVHA-порядком_: `:link` — `:visited` — `:hover` — `:active`. Псевдо-класс {{ cssxref(":focus") }} обычно размещается прямо перед или сразу после `:hover`, в зависимости от ожидаемого эффекта. + +> **Примечание:** **Замечание\*\***:\*\* Используйте {{cssxref(":any-link")}} чтобы выбрать ссылку, независимо от того, была она посещена или нет. + +## Примеры + +```css +a:link {color: slategray;} +.external:link {background-color: lightblue;} +``` + +## Спецификации + +| Спецификация | Статус | Комментарий | +| -------------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------- | +| {{ SpecName('HTML WHATWG', 'scripting.html#selector-link', ':link') }} | {{ Spec2('HTML WHATWG') }} | | +| {{ SpecName('CSS4 Selectors', '#link', ':link') }} | {{ Spec2('CSS4 Selectors') }} | Без изменений. | +| {{ SpecName('CSS3 Selectors', '#link', ':link') }} | {{ Spec2('CSS3 Selectors') }} | Без изменений | +| {{ SpecName('CSS2.1', 'selector.html#link-pseudo-classes', ':link') }} | {{ Spec2('CSS2.1') }} | Появилось ограничение применять только для элемента {{ HTMLElement("a") }}. | +| {{ SpecName('CSS1', '#anchor-pseudo-classes', ':link') }} | {{ Spec2('CSS1') }} | Изначальное определение. | + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ cssxref(":visited") }}, {{ cssxref(":hover") }}, {{ cssxref(":active") }} diff --git a/files/ru/web/css/_colon_not/index.html b/files/ru/web/css/_colon_not/index.html deleted file mode 100644 index a761678b357329..00000000000000 --- a/files/ru/web/css/_colon_not/index.html +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: ':not()' -slug: 'Web/CSS/:not' -translation_of: 'Web/CSS/:not' ---- -
    {{ CSSRef() }}
    - -

    Описание

    - -

    Отрицательный CSS псевдокласс, :not(X) - функция, принимающая простой селектор X в качестве аргумента. Он находит элементы, не соответствующие селектору. X не должен содержать других отрицательных селекторов.

    - -
    Замечания: - -
      -
    • С этого псевдокласса можно написать бесполезные селекторы. Например, :not(*) найдёт любой элемент, являющийся не любым, то есть правило не применится ни к одному элементу.
    • -
    • Возможно переписать другие правила. Например foo:not(bar) найдёт тот же элемент, что и простой foo. Тем не менее специфичность первого выше.
    • -
    • :not(foo){} найдёт что угодно, что не foo, включая {{HTMLElement("html")}} и {{HTMLElement("body")}}.
    • -
    • Это селектор применяется только к одному элементу. Вы не можете использовать его, чтобы исключить всех родителей. Например, body :not(table) a применится к ссылкам внутри таблицы, тогда как {{HTMLElement("tr")}} будет соответствовать :not() части селектора.
    • -
    -
    - -

    Синтаксис

    - -
    :not(selector) { style properties }
    - -

    Пример

    - -
    p:not(.classy) { color: red; }
    -body :not(p) { color: green; }
    - -

    CSS выше и HTML ниже...

    - -
    <p>Некоторый текст.</p>
    -<p class="classy">Какой-то другой текст.</p>
    -<span>Ещё текст<span>
    -
    - -

    Выведет это:

    - -

    {{ EmbedLiveSample('Examples', '', '', '', 'Web/CSS/:not') }}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -

    {{Compat}}

    diff --git a/files/ru/web/css/_colon_not/index.md b/files/ru/web/css/_colon_not/index.md new file mode 100644 index 00000000000000..1de441ae2809ee --- /dev/null +++ b/files/ru/web/css/_colon_not/index.md @@ -0,0 +1,47 @@ +--- +title: ':not()' +slug: Web/CSS/:not +translation_of: Web/CSS/:not +--- +{{ CSSRef() }} + +## Описание + +**Отрицательный** [CSS псевдокласс](/ru/docs/CSS/Pseudo-classes "Pseudo-classes"), `:not(X)` - функция, принимающая простой селектор _X_ в качестве аргумента. Он находит элементы, не соответствующие селектору. _X_ не должен содержать других отрицательных селекторов. + +> **Примечание:** **Замечания:\*** С этого псевдокласса можно написать бесполезные селекторы. Например, `:not(*)` найдёт любой элемент, являющийся не любым, то есть правило не применится ни к одному элементу. +> +> - Возможно переписать другие правила. Например `foo:not(bar)` найдёт тот же элемент, что и простой `foo`. Тем не менее [специфичность](/ru/docs/CSS/Specificity "Specificity") первого выше. +> - `:not(foo){} `найдёт что угодно, что не `foo`, **включая {{HTMLElement("html")}} и {{HTMLElement("body")}}.** +> - Это селектор применяется только к одному элементу. Вы не можете использовать его, чтобы исключить всех родителей. Например, `body :not(table) a` применится к ссылкам внутри таблицы, тогда как {{HTMLElement("tr")}} будет соответствовать `:not()` части селектора. + +## Синтаксис + + :not(selector) { style properties } + +## Пример + +```css +p:not(.classy) { color: red; } +body :not(p) { color: green; } +``` + +CSS выше и HTML ниже... + +```html +

    Некоторый текст.

    +

    Какой-то другой текст.

    +Ещё текст +``` + +Выведет это: + +{{ EmbedLiveSample('Examples', '', '', '', 'Web/CSS/:not') }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_nth-child/index.html b/files/ru/web/css/_colon_nth-child/index.html deleted file mode 100644 index 9314b81f3f5e27..00000000000000 --- a/files/ru/web/css/_colon_nth-child/index.html +++ /dev/null @@ -1,163 +0,0 @@ ---- -title: ':nth-child' -slug: 'Web/CSS/:nth-child' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:nth-child' ---- -
    {{CSSRef}}
    - -

    CSS псевдокласс :nth-child() находит один или более элементов, основываясь на их позиции среди группы соседних элементов.

    - -
    /* Выбирает каждый четвёртый элемент
    -   среди любой группы соседних элементов */
    -:nth-child(4n) {
    -  color: lime;
    -}
    -
    - -

    Синтаксис

    - -

    Псевдокласс nth-child указывается с единственным аргументом, описывающим паттерн для выбирания элементов.

    - -

    Ключевые слова

    - -
    -
    odd
    -
    Описывает элементы среди группы соседних с нечётными номерами 1, 3, 5, и т. д.
    -
    even
    -
    Описывает элементы среди группы соседних с чётными номерами 2, 4, 6, и т. д.
    -
    - -

    Функциональная запись

    - -
    -
    <An+B>
    -
    Описывает элементы среди группы соседних с номерами, соответствующими паттерну An+B (для каждого целого числа n >= 0). Нумерация элементов начинается с единицы. Значения A и B должны быть {{cssxref("<integer>")}}s.
    -
    - -

    Формальный синтаксис

    - -{{csssyntax}} - -

    Примеры

    - -

    Примеры селекторов

    - -
    -
    tr:nth-child(odd) или tr:nth-child(2n+1)
    -
    Описывает нечётные строки HTML таблицы: 1, 3, 5, и т. д.
    -
    tr:nth-child(even) or tr:nth-child(2n)
    -
    Описывает чётные строки HTML таблицы: 2, 4, 6, и т. д.
    -
    :nth-child(7)
    -
    Описывает седьмой элемент.
    -
    :nth-child(5n)
    -
    Описывает элементы с номерами 5, 10, 15, и т. д.
    -
    :nth-child(3n+4)
    -
    Описывает элементы с номерами 4, 7, 10, 13, и т. д.
    -
    :nth-child(-n+3)
    -
    Описывает первые три элемента среди группы соседних элементов.
    -
    p:nth-child(n)
    -
    Описывает каждый элемент<p> среди группы соседних элементов. Эквивалентно простому селектору p.
    -
    p:nth-child(1) или p:nth-child(0n+1)
    -
    Описывает каждый элемент <p>, являющийся первым среди группы соседних элементов. Эквивалентно селектору {{cssxref(":first-child")}}.
    -
    - -

    Подробный пример

    - -

    HTML

    - -
    <h3><code>span:nth-child(2n+1)</code>, БЕЗ элемента
    -   <code>&lt;em&gt;</code> в группе элементов-потомков.</h3>
    -<p>Элементы 1, 3, 5 и 7 будут выбраны.</p>
    -<div class="first">
    -  <span>Span 1!</span>
    -  <span>Span 2</span>
    -  <span>Span 3!</span>
    -  <span>Span 4</span>
    -  <span>Span 5!</span>
    -  <span>Span 6</span>
    -  <span>Span 7!</span>
    -</div>
    -
    -<br>
    -
    -<h3><code>span:nth-child(2n+1)</code>, С элементом
    -   <code>&lt;em&gt;</code> в группе элементов-потомков.</h3>
    -<p>Элементы 1, 5 и 7 будут выбраны.<br>
    -   3 используется в подсчёте потому что это элемент-потомок,
    -   но он не выбран потому что он не <code>&lt;span&gt;</code>.</p>
    -<div class="second">
    -  <span>Span!</span>
    -  <span>Span</span>
    -  <em>Это `em`.</em>
    -  <span>Span</span>
    -  <span>Span!</span>
    -  <span>Span</span>
    -  <span>Span!</span>
    -  <span>Span</span>
    -</div>
    -
    -<br>
    -
    -<h3><code>span:nth-of-type(2n+1)</code>, С элементом
    -   <code>&lt;em&gt;</code> в группе элементов-потомков.</h3>
    -<p>Элементы 1, 4, 6 и 8 будут выбраны.<br>
    -   3 не используется в подсчёте и не выбран, потому что это <code>&lt;em&gt;</code>,
    -   но не <code>&lt;span&gt;</code>, а <code>nth-of-type</code> выбирает только
    -   потомков этого типа. Элемент <code>&lt;em&gt;</code> полностью пропускается и игнорируется.</p>
    -<div class="third">
    -  <span>Span!</span>
    -  <span>Span</span>
    -  <em>Это `em`.</em>
    -  <span>Span!</span>
    -  <span>Span</span>
    -  <span>Span!</span>
    -  <span>Span</span>
    -  <span>Span!</span>
    -</div>
    -
    - -

    CSS

    - -
    html {
    -  font-family: sans-serif;
    -}
    -
    -span,
    -div em {
    -  padding: 5px;
    -  border: 1px solid green;
    -  display: inline-block;
    -  margin-bottom: 3px;
    -}
    -
    -.first span:nth-child(2n+1),
    -.second span:nth-child(2n+1),
    -.third span:nth-of-type(2n+1) {
    -  background-color: lime;
    -}
    - -

    Результат

    - -

    {{EmbedLiveSample('Подробный_пример', 550, 550)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    -

    {{Compat}}

    -
    - -

    Смотрите также

    - -
      -
    • {{ Cssxref(":nth-of-type") }}, {{ Cssxref(":nth-last-child") }}
    • -
    diff --git a/files/ru/web/css/_colon_nth-child/index.md b/files/ru/web/css/_colon_nth-child/index.md new file mode 100644 index 00000000000000..f77bf1540d3038 --- /dev/null +++ b/files/ru/web/css/_colon_nth-child/index.md @@ -0,0 +1,157 @@ +--- +title: ':nth-child' +slug: Web/CSS/:nth-child +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:nth-child +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) **`:nth-child()`** находит один или более элементов, основываясь на их позиции среди группы соседних элементов. + +```css +/* Выбирает каждый четвёртый элемент + среди любой группы соседних элементов */ +:nth-child(4n) { + color: lime; +} +``` + +## Синтаксис + +Псевдокласс `nth-child` указывается с единственным аргументом, описывающим паттерн для выбирания элементов. + +### Ключевые слова + +- `odd` + - : Описывает элементы среди группы соседних с нечётными номерами 1, 3, 5, и т. д. +- `even` + - : Описывает элементы среди группы соседних с чётными номерами 2, 4, 6, и т. д. + +### Функциональная запись + +- `` + - : Описывает элементы среди группы соседних с номерами, соответствующими паттерну `An+B` (для каждого целого числа n >= 0). Нумерация элементов начинается с единицы. Значения `A` и `B` должны быть {{cssxref("<integer>")}}s. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +### Примеры селекторов + +- `tr:nth-child(odd)` или `tr:nth-child(2n+1)` + - : Описывает нечётные строки HTML таблицы: 1, 3, 5, и т. д. +- `tr:nth-child(even)` or `tr:nth-child(2n)` + - : Описывает чётные строки HTML таблицы: 2, 4, 6, и т. д. +- `:nth-child(7)` + - : Описывает седьмой элемент. +- `:nth-child(5n)` + - : Описывает элементы с номерами 5, 10, 15, и т. д. +- `:nth-child(3n+4)` + - : Описывает элементы с номерами 4, 7, 10, 13, и т. д. +- `:nth-child(-n+3)` + - : Описывает первые три элемента среди группы соседних элементов. +- `p:nth-child(n)` + - : Описывает каждый элемент`

    ` среди группы соседних элементов. Эквивалентно простому селектору `p`. +- `p:nth-child(1)` или `p:nth-child(0n+1)` + - : Описывает каждый элемент `

    `, являющийся первым среди группы соседних элементов. Эквивалентно селектору {{cssxref(":first-child")}}. + +### Подробный пример + +#### HTML + +```html +

    span:nth-child(2n+1), БЕЗ элемента + <em> в группе элементов-потомков.

    +

    Элементы 1, 3, 5 и 7 будут выбраны.

    +
    + Span 1! + Span 2 + Span 3! + Span 4 + Span 5! + Span 6 + Span 7! +
    + +
    + +

    span:nth-child(2n+1), С элементом + <em> в группе элементов-потомков.

    +

    Элементы 1, 5 и 7 будут выбраны.
    + 3 используется в подсчёте потому что это элемент-потомок, + но он не выбран потому что он не <span>.

    +
    + Span! + Span + Это `em`. + Span + Span! + Span + Span! + Span +
    + +
    + +

    span:nth-of-type(2n+1), С элементом + <em> в группе элементов-потомков.

    +

    Элементы 1, 4, 6 и 8 будут выбраны.
    + 3 не используется в подсчёте и не выбран, потому что это <em>, + но не <span>, а nth-of-type выбирает только + потомков этого типа. Элемент <em> полностью пропускается и игнорируется.

    +
    + Span! + Span + Это `em`. + Span! + Span + Span! + Span + Span! +
    +``` + +#### CSS + +```css +html { + font-family: sans-serif; +} + +span, +div em { + padding: 5px; + border: 1px solid green; + display: inline-block; + margin-bottom: 3px; +} + +.first span:nth-child(2n+1), +.second span:nth-child(2n+1), +.third span:nth-of-type(2n+1) { + background-color: lime; +} +``` + +#### Результат + +{{EmbedLiveSample('Подробный_пример', 550, 550)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ Cssxref(":nth-of-type") }}, {{ Cssxref(":nth-last-child") }} diff --git a/files/ru/web/css/_colon_nth-last-child/index.html b/files/ru/web/css/_colon_nth-last-child/index.html deleted file mode 100644 index 171a3801e078b1..00000000000000 --- a/files/ru/web/css/_colon_nth-last-child/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: ':nth-last-child' -slug: 'Web/CSS/:nth-last-child' -tags: - - Псевдоклассы -translation_of: 'Web/CSS/:nth-last-child' ---- -
    {{CSSRef}}
    - -

    Описание

    - -

    CSS псевдокласс :nth-last-child(an+b) находит элемент, имеющий an+b-1 потомков после данной позиции в дереве документа, значение для n может быть положительным или нулевым, а также имеющий родительский элемент.

    - -

    В результате, он функционирует так же, как и {{Cssxref(":nth-child")}}, кроме того, что выбирает элементы, считая в обратном порядке, с конца списка потомков, не с начала.

    - -

    Смотрите {{Cssxref(":nth-child")}} для более тщательного описания синтаксиса его аргументов.

    - -

    Синтаксис

    - -
    element:nth-last-child(an + b) {стили }
    -
    - -

    Примеры

    - -

    Пример селекторов

    - -
    -
    tr:nth-last-child(-n+4)
    -
    Находит последние 4 строки HTML таблицы.
    -
    span:nth-last-child(even)
    -
    Ищет чётные элементы в родительском элементе, начиная с последнего элемента и работая задом наперёд.
    -
    - -

    Использование

    - -

    Этот CSS ...

    - -
    table {
    -  border: 1px solid blue;
    -}
    -tr:nth-last-child(-n+3) { /* последние 3 потомка */
    -  background-color: lime;
    -}
    -
    - -

    ... с этим HTML ...

    - -
    <table>
    -  <tbody>
    -    <tr>
    -      <td>Первая</td>
    -    </tr>
    -    <tr>
    -       <td>Вторая строка</td>
    -    </tr>
    -    <tr>
    -       <td>Третья</td>
    -    </tr>
    -    <tr>
    -       <td>Четвёртая</td>
    -    </tr>
    -    <tr>
    -       <td>Пятая строчка</td>
    -    </tr>
    -  </tbody>
    -</table>
    -
    - -

    ... будет выглядеть, как :

    - -

    {{EmbedLiveSample('Примеры', '100%', 150)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -

    {{Compat}}

    - -

    Смотрите также

    - -
      -
    • {{Cssxref(":nth-child")}}
    • -
    diff --git a/files/ru/web/css/_colon_nth-last-child/index.md b/files/ru/web/css/_colon_nth-last-child/index.md new file mode 100644 index 00000000000000..57a2d2860eca2a --- /dev/null +++ b/files/ru/web/css/_colon_nth-last-child/index.md @@ -0,0 +1,82 @@ +--- +title: ':nth-last-child' +slug: Web/CSS/:nth-last-child +tags: + - Псевдоклассы +translation_of: Web/CSS/:nth-last-child +--- +{{CSSRef}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:nth-last-child(an+b)` находит элемент, имеющий `an+b-1` потомков после данной позиции в дереве документа, значение для `n `может быть положительным или нулевым, а также имеющий родительский элемент. + +В результате, он функционирует так же, как и {{Cssxref(":nth-child")}}, кроме того, что выбирает элементы, считая в обратном порядке, с **конца** списка потомков, не с начала. + +Смотрите {{Cssxref(":nth-child")}} для более тщательного описания синтаксиса его аргументов. + +## Синтаксис + + element:nth-last-child(an + b) {стили } + +## Примеры + +### Пример селекторов + +- `tr:nth-last-child(-n+4)` + - : Находит последние 4 строки HTML таблицы. +- `span:nth-last-child(even)` + - : Ищет чётные элементы в родительском элементе, начиная с последнего элемента и работая задом наперёд. + +### Использование + +Этот CSS ... + +```css +table { + border: 1px solid blue; +} +tr:nth-last-child(-n+3) { /* последние 3 потомка */ + background-color: lime; +} +``` + +... с этим HTML ... + +```html + + + + + + + + + + + + + + + + + + +
    Первая
    Вторая строка
    Третья
    Четвёртая
    Пятая строчка
    +``` + +... будет выглядеть, как : + +{{EmbedLiveSample('Примеры', '100%', 150)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":nth-child")}} diff --git a/files/ru/web/css/_colon_nth-last-of-type/index.html b/files/ru/web/css/_colon_nth-last-of-type/index.html deleted file mode 100644 index 5d19f1058a2408..00000000000000 --- a/files/ru/web/css/_colon_nth-last-of-type/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: ':nth-last-of-type()' -slug: 'Web/CSS/:nth-last-of-type' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:nth-last-of-type' ---- -
    {{CSSRef}}
    - -

    CSS псевдокласс :nth-last-of-type() находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов, считая с конца.

    - -
    /* Выбирает каждый четвёртый элемент <p>
    -   среди любой группы соседних элементов,
    -   отсчёт начинается с последнего элемента */
    -p:nth-last-of-type(4n) {
    -  color: lime;
    -}
    - -
    -

    Примечание: Этот псевдокласс практически такой же как {{Cssxref(":nth-of-type")}}, за исключением того, что счёт элементов производится в обратном порядке начиная с конца, а не в обычном порядке с начала.

    -
    - -

    Синтаксис

    - -

    Псевдокласс nth-last-of-type указывается с единственным аргументом, описывающим паттерн для выбирания элементов, начиная с конца.

    - -

    Более детальное описание синтаксиса может быть найдено на странице псевдокласса {{Cssxref(":nth-last-child")}}.

    - -

    Формальный синтаксис

    - -{{csssyntax}} - -

    Пример

    - -

    HTML

    - -
    <div>
    -  <span>Это span.</span>
    -  <span>Это другой span.</span>
    -  <em>Это текст будет подчёркнут.</em>
    -  <span>Круто, этот span лаймовый!!!</span>
    -  <strike>Это вообще не span.</strike>
    -  <span>Это ещё один последний span.</span>
    -</div>
    - -

    CSS

    - -
    span:nth-last-of-type(2) {
    -  background-color: lime;
    -}
    - -

    Результат

    - -

    {{EmbedLiveSample('Пример')}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    -

    {{Compat}}

    -
    - -

    Смотрите также

    - -
      -
    • {{Cssxref(":nth-last-child")}}, {{Cssxref(":nth-of-type")}}
    • -
    diff --git a/files/ru/web/css/_colon_nth-last-of-type/index.md b/files/ru/web/css/_colon_nth-last-of-type/index.md new file mode 100644 index 00000000000000..5c7e66adcc3bd9 --- /dev/null +++ b/files/ru/web/css/_colon_nth-last-of-type/index.md @@ -0,0 +1,74 @@ +--- +title: ':nth-last-of-type()' +slug: Web/CSS/:nth-last-of-type +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:nth-last-of-type +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) **`:nth-last-of-type()`** находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов, считая с конца. + +```css +/* Выбирает каждый четвёртый элемент

    + среди любой группы соседних элементов, + отсчёт начинается с последнего элемента */ +p:nth-last-of-type(4n) { + color: lime; +} +``` + +> **Примечание:** Этот псевдокласс практически такой же как {{Cssxref(":nth-of-type")}}, за исключением того, что счёт элементов производится в обратном порядке начиная с _конца_, а не в обычном порядке с начала. + +## Синтаксис + +Псевдокласс `nth-last-of-type` указывается с единственным аргументом, описывающим паттерн для выбирания элементов, начиная с конца. + +Более детальное описание синтаксиса может быть найдено на странице псевдокласса {{Cssxref(":nth-last-child")}}. + +### Формальный синтаксис + +{{csssyntax}} + +## Пример + +### HTML + +```html +

    + Это span. + Это другой span. + Это текст будет подчёркнут. + Круто, этот span лаймовый!!! + Это вообще не span. + Это ещё один последний span. +
    +``` + +### CSS + +```css +span:nth-last-of-type(2) { + background-color: lime; +} +``` + +### Результат + +{{EmbedLiveSample('Пример')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":nth-last-child")}}, {{Cssxref(":nth-of-type")}} diff --git a/files/ru/web/css/_colon_nth-of-type/index.html b/files/ru/web/css/_colon_nth-of-type/index.html deleted file mode 100644 index b33fb7090325ca..00000000000000 --- a/files/ru/web/css/_colon_nth-of-type/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: ':nth-of-type' -slug: 'Web/CSS/:nth-of-type' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:nth-of-type' ---- -
    {{CSSRef}}
    - -

    CSS псевдокласс :nth-of-type() находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов.

    - -
    /* Выбирает каждый четвёртый элемент <p>
    -   среди любой группы соседних элементов. */
    -p:nth-of-type(4n) {
    -  color: lime;
    -}
    - -

    Синтаксис

    - -

    Псевдокласс nth-of-type указывается с единственным аргументом, описывающим паттерн для выбора элементов.

    - -

    Более детальное описание синтаксиса может быть найдено на странице псевдокласса {{Cssxref(":nth-child")}}.

    - -

    Формальный синтаксис

    - -{{csssyntax}} - -

    Примеры

    - -

    Базовый пример

    - -

    HTML

    - -
    <div>
    -  <div>Этот элемент не учитывается.</div>
    -  <p>Первый параграф.</p>
    -  <p>Второй параграф.</p>
    -  <div>Этот элемент не учитывается.</div>
    -  <p>Третий параграф.</p>
    -  <p>Четвёртый параграф.</p>
    -</div>
    - -

    CSS

    - -
    /* Нечётные параграфы */
    -p:nth-of-type(2n+1) {
    -  color: red;
    -}
    -
    -/* Чётные параграфы */
    -p:nth-of-type(2n) {
    -  color: blue;
    -}
    -
    -/* Первый параграф */
    -p:nth-of-type(1) {
    -  font-weight: bold;
    -}
    -
    - -

    Результат

    - -

    {{EmbedLiveSample('Базовый_пример', 250, 200)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    -

    {{Compat}}

    -
    - -

    Смотрите также

    - -
      -
    • {{Cssxref(":nth-child")}}, {{Cssxref(":nth-last-of-type")}}
    • -
    diff --git a/files/ru/web/css/_colon_nth-of-type/index.md b/files/ru/web/css/_colon_nth-of-type/index.md new file mode 100644 index 00000000000000..a53f10e441133c --- /dev/null +++ b/files/ru/web/css/_colon_nth-of-type/index.md @@ -0,0 +1,84 @@ +--- +title: ':nth-of-type' +slug: Web/CSS/:nth-of-type +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:nth-of-type +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) **`:nth-of-type()`** находит один или более элементов с заданным тегом, основываясь на их позиции среди группы соседних элементов. + +```css +/* Выбирает каждый четвёртый элемент

    + среди любой группы соседних элементов. */ +p:nth-of-type(4n) { + color: lime; +} +``` + +## Синтаксис + +Псевдокласс `nth-of-type` указывается с единственным аргументом, описывающим паттерн для выбора элементов. + +Более детальное описание синтаксиса может быть найдено на странице псевдокласса {{Cssxref(":nth-child")}}. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +### Базовый пример + +#### HTML + +```html +

    +
    Этот элемент не учитывается.
    +

    Первый параграф.

    +

    Второй параграф.

    +
    Этот элемент не учитывается.
    +

    Третий параграф.

    +

    Четвёртый параграф.

    +
    +``` + +#### CSS + +```css +/* Нечётные параграфы */ +p:nth-of-type(2n+1) { + color: red; +} + +/* Чётные параграфы */ +p:nth-of-type(2n) { + color: blue; +} + +/* Первый параграф */ +p:nth-of-type(1) { + font-weight: bold; +} +``` + +#### Результат + +{{EmbedLiveSample('Базовый_пример', 250, 200)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":nth-child")}}, {{Cssxref(":nth-last-of-type")}} diff --git a/files/ru/web/css/_colon_only-child/index.html b/files/ru/web/css/_colon_only-child/index.html deleted file mode 100644 index f78ed09aefae30..00000000000000 --- a/files/ru/web/css/_colon_only-child/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: ':only-child' -slug: 'Web/CSS/:only-child' -tags: - - Псевдоклассы -translation_of: 'Web/CSS/:only-child' ---- -
    {{CSSRef}}
    - -

    Описание

    - -

    CSS псевдокласс :only-child находит любой элемент, являющийся единственным потомком родителя. Это тоже, что и :first-child:last-child или :nth-child(1):nth-last-child(1), но с меньшей специфичностью.

    - -

    Синтаксис

    - -
    parent child:only-child {
    -  property: value;
    -}
    -
    - -

    Примеры

    - -

    Простой пример

    - -
    span:only-child {
    -  color: red;
    -}
    -
    - -
    <div>
    -  <span>Этот span единственный ребёнок своего папы:(</span>
    -</div>
    -
    -<div>
    -  <span>Этот span один из потомков родителя</span>
    -  <span>Этот span один из детей отца</span>
    -</div>
    -
    - -

    Результат

    - -

    {{EmbedLiveSample('Простой_пример', '100%', 60)}}

    - -

    Пример со списком

    - -
    li li {
    -  list-style-type: disc;
    -}
    -li:only-child {
    -  color: #6699ff;
    -  font-style: italic;
    -  list-style-type: square;
    -}
    - -
    <ol>
    -  <li>Первый
    -    <ul>
    -      <li>Это единственный ребёнок
    -    </ul>
    -  </li>
    -  <li>Второй
    -    <ul>
    -      <li>Этот список с двумя элементами
    -      <li>Этот список с двумя элементами
    -    </ul>
    -  </li>
    -  <li>Третий
    -    <ul>
    -      <li>Этот список с тремя элементами
    -      <li>Этот список с тремя элементами
    -      <li>Этот список с тремя элементами
    -    </ul>
    -  </li>
    -<ol>
    -
    - -

    Результат

    - -

    {{EmbedLiveSample('Пример_со_списком', '100%', 220)}}

    - -

    Спецификации

    - -{{Specifications}} - -

    Поддержка браузерами

    - -
    {{Compat}}
    diff --git a/files/ru/web/css/_colon_only-child/index.md b/files/ru/web/css/_colon_only-child/index.md new file mode 100644 index 00000000000000..712fb82051fae6 --- /dev/null +++ b/files/ru/web/css/_colon_only-child/index.md @@ -0,0 +1,91 @@ +--- +title: ':only-child' +slug: Web/CSS/:only-child +tags: + - Псевдоклассы +translation_of: Web/CSS/:only-child +--- +{{CSSRef}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:only-child` находит любой элемент, являющийся единственным потомком родителя. Это тоже, что и `:first-child:last-child` или `:nth-child(1):nth-last-child(1)`, но с меньшей специфичностью. + +## Синтаксис + + parent child:only-child { + property: value; + } + +## Примеры + +### Простой пример + +```css +span:only-child { + color: red; +} +``` + +```html +
    + Этот span единственный ребёнок своего папы:( +
    + +
    + Этот span один из потомков родителя + Этот span один из детей отца +
    +``` + +#### Результат + +{{EmbedLiveSample('Простой_пример', '100%', 60)}} + +### Пример со списком + +```css +li li { + list-style-type: disc; +} +li:only-child { + color: #6699ff; + font-style: italic; + list-style-type: square; +} +``` + +```html +
      +
    1. Первый +
        +
      • Это единственный ребёнок +
      +
    2. +
    3. Второй +
        +
      • Этот список с двумя элементами +
      • Этот список с двумя элементами +
      +
    4. +
    5. Третий +
        +
      • Этот список с тремя элементами +
      • Этот список с тремя элементами +
      • Этот список с тремя элементами +
      +
    6. +
        +``` + +#### Результат + +{{EmbedLiveSample('Пример_со_списком', '100%', 220)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_only-of-type/index.html b/files/ru/web/css/_colon_only-of-type/index.html deleted file mode 100644 index 1dd8f27fe6a86a..00000000000000 --- a/files/ru/web/css/_colon_only-of-type/index.html +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: ':only-of-type' -slug: 'Web/CSS/:only-of-type' -tags: - - CSS - - Псевдоклассы -translation_of: 'Web/CSS/:only-of-type' ---- -
        {{CSSRef}}
        - -

        Описание

        - -

        CSS псевдокласс :only-of-type выбирает такой элемент, который является единственным потомком такого типа.

        - -
        /* Выбирает все <p>, которые являются */
        -/* единственным потомками типа <p> */
        -p:only-of-type {
        -  background-color: lime;
        -}
        -
        - -

        Синтаксис

        - -{{csssyntax}} - -

        Пример

        - -

        HTML

        - -
        <main>
        -  <div>Я `div` №1.</div>
        -  <p>Я тут единственный `p` элемент.</p>
        -  <div>Я `div` №2.</div>
        -  <div>Я `div` №3.
        -    <i>Я единственный потомок типа `i`.</i>
        -    <em>Я `em` №1.</em>
        -    <em>Я `em` №2.</em>
        -  </div>
        -</main>
        - -

        CSS

        - -
        main :only-of-type {
        -  color: red;
        -}
        - -

        Результат

        - -

        {{EmbedLiveSample('Пример', '', '', '', 'Web/CSS/:only-of-type')}}

        - -

        Спецификации

        - -{{Specifications}} - -

        Поддержка браузерами

        - -

        {{Compat}}

        - -
        - -

        Смотрите также

        - -
          -
        • {{Cssxref(":nth-of-type")}}, {{Cssxref(":first-of-type")}}, {{Cssxref(":last-of-type")}}
        • -
        diff --git a/files/ru/web/css/_colon_only-of-type/index.md b/files/ru/web/css/_colon_only-of-type/index.md new file mode 100644 index 00000000000000..1cea11ccd10af0 --- /dev/null +++ b/files/ru/web/css/_colon_only-of-type/index.md @@ -0,0 +1,66 @@ +--- +title: ':only-of-type' +slug: Web/CSS/:only-of-type +tags: + - CSS + - Псевдоклассы +translation_of: Web/CSS/:only-of-type +--- +{{CSSRef}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:only-of-type` выбирает такой элемент, который является единственным потомком такого типа. + +```css +/* Выбирает все

        , которые являются */ +/* единственным потомками типа

        */ +p:only-of-type { + background-color: lime; +} +``` + +## Синтаксис + +{{csssyntax}} + +## Пример + +#### HTML + +```html +

        +
        Я `div` №1.
        +

        Я тут единственный `p` элемент.

        +
        Я `div` №2.
        +
        Я `div` №3. + Я единственный потомок типа `i`. + Я `em` №1. + Я `em` №2. +
        +
        +``` + +#### CSS + +```css +main :only-of-type { + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample('Пример', '', '', '', 'Web/CSS/:only-of-type')}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref(":nth-of-type")}}, {{Cssxref(":first-of-type")}}, {{Cssxref(":last-of-type")}} diff --git a/files/ru/web/css/_colon_optional/index.html b/files/ru/web/css/_colon_optional/index.html deleted file mode 100644 index 55e04aee5815b7..00000000000000 --- a/files/ru/web/css/_colon_optional/index.html +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: ':optional' -slug: 'Web/CSS/:optional' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:optional' ---- -

        {{ CSSRef() }}

        - -

        Описание

        - -

        CSS псевдокласс :optional находит любые {{ HTMLElement("input") }} элементы, у которых не установлен атрибут {{ htmlattrxref("required","input") }}. Он позволяет формам легко отмечать необязательные поля, и давать им соответствующие стили.

        - -

        Чтобы задать особый внешний вид обязательным полям формы можно использовать псевдокласс {{ cssxref(":required") }}.

        - -

        Примеры

        - -

        Смотрите {{ cssxref(":invalid") }}

        - -

        Спецификации

        - -{{Specifications}} - -

        Поддержка браузерами

        - -

        {{Compat}}

        - -

        Смотрите также

        - -
          -
        • {{ cssxref(":required") }}
        • -
        • {{ cssxref(":invalid") }}
        • -
        • {{ cssxref(":valid") }}
        • -
        diff --git a/files/ru/web/css/_colon_optional/index.md b/files/ru/web/css/_colon_optional/index.md new file mode 100644 index 00000000000000..15898600a97bde --- /dev/null +++ b/files/ru/web/css/_colon_optional/index.md @@ -0,0 +1,32 @@ +--- +title: ':optional' +slug: Web/CSS/:optional +tags: + - Псевдо-классы +translation_of: Web/CSS/:optional +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:optional` находит любые {{ HTMLElement("input") }} элементы, у которых не установлен атрибут {{ htmlattrxref("required","input") }}. Он позволяет формам легко отмечать необязательные поля, и давать им соответствующие стили. + +Чтобы задать особый внешний вид обязательным полям формы можно использовать псевдокласс {{ cssxref(":required") }}. + +## Примеры + +Смотрите {{ cssxref(":invalid") }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ cssxref(":required") }} +- {{ cssxref(":invalid") }} +- {{ cssxref(":valid") }} diff --git a/files/ru/web/css/_colon_out-of-range/index.html b/files/ru/web/css/_colon_out-of-range/index.html deleted file mode 100644 index e3ada64aff0cf3..00000000000000 --- a/files/ru/web/css/_colon_out-of-range/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: ':out-of-range' -slug: 'Web/CSS/:out-of-range' -tags: - - CSS - - Псевдоклассы - - Руководство -translation_of: 'Web/CSS/:out-of-range' ---- -
        {{CSSRef}}
        - - - -

        Summary

        - -

        CSS псевдокласс :out-of-range находит элементы, значение которых находится вне диапазона их ограничений. Он позволяет странице показывать, когда значение элемента находится вне допустимого диапазона. Значение будет вне диапазона, если оно меньше или больше, чем минимальное и максимальное значения.

        - -
        Замечание: этот псевдокласс применяется только к элементам с заданным диапазоном ограничений. При отсутствии такого ограничения, элемент не может быть ни "в зоне допустимых значений", ни "вне диапазона".
        - -

        Пример

        - -
        -

        HTML

        - -
        <form action="" id="form1">
        -    <ul>Приминаются значения между 1 и 10.
        -        <li>
        -            <input id="value1" name="value1" type="number" placeholder="1 to 10" min="1" max="10" value="12">
        -            <label for="value1">Your value is </label>
        -        </li>
        -</form>
        - -

        CSS

        - -
        li {
        -    list-style: none;
        -    margin-bottom: 1em;
        -}
        -input {
        -    border: 1px solid black;
        -}
        -input:in-range {
        -    background-color: rgba(0, 255, 0, 0.25);
        -}
        -input:out-of-range {
        -    background-color: rgba(255, 0, 0, 0.25);
        -    border: 2px solid red;
        -}
        -input:in-range + label::after {
        -    content:' НОРМАЛЬНОЕ';
        -}
        -input:out-of-range + label::after {
        -    content:'вне диапазона!';
        -}
        -
        - -
        {{EmbedLiveSample('Пример',600,140)}}
        - - - -

        Спецификации

        - - - - - - - - - - - - - - - - - - - - - -
        СпецификацияСтатусКомментарий
        {{SpecName('HTML WHATWG', 'scripting.html#selector-out-of-range', ':out-of-range')}}{{Spec2('HTML WHATWG')}}Определяет, когда :out-of-range находит элементы в HTML.
        {{SpecName('CSS4 Selectors', '#out-of-range-pseudo', ':out-of-range')}}{{Spec2('CSS4 Selectors')}}Изначальное определение.
        - -

        Поддержка браузерами

        - -

        {{Compat}}

        - -

        Смотрите также

        - - diff --git a/files/ru/web/css/_colon_out-of-range/index.md b/files/ru/web/css/_colon_out-of-range/index.md new file mode 100644 index 00000000000000..46e42c6f8bb29c --- /dev/null +++ b/files/ru/web/css/_colon_out-of-range/index.md @@ -0,0 +1,73 @@ +--- +title: ':out-of-range' +slug: Web/CSS/:out-of-range +tags: + - CSS + - Псевдоклассы + - Руководство +translation_of: Web/CSS/:out-of-range +--- +{{CSSRef}} + +## Summary + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:out-of-range` находит элементы, значение которых находится вне диапазона их ограничений. Он позволяет странице показывать, когда значение элемента находится вне допустимого диапазона. Значение будет вне диапазона, если оно меньше или больше, чем минимальное и максимальное значения. + +> **Примечание:** **Замечание:** этот псевдокласс применяется только к элементам с заданным диапазоном ограничений. При отсутствии такого ограничения, элемент не может быть ни "в зоне допустимых значений", ни "вне диапазона". + +## Пример + +### HTML + +```html +
        +
          Приминаются значения между 1 и 10. +
        • + + +
        • + +``` + +### CSS + +```css +li { + list-style: none; + margin-bottom: 1em; +} +input { + border: 1px solid black; +} +input:in-range { + background-color: rgba(0, 255, 0, 0.25); +} +input:out-of-range { + background-color: rgba(255, 0, 0, 0.25); + border: 2px solid red; +} +input:in-range + label::after { + content:' НОРМАЛЬНОЕ'; +} +input:out-of-range + label::after { + content:'вне диапазона!'; +} +``` + +{{EmbedLiveSample('Пример',600,140)}} + +## Спецификации + +| Спецификация | Статус | Комментарий | +| ---------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ---------------------------------------------------------- | +| {{SpecName('HTML WHATWG', 'scripting.html#selector-out-of-range', ':out-of-range')}} | {{Spec2('HTML WHATWG')}} | Определяет, когда `:out-of-range` находит элементы в HTML. | +| {{SpecName('CSS4 Selectors', '#out-of-range-pseudo', ':out-of-range')}} | {{Spec2('CSS4 Selectors')}} | Изначальное определение. | + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref(":in-range")}} +- [Руководство валидации данных в формах](/ru/docs/Web/Guide/HTML/Forms/Data_form_validation) diff --git a/files/ru/web/css/_colon_placeholder-shown/index.html b/files/ru/web/css/_colon_placeholder-shown/index.html deleted file mode 100644 index 5b22a80703e0db..00000000000000 --- a/files/ru/web/css/_colon_placeholder-shown/index.html +++ /dev/null @@ -1,179 +0,0 @@ ---- -title: ':placeholder-shown' -slug: 'Web/CSS/:placeholder-shown' -translation_of: 'Web/CSS/:placeholder-shown' ---- -
          {{CSSRef}}{{SeeCompatTable}}
          - -
          CSS псевдокласс :placeholder-shown представляет любой {{htmlElement("input")}} или {{htmlElement("textarea")}} элемент, который отображает в данный момент текст заполнитель (плейсхолдер).
          - -
          /* Выбирает любой элемент с активным плейсхолдером */
          -:placeholder-shown {
          -  border: 2px solid silver;
          -}
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          Простой пример

          - -

          HTML

          - -
          <input placeholder="Type something here!">
          - -

          CSS

          - - - -
          input {
          -  border: 2px solid black;
          -  padding: 3px;
          -}
          -
          -input:placeholder-shown {
          -  border-color: silver;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Простой_пример", 200, 60)}}

          - -

          Переполнение текстом

          - -

          На узких экранах, таких как смартфоны, ширина полей поиска и других полей формы может быть значительно сокращена. Это может привести к нежелательному обрезанию текста плейсхолдера. Часто бывает полезно изменить это поведение с помощью свойства {{cssxref("text-overflow")}}.

          - -

          HTML

          - -
          <input placeholder="Enter something into this field, if you please!">
          - -

          CSS

          - - - -
          input:placeholder-shown {
          -  text-overflow: ellipsis;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Переполнение_текстом", 200, 60)}}

          - -

          Цветной текст

          - -

          HTML

          - -
          <input placeholder="Type something here!">
          -
          - -

          CSS

          - - - -
          input:placeholder-shown {
          -  color: red;
          -  font-style: italic;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Цветной_текст", 200, 60)}}

          - -

          Кастомизированное поле ввода

          - -

          В следующем примере выделены поля Branch и ID с пользовательским стилем.

          - -

          HTML

          - -
          <form id="test">
          -  <p>
          -    <label for="name">Enter Student Name:</label>
          -    <input id="name" placeholder="Student Name"/>
          -  </p>
          -  <p>
          -    <label for="branch">Enter Student Branch:</label>
          -    <input id="branch" placeholder="Student Branch"/>
          -  </p>
          -  <p>
          -    <label for="sid">Enter Student ID:</label>
          -    <input type="number" pattern="[0-9]{8}" title="8 digit ID" id="sid" class="studentid" placeholder="8 digit id"/>
          -  </p>
          -  <input type="submit"/>
          -</form>
          - -

          CSS

          - - - -
          input {
          -  background-color: #E8E8E8;
          -  color: black;
          -}
          -
          -input.studentid:placeholder-shown {
          -  background-color: yellow;
          -  color: red;
          -  font-style: italic;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Кастомизированное_поле_ввода", 200, 180)}}

          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - - - -

          {{Compat}}

          - -

          Смотрите также

          - -
            -
          • Псевдоэлемент {{cssxref("::placeholder")}}, применяющий стили к самому себе.
          • -
          • Связанные HTML-элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}}
          • -
          • HTML формы
          • -
          diff --git a/files/ru/web/css/_colon_placeholder-shown/index.md b/files/ru/web/css/_colon_placeholder-shown/index.md new file mode 100644 index 00000000000000..2cd14436c57e96 --- /dev/null +++ b/files/ru/web/css/_colon_placeholder-shown/index.md @@ -0,0 +1,190 @@ +--- +title: ':placeholder-shown' +slug: Web/CSS/:placeholder-shown +translation_of: Web/CSS/:placeholder-shown +--- +{{CSSRef}}{{SeeCompatTable}}[CSS псевдокласс](/ru/docs/Web/CSS) **`:placeholder-shown`** представляет любой {{htmlElement("input")}} или {{htmlElement("textarea")}} элемент, который отображает в данный момент[ текст заполнитель (плейсхолдер)](/ru/docs/Web/HTML/Element/input#attr-placeholder). + +```css +/* Выбирает любой элемент с активным плейсхолдером */ +:placeholder-shown { + border: 2px solid silver; +} +``` + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Простой пример + +#### HTML + +```html + +``` + +#### CSS + +```css hidden +input:-ms-input-placeholder { + border-color: silver; +} + +input:-moz-placeholder { + border-color: silver; +} +``` + +```css +input { + border: 2px solid black; + padding: 3px; +} + +input:placeholder-shown { + border-color: silver; +} +``` + +#### Результат + +{{EmbedLiveSample("Простой_пример", 200, 60)}} + +### Переполнение текстом + +На узких экранах, таких как смартфоны, ширина полей поиска и других полей формы может быть значительно сокращена. Это может привести к нежелательному обрезанию текста плейсхолдера. Часто бывает полезно изменить это поведение с помощью свойства {{cssxref("text-overflow")}}. + +#### HTML + +```html + +``` + +#### CSS + +```css hidden +input:-ms-input-placeholder { + text-overflow: ellipsis; +} + +input:-moz-placeholder { + text-overflow: ellipsis; +} +``` + +```css +input:placeholder-shown { + text-overflow: ellipsis; +} +``` + +#### Результат + +{{EmbedLiveSample("Переполнение_текстом", 200, 60)}} + +### Цветной текст + +#### HTML + +```html + +``` + +#### CSS + +```css hidden +input:-ms-input-placeholder { + color: red; + font-style: italic; +} + +input:-moz-placeholder { + color: red; + font-style: italic; +} +``` + +```css +input:placeholder-shown { + color: red; + font-style: italic; +} +``` + +#### Результат + +{{EmbedLiveSample("Цветной_текст", 200, 60)}} + +### Кастомизированное поле ввода + +В следующем примере выделены поля Branch и ID с пользовательским стилем. + +#### HTML + +```html +
          +

          + + +

          +

          + + +

          +

          + + +

          + +
          +``` + +#### CSS + +```css hidden +input.studentid:-ms-input-placeholder { + background-color: yellow; + color: red; + font-style: italic; +} + +input.studentid:-moz-placeholder { + background-color: yellow; + color: red; + font-style: italic; +} +``` + +```css +input { + background-color: #E8E8E8; + color: black; +} + +input.studentid:placeholder-shown { + background-color: yellow; + color: red; + font-style: italic; +} +``` + +#### Результат + +{{EmbedLiveSample("Кастомизированное_поле_ввода", 200, 180)}} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- Псевдоэлемент {{cssxref("::placeholder")}}, применяющий стили к _самому себе_. +- Связанные HTML-элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}} +- [HTML формы](/ru/docs/Learn/HTML/Forms) diff --git a/files/ru/web/css/_colon_read-only/index.html b/files/ru/web/css/_colon_read-only/index.html deleted file mode 100644 index cd3529a4e9181c..00000000000000 --- a/files/ru/web/css/_colon_read-only/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: ':read-only' -slug: 'Web/CSS/:read-only' -tags: - - Псевдо-элементы -translation_of: 'Web/CSS/:read-only' ---- -
          {{ CSSRef() }}
          - -

          Описание

          - -

          CSS псевдокласс :read-only находит элементы, недоступные для редактирования пользователем.

          - -

          Пример

          - -
          -
          input:-moz-read-only { background: #eee; }
          -input:read-only { background: #eee; }
          -
          -
          - -

          Спецификации

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          СпецификацияСтатусКомментарий
          {{ SpecName('HTML WHATWG', '#selector-read-only', ':read-only') }}{{ Spec2('HTML WHATWG') }}Без изменений.
          {{ SpecName('HTML5 W3C', '#selector-read-only', ':read-only') }}{{ Spec2('HTML5 W3C') }}Определяет семантику в HTML и ограничения проверки.
          {{ SpecName('CSS4 Selectors', '#rw-pseudos', ':read-only') }}{{ Spec2('CSS4 Selectors') }}Без изменений.
          {{ SpecName('CSS3 Basic UI', '#pseudo-ro-rw', ':read-only') }}{{ Spec2('CSS3 Basic UI') }}Определяет псевдокласс, но не семантику.
          - -

          Поддержка браузерами

          - - - -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_colon_read-only/index.md b/files/ru/web/css/_colon_read-only/index.md new file mode 100644 index 00000000000000..d617fcea2a84ae --- /dev/null +++ b/files/ru/web/css/_colon_read-only/index.md @@ -0,0 +1,37 @@ +--- +title: ':read-only' +slug: Web/CSS/:read-only +tags: + - Псевдо-элементы +translation_of: Web/CSS/:read-only +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:read-only` находит элементы, недоступные для редактирования пользователем. + +## Пример + +```css +input:-moz-read-only { background: #eee; } +input:read-only { background: #eee; } +``` + +## Спецификации + +| Спецификация | Статус | Комментарий | +| ---------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------- | +| {{ SpecName('HTML WHATWG', '#selector-read-only', ':read-only') }} | {{ Spec2('HTML WHATWG') }} | Без изменений. | +| {{ SpecName('HTML5 W3C', '#selector-read-only', ':read-only') }} | {{ Spec2('HTML5 W3C') }} | Определяет семантику в HTML и ограничения проверки. | +| {{ SpecName('CSS4 Selectors', '#rw-pseudos', ':read-only') }} | {{ Spec2('CSS4 Selectors') }} | Без изменений. | +| {{ SpecName('CSS3 Basic UI', '#pseudo-ro-rw', ':read-only') }} | {{ Spec2('CSS3 Basic UI') }} | Определяет псевдокласс, но не семантику. | + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [`:read-write`](/ru/docs/Web/CSS/:read-write) +- HTML атрибут [`contenteditable`](/ru/docs/HTML/Content_Editable "HTML/Content Editable") diff --git a/files/ru/web/css/_colon_read-write/index.html b/files/ru/web/css/_colon_read-write/index.html deleted file mode 100644 index 54923e213c0bd4..00000000000000 --- a/files/ru/web/css/_colon_read-write/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: ':read-write' -slug: 'Web/CSS/:read-write' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:read-write' ---- -
          {{ CSSRef() }}
          - -

          Описание

          - -

          CSS псевдокласс :read-write находит элементы, доступные для редактирования пользователем, такие как текстовые поля.

          - -

          Пример

          - -
          -
          input:-moz-read-write { background: #eee; }
          -input:read-write { background: #eee; }
          -
          -
          - -

          Спецификации

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          СпецификацииСтатусКомментарий
          {{ SpecName('HTML WHATWG', '#selector-read-write', ':read-write') }}{{ Spec2('HTML WHATWG') }}Без изменений.
          {{ SpecName('HTML5 W3C', '#selector-read-write', ':read-write') }}{{ Spec2('HTML5 W3C') }}Определяет семантику в HTML и ограничения проверки.
          {{ SpecName('CSS4 Selectors', '#rw-pseudos', ':read-write') }}{{ Spec2('CSS4 Selectors') }}Без изменений.
          {{ SpecName('CSS3 Basic UI', '#pseudo-ro-rw', ':read-write') }}{{ Spec2('CSS3 Basic UI') }}Определяет псевдокласс, но не семантику.
          - -

          Поддержка браузерами

          - - - -

          {{Compat}}

          - -

          See also

          - - diff --git a/files/ru/web/css/_colon_read-write/index.md b/files/ru/web/css/_colon_read-write/index.md new file mode 100644 index 00000000000000..730f51c49ed2ed --- /dev/null +++ b/files/ru/web/css/_colon_read-write/index.md @@ -0,0 +1,37 @@ +--- +title: ':read-write' +slug: Web/CSS/:read-write +tags: + - Псевдо-классы +translation_of: Web/CSS/:read-write +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:read-write` находит элементы, доступные для редактирования пользователем, такие как текстовые поля. + +## Пример + +```css +input:-moz-read-write { background: #eee; } +input:read-write { background: #eee; } +``` + +## Спецификации + +| Спецификации | Статус | Комментарий | +| -------------------------------------------------------------------------------------------- | ---------------------------------------- | --------------------------------------------------- | +| {{ SpecName('HTML WHATWG', '#selector-read-write', ':read-write') }} | {{ Spec2('HTML WHATWG') }} | Без изменений. | +| {{ SpecName('HTML5 W3C', '#selector-read-write', ':read-write') }} | {{ Spec2('HTML5 W3C') }} | Определяет семантику в HTML и ограничения проверки. | +| {{ SpecName('CSS4 Selectors', '#rw-pseudos', ':read-write') }} | {{ Spec2('CSS4 Selectors') }} | Без изменений. | +| {{ SpecName('CSS3 Basic UI', '#pseudo-ro-rw', ':read-write') }} | {{ Spec2('CSS3 Basic UI') }} | Определяет псевдокласс, но не семантику. | + +## Поддержка браузерами + +{{Compat}} + +## See also + +- [`:read-only`](/ru/docs/Web/CSS/:read-only) +- HTML атрибут [`contenteditable`](/ru/docs/HTML/Content_Editable "HTML/Content Editable") diff --git a/files/ru/web/css/_colon_required/index.html b/files/ru/web/css/_colon_required/index.html deleted file mode 100644 index cca9d39346d2b3..00000000000000 --- a/files/ru/web/css/_colon_required/index.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: ':required' -slug: 'Web/CSS/:required' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:required' ---- -

          {{ CSSRef() }}

          - -

          Описание

          - -

          CSS псевдокласс :required находит любые {{ HTMLElement("input") }} элементы, имеющие атрибут {{ htmlattrxref("required", "input") }}. Он позволяет формам легко сообщать, что поля должны быть корректно заполнены перед отправкой формы.

          - -

          Псевдо-класс {{ cssxref(":optional") }} может использоваться, чтобы дать особый внешний вид полям, не обязательным для заполнения.

          - -

          Примеры

          - -

          Смотрите {{ cssxref(":invalid") }}.

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - -
            -
          • {{ cssxref(":optional") }}, {{ cssxref(":invalid") }}, {{ cssxref(":valid") }}
          • -
          diff --git a/files/ru/web/css/_colon_required/index.md b/files/ru/web/css/_colon_required/index.md new file mode 100644 index 00000000000000..3c3af641b678fc --- /dev/null +++ b/files/ru/web/css/_colon_required/index.md @@ -0,0 +1,30 @@ +--- +title: ':required' +slug: Web/CSS/:required +tags: + - Псевдо-классы +translation_of: Web/CSS/:required +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:required` находит любые {{ HTMLElement("input") }} элементы, имеющие атрибут {{ htmlattrxref("required", "input") }}. Он позволяет формам легко сообщать, что поля должны быть корректно заполнены перед отправкой формы. + +Псевдо-класс {{ cssxref(":optional") }} может использоваться, чтобы дать особый внешний вид полям, не обязательным для заполнения. + +## Примеры + +Смотрите {{ cssxref(":invalid") }}. + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ cssxref(":optional") }}, {{ cssxref(":invalid") }}, {{ cssxref(":valid") }} diff --git a/files/ru/web/css/_colon_right/index.html b/files/ru/web/css/_colon_right/index.html deleted file mode 100644 index b45d9b9ed90c10..00000000000000 --- a/files/ru/web/css/_colon_right/index.html +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: ':right' -slug: 'Web/CSS/:right' -translation_of: 'Web/CSS/:right' ---- -
          {{ CSSRef() }}
          - -

          The :right CSS page pseudo-class matches any right page when printing a page. It allows you to describe the styling of right-side pages.

          - -
          /* Selects the content on the right-hand pages while printing */
          -@page :right {
          -  margin: 2in 3in;
          -}
          - -

          Whether the page is left or right is decided by the major writing direction of the document. For example, if the first page has a major writing direction of left-to-right then it will be a :right page and if it has a major writing direction of right-to-left then it will be a {{ Cssxref(":left") }} page.

          - -
          Note: Вы можете не менять все CSS-свойства, а поменять только margin, padding, border, и background для страницы. Все остальные CSS-свойства будут проигнорированы и изменения будут применены только для страницы, но не для её содержимого.
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -
          @page :right {
          -  margin: 2in 3in;
          -}
          -
          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - -
            -
          • {{ Cssxref("@page") }}, {{ Cssxref(":first") }}, {{ Cssxref(":left") }}
          • -
          diff --git a/files/ru/web/css/_colon_right/index.md b/files/ru/web/css/_colon_right/index.md new file mode 100644 index 00000000000000..33b365e26f6af4 --- /dev/null +++ b/files/ru/web/css/_colon_right/index.md @@ -0,0 +1,43 @@ +--- +title: ':right' +slug: Web/CSS/:right +translation_of: Web/CSS/:right +--- +{{ CSSRef() }} + +The **`:right`** CSS [page](/en/CSS/@page "@page") [pseudo-class](/en/CSS/Pseudo-classes "Pseudo-classes") matches any right page when printing a page. It allows you to describe the styling of right-side pages. + +```css +/* Selects the content on the right-hand pages while printing */ +@page :right { + margin: 2in 3in; +} +``` + +Whether the page is left or right is decided by the major writing direction of the document. For example, if the first page has a major writing direction of left-to-right then it will be a `:right` page and if it has a major writing direction of right-to-left then it will be a `{{ Cssxref(":left") }}` page. + +> **Примечание:** Вы можете не менять все CSS-свойства, а поменять только margin, padding, border, и background для страницы. Все остальные CSS-свойства будут проигнорированы и изменения будут применены только для страницы, но не для её содержимого. + +## Синтаксис + +{{csssyntax}} + +## Примеры + +```css +@page :right { + margin: 2in 3in; +} +``` + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- {{ Cssxref("@page") }}, {{ Cssxref(":first") }}, {{ Cssxref(":left") }} diff --git a/files/ru/web/css/_colon_root/index.html b/files/ru/web/css/_colon_root/index.html deleted file mode 100644 index 54f45a975b0f50..00000000000000 --- a/files/ru/web/css/_colon_root/index.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: ':root' -slug: 'Web/CSS/:root' -tags: - - CSS - - CSS Pseudo-class - - Layout - - Reference - - Web - - Псевдоклассы -translation_of: 'Web/CSS/:root' ---- -
          {{CSSRef}}
          - -

          Описание

          - -

          CSS псевдокласс :root находит корневой элемент дерева документа. Применимо к HTML, :root находит элемент {{HTMLElement("html")}} и идентичен селектору по тегу html, но его специфичность выше.

          - -

          Пример

          - -

          Использование :root полезно для объявления CSS Переменных:

          - -
          :root {
          -  --main-color: hotpink;
          -  --pane-padding: 5px 42px;
          -}
          -
          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -

          {{Compat}}

          diff --git a/files/ru/web/css/_colon_root/index.md b/files/ru/web/css/_colon_root/index.md new file mode 100644 index 00000000000000..4a44d1c94dba22 --- /dev/null +++ b/files/ru/web/css/_colon_root/index.md @@ -0,0 +1,36 @@ +--- +title: ':root' +slug: Web/CSS/:root +tags: + - CSS + - CSS Pseudo-class + - Layout + - Reference + - Web + - Псевдоклассы +translation_of: Web/CSS/:root +--- +{{CSSRef}} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы) `:root` находит корневой элемент дерева документа. Применимо к HTML, `:root` находит элемент {{HTMLElement("html")}} и идентичен селектору по тегу `html`, но его [специфичность](/ru/docs/Web/CSS/Specificity) выше. + +## Пример + +Использование `:root` полезно для объявления [CSS Переменных](/ru/docs/Web/CSS/--*): + +```css +:root { + --main-color: hotpink; + --pane-padding: 5px 42px; +} +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_colon_target/index.html b/files/ru/web/css/_colon_target/index.html deleted file mode 100644 index 30173a7b14ddca..00000000000000 --- a/files/ru/web/css/_colon_target/index.html +++ /dev/null @@ -1,186 +0,0 @@ ---- -title: ':target' -slug: 'Web/CSS/:target' -tags: - - Вёрстка - - Псевдоклассы -translation_of: 'Web/CSS/:target' ---- -
          {{CSSRef}}
          - -

          Псевдокласс CSS :target представляет уникальный элемент (целевой элемент) с подходящим {{htmlattrxref("id")}} URL-фрагментом.

          - -
          /* Выбирает элемент с подходящим ID текущего URL-фрагмента */
          -:target {
          -  border: 2px solid black;
          -}
          - -

          Для примера, следующий URL имеет фрагмент (обозначается знаком #), который указывает на элемент с именем section2:

          - -
          http://www.example.com/index.html#section2
          - -

          Следующий элемент будет выбран селектором :target, если текущий URL равен вышеуказанному:

          - -
          <section id="section2">Example</section>
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          Таблица контента

          - -

          Псевдокласс :target может использоваться для выделения части страницы, на которую была сделана ссылка из оглавления .

          - -

          HTML

          - -
          <h3>Table of Contents</h3>
          -<ol>
          - <li><a href="#p1">Jump to the first paragraph!</a></li>
          - <li><a href="#p2">Jump to the second paragraph!</a></li>
          - <li><a href="#nowhere">This link goes nowhere,
          -   because the target doesn't exist.</a></li>
          -</ol>
          -
          -<h3>My Fun Article</h3>
          -<p id="p1">You can target <i>this paragraph</i> using a
          -  URL fragment. Click on the link above to try out!</p>
          -<p id="p2">This is <i>another paragraph</i>, also accessible
          -  from the links above. Isn't that delightful?</p>
          -
          - -

          CSS

          - -
          p:target {
          -  background-color: gold;
          -}
          -
          -/* Добавление псевдоэлемента внутрь target-элемента */
          -p:target::before {
          -  font: 70% sans-serif;
          -  content: "►";
          -  color: limegreen;
          -  margin-right: .25em;
          -}
          -
          -/* Стиль italic-элементов без target-элемента */
          -p:target i {
          -  color: red;
          -}
          - -

          Результат

          - -
          {{EmbedLiveSample('A_table_of_contents', 500, 300)}}
          - -

          Pure-CSS lightbox

          - -

          Вы можете использовать псевдокласс :target для создания lightbox без использования JavaScript. Этот метод основан на способности якорных ссылок указывать на элементы, которые изначально скрыты на странице. После этого, CSS изменяет их display на видимый.

          - -
          Примечание: Более полный pure-CSS lightbox , основанный на псевдоклассе:target - available on GitHub (demo).
          - -

          HTML

          - -
          <ul>
          -  <li><a href="#example1">Open example #1</a></li>
          -  <li><a href="#example2">Open example #2</a></li>
          -</ul>
          -
          -<div class="lightbox" id="example1">
          -  <figure>
          -    <a href="#" class="close"></a>
          -    <figcaption>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          -      Donec felis enim, placerat id eleifend eu, semper vel sem.</figcaption>
          -  </figure>
          -</div>
          -
          -<div class="lightbox" id="example2">
          -  <figure>
          -    <a href="#" class="close"></a>
          -    <figcaption>Cras risus odio, pharetra nec ultricies et,
          -      mollis ac augue. Nunc et diam quis sapien dignissim auctor.
          -      Quisque quis neque arcu, nec gravida magna.</figcaption>
          -  </figure>
          -</div>
          - -

          CSS

          - -
          /* Закрываем lightbox */
          -.lightbox {
          -  display: none;
          -}
          -
          -/* Открываем lightbox */
          -.lightbox:target {
          -  position: absolute;
          -  left: 0;
          -  top: 0;
          -  width: 100%;
          -  height: 100%;
          -  display: flex;
          -  align-items: center;
          -  justify-content: center;
          -}
          -
          -/* Содержимое lightbox  */
          -.lightbox figcaption {
          -  width: 25rem;
          -  position: relative;
          -  padding: 1.5em;
          -  background-color: lightpink;
          -}
          -
          -/* Кнопка закрытия */
          -.lightbox .close {
          -  position: relative;
          -  display: block;
          -}
          -
          -.lightbox .close::after {
          -  right: -1rem;
          -  top: -1rem;
          -  width: 2rem;
          -  height: 2rem;
          -  position: absolute;
          -  display: flex;
          -  z-index: 1;
          -  align-items: center;
          -  justify-content: center;
          -  background-color: black;
          -  border-radius: 50%;
          -  color: white;
          -  content: "×";
          -  cursor: pointer;
          -}
          -
          -/* Обёртка lightbox  */
          -.lightbox .close::before {
          -  left: 0;
          -  top: 0;
          -  width: 100%;
          -  height: 100%;
          -  position: fixed;
          -  background-color: rgba(0,0,0,.7);
          -  content: "";
          -  cursor: default;
          -}
          - -

          Результат

          - -
          {{EmbedLiveSample('Pure-CSS_lightbox', 500, 220)}}
          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - - - -
          {{Compat}}
          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_colon_target/index.md b/files/ru/web/css/_colon_target/index.md new file mode 100644 index 00000000000000..0b35f85b7077f4 --- /dev/null +++ b/files/ru/web/css/_colon_target/index.md @@ -0,0 +1,193 @@ +--- +title: ':target' +slug: Web/CSS/:target +tags: + - Вёрстка + - Псевдоклассы +translation_of: Web/CSS/:target +--- +{{CSSRef}} + +[Псевдокласс ](/ru/docs/Web/CSS/Pseudo-classes)[CSS](/ru/docs/Web/CSS) **`:target`** представляет уникальный элемент (целевой элемент) с подходящим {{htmlattrxref("id")}} URL-фрагментом. + +```css +/* Выбирает элемент с подходящим ID текущего URL-фрагмента */ +:target { + border: 2px solid black; +} +``` + +Для примера, следующий URL имеет фрагмент (обозначается знаком _#_), который указывает на элемент с именем `section2`: + + http://www.example.com/index.html#section2 + +Следующий элемент будет выбран селектором `:target`, если текущий URL равен вышеуказанному: + +```html +
          Example
          +``` + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Таблица контента + +Псевдокласс `:target` может использоваться для выделения части страницы, на которую была сделана ссылка из оглавления . + +#### HTML + +```html +

          Table of Contents

          +
            +
          1. Jump to the first paragraph!
          2. +
          3. Jump to the second paragraph!
          4. +
          5. This link goes nowhere, + because the target doesn't exist.
          6. +
          + +

          My Fun Article

          +

          You can target this paragraph using a + URL fragment. Click on the link above to try out!

          +

          This is another paragraph, also accessible + from the links above. Isn't that delightful?

          +``` + +#### CSS + +```css +p:target { + background-color: gold; +} + +/* Добавление псевдоэлемента внутрь target-элемента */ +p:target::before { + font: 70% sans-serif; + content: "►"; + color: limegreen; + margin-right: .25em; +} + +/* Стиль italic-элементов без target-элемента */ +p:target i { + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample('A_table_of_contents', 500, 300)}} + +### Pure-CSS lightbox + +Вы можете использовать псевдокласс `:target` для создания lightbox без использования JavaScript. Этот метод основан на способности якорных ссылок указывать на элементы, которые изначально скрыты на странице. После этого, CSS изменяет их `display` на видимый. + +> **Примечание:** Более полный pure-CSS lightbox , основанный на псевдоклассе`:target` - [available on GitHub](https://github.com/madmurphy/takefive.css/) ([demo](https://madmurphy.github.io/takefive.css/)). + +#### HTML + +```html + + + + + +``` + +#### CSS + +```css +/* Закрываем lightbox */ +.lightbox { + display: none; +} + +/* Открываем lightbox */ +.lightbox:target { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; +} + +/* Содержимое lightbox */ +.lightbox figcaption { + width: 25rem; + position: relative; + padding: 1.5em; + background-color: lightpink; +} + +/* Кнопка закрытия */ +.lightbox .close { + position: relative; + display: block; +} + +.lightbox .close::after { + right: -1rem; + top: -1rem; + width: 2rem; + height: 2rem; + position: absolute; + display: flex; + z-index: 1; + align-items: center; + justify-content: center; + background-color: black; + border-radius: 50%; + color: white; + content: "×"; + cursor: pointer; +} + +/* Обёртка lightbox */ +.lightbox .close::before { + left: 0; + top: 0; + width: 100%; + height: 100%; + position: fixed; + background-color: rgba(0,0,0,.7); + content: ""; + cursor: default; +} +``` + +#### Результат + +{{EmbedLiveSample('Pure-CSS_lightbox', 500, 220)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Using the :target pseudo-class in selectors](/ru/docs/Web/CSS/CSS_Selectors/Using_the_%3Atarget_pseudo-class_in_selectors) diff --git a/files/ru/web/css/_colon_valid/index.html b/files/ru/web/css/_colon_valid/index.html deleted file mode 100644 index 15bd6ca8ee3955..00000000000000 --- a/files/ru/web/css/_colon_valid/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: ':valid' -slug: 'Web/CSS/:valid' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:valid' ---- -

          {{ CSSRef() }}

          - -

          Описание

          - -

          CSS псевдокласс :valid находит любые {{ HTMLElement("input") }} или {{ HTMLElement("form") }} элементы, контент которых валиден, в соответствии с типом поля. Он позволяет вам легко менять внешний вид полей, что помогает понять пользователю, что он ввёл данные правильно.

          - -

          Пример

          - -

          Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет.

          - -

          HTML

          - -
          <form>
          -  <label>Введите URL:</label>
          -  <input type="url" />
          -  <br />
          -  <br />
          -  <label>Введите адрес эл. почты:</label>
          -  <input type="email" required/>
          -</form>
          - -

          CSS

          - -
          input:invalid {
          -  background-color: #ffdddd;
          -}
          -
          -form:invalid {
          -  border: 5px solid #ffdddd;
          -}
          -
          -input:valid {
          -  background-color: #ddffdd;
          -}
          -
          -form:valid {
          -  border: 5px solid #ddffdd;
          -}
          -
          -input:required {
          -  border-color: #800000;
          -  border-width: 3px;
          -}
          - -

          {{ EmbedLiveSample('Пример',600,150) }}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - -
            -
          • {{ cssxref(":invalid") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }}
          • -
          diff --git a/files/ru/web/css/_colon_valid/index.md b/files/ru/web/css/_colon_valid/index.md new file mode 100644 index 00000000000000..087b2c82175171 --- /dev/null +++ b/files/ru/web/css/_colon_valid/index.md @@ -0,0 +1,68 @@ +--- +title: ':valid' +slug: Web/CSS/:valid +tags: + - Псевдо-классы +translation_of: Web/CSS/:valid +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:valid` находит любые {{ HTMLElement("input") }} или {{ HTMLElement("form") }} элементы, контент которых [валиден](/ru/docs/Web/Guide/HTML/HTML5/Constraint_validation "en/HTML/HTML5/Constraint_validation"), в соответствии с типом поля. Он позволяет вам легко менять внешний вид полей, что помогает понять пользователю, что он ввёл данные правильно. + +## Пример + +Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет. + +### HTML + +```html +
          + + +
          +
          + + +
          +``` + +### CSS + +```css +input:invalid { + background-color: #ffdddd; +} + +form:invalid { + border: 5px solid #ffdddd; +} + +input:valid { + background-color: #ddffdd; +} + +form:valid { + border: 5px solid #ddffdd; +} + +input:required { + border-color: #800000; + border-width: 3px; +} +``` + +{{ EmbedLiveSample('Пример',600,150) }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{ cssxref(":invalid") }}, {{ cssxref(":required") }}, {{ cssxref(":optional") }} diff --git a/files/ru/web/css/_colon_visited/index.html b/files/ru/web/css/_colon_visited/index.html deleted file mode 100644 index f79ad326ef7651..00000000000000 --- a/files/ru/web/css/_colon_visited/index.html +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: ':visited' -slug: 'Web/CSS/:visited' -tags: - - Псевдо-классы -translation_of: 'Web/CSS/:visited' ---- -

          {{ CSSRef() }}

          - -

          Описание

          - -

          CSS псевдокласс :visited позволяет вам выбирать ссылки, которые были посещены. Этот стиль может переопределяться другими относящимися к ссылкам псевдоклассами, такими как {{ cssxref(":link") }}, {{ cssxref(":hover") }} и {{ cssxref(":active") }}, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вставьте правило :visited после правила :link до правил :hover и :active, как определено LVHA-порядком: :link:visited:hover:active.

          - -
          -

          Замечание: Из-за причин приватности, браузеры строго ограничивают стили, которые вы можете применить к элементу, используя этот псевдокласс: только {{ cssxref("color") }}, {{ cssxref("background-color") }}, {{ cssxref("border-color") }}, {{ cssxref("border-bottom-color") }}, {{ cssxref("border-left-color") }}, {{ cssxref("border-right-color") }}, {{ cssxref("border-top-color") }}, {{ cssxref("outline-color") }}, {{ cssxref("column-rule-color") }}, fill и stroke. Компонент альфа-канала в доступных стилях будет игнорироваться. Вместо него будет использоваться альфа-канал, используемый для непосещённых ссылок. Если в цвете альфа-канала для посещённых ссылок задан0, то в этом случае будет использоваться цвет непосещённых ссылок.

          - -

          Несмотря на то, что цвет может меняться, метод getComputedStyle наврёт и всегда будет давать значение цвета непосещённых ссылок.

          - -

          Для дополнительной информации об ограничениях и их причин, смотрите Приватность и селектор :visited.

          -
          - -

          Примеры

          - -
          a:visited { color: #4b2f89; }
          -a:visited { background-color: white } 
          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_colon_visited/index.md b/files/ru/web/css/_colon_visited/index.md new file mode 100644 index 00000000000000..4c015341c2aac4 --- /dev/null +++ b/files/ru/web/css/_colon_visited/index.md @@ -0,0 +1,34 @@ +--- +title: ':visited' +slug: Web/CSS/:visited +tags: + - Псевдо-классы +translation_of: Web/CSS/:visited +--- +{{ CSSRef() }} + +## Описание + +CSS [псевдокласс](/ru/docs/Web/CSS/Псевдо-классы "Pseudo-classes") `:visited` позволяет вам выбирать ссылки, которые были посещены. Этот стиль может переопределяться другими относящимися к ссылкам псевдоклассами, такими как {{ cssxref(":link") }}, {{ cssxref(":hover") }} и {{ cssxref(":active") }}, появляющимися в соответствующем порядке. Чтобы стилизировать ссылки должным образом, вставьте правило `:visited` после правила `:link` до правил `:hover` и `:active`, как определено _LVHA-порядком_: `:link` — `:visited` — `:hover` — `:active`. + +> **Примечание:** **Замечание:** Из-за причин приватности, браузеры строго ограничивают стили, которые вы можете применить к элементу, используя этот псевдокласс: только {{ cssxref("color") }}, {{ cssxref("background-color") }}, {{ cssxref("border-color") }}, {{ cssxref("border-bottom-color") }}, {{ cssxref("border-left-color") }}, {{ cssxref("border-right-color") }}, {{ cssxref("border-top-color") }}, {{ cssxref("outline-color") }}, {{ cssxref("column-rule-color") }}, `fill` и `stroke`. Компонент альфа-канала в доступных стилях будет игнорироваться. Вместо него будет использоваться альфа-канал, используемый для непосещённых ссылок. Если в цвете альфа-канала для посещённых ссылок задан`0`, то в этом случае будет использоваться цвет непосещённых ссылок.Несмотря на то, что цвет может меняться, метод `getComputedStyle` наврёт и всегда будет давать значение цвета непосещённых ссылок.Для дополнительной информации об ограничениях и их причин, смотрите [Приватность и селектор :visited](/ru/docs/CSS/Privacy_and_the_:visited_selector). + +## Примеры + +```css +a:visited { color: #4b2f89; } +a:visited { background-color: white } +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Приватность и селектор :visited](/ru/docs/CSS/Privacy_and_the_:visited_selector) +- Относящиеся к ссылкам псевдоклассы: {{cssxref(":link")}}, {{cssxref(":active")}} и {{cssxref(":hover")}}. diff --git a/files/ru/web/css/_colon_where/index.html b/files/ru/web/css/_colon_where/index.html deleted file mode 100644 index acee6e370a27b8..00000000000000 --- a/files/ru/web/css/_colon_where/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: ':where()' -slug: 'Web/CSS/:where' -tags: - - ':where' - - CSS - - псевдокласс -translation_of: 'Web/CSS/:where' ---- -
          {{CSSRef}}
          - -
          CSS псевдокласс :where() в качестве аргумента принимает список селекторов и выбирает только те элементы, которые могут быть выбраны из переданного списка.
          - - - -
          /* Выбирает любой параграф внутри header, main
          -   или footer на который наведён курсор мыши */
          -:where(header, main, footer) p:hover {
          -  color: red;
          -  cursor: pointer;
          -}
          -
          -/* Пример приведённый выше эквивалентен следующему */
          -header p:hover,
          -main p:hover,
          -footer p:hover {
          -  color: red;
          -  cursor: pointer;
          -}
          - -

          Разница между :where() и {{CSSxRef(":is", ":is()")}} заключается в том, что :where() всегда имеет нулевую специфичность селектора, тогда как специфичность :is() равна самому специфичному селектору из списка переданных аргументов.

          - -

          Парсинг forgiving-селектора

          - -

          В спецификации псевдоклассы :is() и :where() относятся к так называемому forgiving selector list (прощающий список селекторов).

          - -

          При использовании списка селекторов в CSS, если один из селекторов невалидный, то весь список селекторов будет считаться невалидным. В то же время при использовании :is() или :where() действует другое правило: если среди переданных аргументов будет некорректный или неподдерживаемый селектор, то он будет проигнорирован, для всех же остальных селекторов будут применены CSS-правила.

          - -
          :where(:valid, :unsupported) {
          -  ...
          -}
          - -

          Пример выше будет успешно распарсен и для :valid будут применены CSS-правила, даже если в браузере не поддерживается :unsupported, в то время как:

          - -
          :valid, :unsupported {
          -  ...
          -}
          - -

          Код будет полностью проигнорирован в браузерах, которые не поддерживают :unsupported, даже не смотря на то, что они поддерживают :valid.

          - -

          Примеры

          - -

          Сравнение :where() и :is()

          - -

          В этом примере показывается как работает :where(), а так же демонстрируется разница между :where() и :is().

          - -

          Возьмём следующий HTML-код:

          - -
          <article>
          -  <h2>:is()-styled links</h2>
          -  <section class="is-styling">
          -    <p>Here is my main content. This <a href="https://mozilla.org">contains a link</a>.
          -  </section>
          -
          -  <aside class="is-styling">
          -    <p>Here is my aside content. This <a href="https://developer.mozilla.org">also contains a link</a>.
          -  </aside>
          -
          -  <footer class="is-styling">
          -    <p>This is my footer, also containing <a href="https://github.com/mdn">a link</a>.
          -  </footer>
          -</article>
          -
          -<article>
          -  <h2>:where()-styled links</h2>
          -  <section class="where-styling">
          -    <p>Here is my main content. This <a href="https://mozilla.org">contains a link</a>.
          -  </section>
          -
          -  <aside class="where-styling">
          -    <p>Here is my aside content. This <a href="https://developer.mozilla.org">also contains a link</a>.
          -  </aside>
          -
          -  <footer class="where-styling">
          -    <p>This is my footer, also containing <a href="https://github.com/mdn">a link</a>.
          -  </footer>
          -</article>
          - -

          В примере выше у нас представлено две статьи, каждая из которых содержит следующие блоки: section, aside и footer. Каждый из блоков имеет свой CSS-класс.

          - -

          Теперь при помощи псевдоклассов :is() и :where() зададим цвет для ссылок в простой форме, как в примере ниже:

          - -
          html {
          -  font-family: sans-serif;
          -  font-size: 150%;
          -}
          -
          -:is(section.is-styling, aside.is-styling, footer.is-styling) a {
          -  color: red;
          -}
          -
          -:where(section.where-styling, aside.where-styling, footer.where-styling) a {
          -  color: orange;
          -}
          - -

          Что если позже мы захотим переопределить цвет ссылок в footer'ах используя простой селектор?

          - -
          footer a {
          -  color: blue;
          -}
          - -

          Это не будет работать для ссылок красного цвета, потому что специфичность селекторов внутри :is() выше, чем специфичность селектора вышеприведённого кода. Селектор классов имеет бо́льшую специфичность, чем селектор элемента.

          - -

          В то время как, селекторы перечисленные внутри :where() имеют нулевую специфичность, поэтому оранжевая ссылка в футере будет переопределена простым селектором и станет синего цвета.

          - -

          Примечание: вы так же можете найти этот пример на Github; смотрите is-where.

          - -

          {{EmbedLiveSample('Примеры', '100%', 600)}}

          - -

          Синтаксис

          - -{{CSSSyntax}} - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_colon_where/index.md b/files/ru/web/css/_colon_where/index.md new file mode 100644 index 00000000000000..2147f97665a8ca --- /dev/null +++ b/files/ru/web/css/_colon_where/index.md @@ -0,0 +1,144 @@ +--- +title: ':where()' +slug: Web/CSS/:where +tags: + - ':where' + - CSS + - псевдокласс +translation_of: Web/CSS/:where +--- +{{CSSRef}}[CSS](/ru/docs/Web/CSS) [псевдокласс ](/ru/docs/Web/CSS/Псевдо-классы)**`:where()` **в качестве аргумента принимает список селекторов и выбирает только те элементы, которые могут быть выбраны из переданного списка. + +```css +/* Выбирает любой параграф внутри header, main + или footer на который наведён курсор мыши */ +:where(header, main, footer) p:hover { + color: red; + cursor: pointer; +} + +/* Пример приведённый выше эквивалентен следующему */ +header p:hover, +main p:hover, +footer p:hover { + color: red; + cursor: pointer; +} +``` + +Разница между `:where()` и {{CSSxRef(":is", ":is()")}} заключается в том, что `:where()` всегда имеет нулевую [специфичность селектора](ru/docs/Web/CSS/Specificity), тогда как специфичность `:is()` равна самому специфичному селектору из списка переданных аргументов. + +### Парсинг forgiving-селектора + +В спецификации псевдоклассы `:is()` и `:where()` относятся к так называемому [forgiving selector list](https://drafts.csswg.org/selectors-4/#typedef-forgiving-selector-list) (прощающий список селекторов). + +При использовании списка селекторов в CSS, если один из селекторов невалидный, то весь список селекторов будет считаться невалидным. В то же время при использовании `:is()` или `:where()` действует другое правило: если среди переданных аргументов будет некорректный или неподдерживаемый селектор, то он будет проигнорирован, для всех же остальных селекторов будут применены CSS-правила. + +```css +:where(:valid, :unsupported) { + ... +} +``` + +Пример выше будет успешно распарсен и для `:valid` будут применены CSS-правила, даже если в браузере не поддерживается `:unsupported`, в то время как: + +```css +:valid, :unsupported { + ... +} +``` + +Код будет полностью проигнорирован в браузерах, которые не поддерживают `:unsupported`, даже не смотря на то, что они поддерживают `:valid`. + +## Примеры + +### Сравнение :where() и :is() + +В этом примере показывается как работает `:where()`, а так же демонстрируется разница между `:where()` и `:is()`. + +Возьмём следующий HTML-код: + +```html + + + +``` + +В примере выше у нас представлено две статьи, каждая из которых содержит следующие блоки: `section`, `aside` и `footer`. Каждый из блоков имеет свой CSS-класс. + +Теперь при помощи псевдоклассов `:is()` и `:where()` зададим цвет для ссылок в простой форме, как в примере ниже: + +```css +html { + font-family: sans-serif; + font-size: 150%; +} + +:is(section.is-styling, aside.is-styling, footer.is-styling) a { + color: red; +} + +:where(section.where-styling, aside.where-styling, footer.where-styling) a { + color: orange; +} +``` + +Что если позже мы захотим переопределить цвет ссылок в `footer`'ах используя простой селектор? + +```css +footer a { + color: blue; +} +``` + +Это не будет работать для ссылок красного цвета, потому что специфичность селекторов внутри `:is()` выше, чем специфичность селектора вышеприведённого кода. Селектор классов имеет бо́льшую специфичность, чем селектор элемента. + +В то время как, селекторы перечисленные внутри `:where()` имеют нулевую специфичность, поэтому оранжевая ссылка в футере будет переопределена простым селектором и станет синего цвета. + +**Примечание**: вы так же можете найти этот пример на Github; смотрите [is-where](https://mdn.github.io/css-examples/is-where/). + +{{EmbedLiveSample('Примеры', '100%', 600)}} + +## Синтаксис + +{{CSSSyntax}} + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- {{CSSxRef(":is", ":is()")}} +- [Список селекторов](/ru/docs/Web/CSS/Selector_list) +- [Веб-компоненты](/ru/docs/Web/Web_Components) diff --git a/files/ru/web/css/_doublecolon_-moz-progress-bar/index.html b/files/ru/web/css/_doublecolon_-moz-progress-bar/index.html deleted file mode 100644 index 88795d4cd9f534..00000000000000 --- a/files/ru/web/css/_doublecolon_-moz-progress-bar/index.html +++ /dev/null @@ -1,50 +0,0 @@ ---- -title: '::-moz-progress-bar' -slug: 'Web/CSS/::-moz-progress-bar' -translation_of: 'Web/CSS/::-moz-progress-bar' ---- -
          - -
          {{CSSRef}}{{Non-standard_header}}
          - -

          Представляет собой индикатор прогресса внутри {{HTMLElement("progress")}} (Бар, отражающий текущий прогресс).

          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          HTML

          - -
          <progress value="30" max="100">30%</progress>
          -<progress max="100">Неопределённый бар прогресса</progress>
          - -

          CSS

          - -
          ::-moz-progress-bar {
          -  background-color: red;
          -}
          -
          -/* Задаёт неопределённым барам нулевую ширину */
          -:indeterminate::-moz-progress-bar {
          -  width: 0;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Примеры')}}

          - -

          Первый бар сверху должен выглядеть так:

          - -

          Custom styled progress bar

          - -

          Смотрите также

          - -
            -
          • {{HTMLElement("progress")}}
          • -
          • {{ cssxref("::-ms-fill") }}
          • -
          • {{ cssxref("::-webkit-progress-bar") }}
          • -
          • {{ cssxref("::-webkit-progress-value") }}
          • -
          • {{ cssxref("::-webkit-progress-inner-element") }}
          • -
          diff --git a/files/ru/web/css/_doublecolon_-moz-progress-bar/index.md b/files/ru/web/css/_doublecolon_-moz-progress-bar/index.md new file mode 100644 index 00000000000000..5c6e62842f3a33 --- /dev/null +++ b/files/ru/web/css/_doublecolon_-moz-progress-bar/index.md @@ -0,0 +1,50 @@ +--- +title: '::-moz-progress-bar' +slug: Web/CSS/::-moz-progress-bar +translation_of: Web/CSS/::-moz-progress-bar +--- +{{CSSRef}}{{Non-standard_header}} + +Представляет собой индикатор прогресса внутри {{HTMLElement("progress")}} (Бар, отражающий текущий прогресс). + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### HTML + +```html +30% +Неопределённый бар прогресса +``` + +### CSS + +```css +::-moz-progress-bar { + background-color: red; +} + +/* Задаёт неопределённым барам нулевую ширину */ +:indeterminate::-moz-progress-bar { + width: 0; +} +``` + +### Результат + +{{EmbedLiveSample('Примеры')}} + +Первый бар сверху должен выглядеть так: + +![Custom styled progress bar](/@api/deki/files/5387/=redbar.png) + +## Смотрите также + +- {{HTMLElement("progress")}} +- {{ cssxref("::-ms-fill") }} +- {{ cssxref("::-webkit-progress-bar") }} +- {{ cssxref("::-webkit-progress-value") }} +- {{ cssxref("::-webkit-progress-inner-element") }} diff --git a/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html b/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html deleted file mode 100644 index 828d7235e9fe68..00000000000000 --- a/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.html +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: '::-webkit-slider-thumb' -slug: 'Web/CSS/::-webkit-slider-thumb' -translation_of: 'Web/CSS/::-webkit-slider-thumb' ---- -
          {{CSSRef}}{{Non-standard_header}}
          - -

          Описание

          - -

          Псевдоэлемент CSS ::-webkit-slider-thumb представляет собой ползунок, передвигаемый пользователем по линейке элемента {{HTMLElement("input")}} типа "range" для изменения числового значения атрибута value.

          - -

          Спецификация

          - -

          Не является частью какой либо спецификации. Это проприетарный псевдоэлемент исключительно для WebKit/Blink.

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.md b/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.md new file mode 100644 index 00000000000000..986f1351752792 --- /dev/null +++ b/files/ru/web/css/_doublecolon_-webkit-slider-thumb/index.md @@ -0,0 +1,25 @@ +--- +title: '::-webkit-slider-thumb' +slug: Web/CSS/::-webkit-slider-thumb +translation_of: Web/CSS/::-webkit-slider-thumb +--- +{{CSSRef}}{{Non-standard_header}} + +## Описание + +`Псевдоэлемент CSS ::-webkit-slider-thumb` представляет собой ползунок, передвигаемый пользователем по линейке элемента {{HTMLElement("input")}} типа `"range"` для изменения числового значения атрибута [value](en-US/docs/Web/HTML/Element/input#attr-value). + +## Спецификация + +Не является частью какой либо спецификации. Это проприетарный псевдоэлемент исключительно для WebKit/Blink. + +## Смотрите также + +- {{cssxref("::-webkit-slider-runnable-track")}} +- Похожие псевдоэлементы использующиеся в других браузерах: + + - {{cssxref("::-moz-range-thumb")}} + - {{cssxref("::-ms-thumb")}} + +- [CSS-Tricks: Styling Cross-Browser Compatible Range Inputs with CSS](https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/) +- [QuirksMode: Styling and scripting sliders](http://www.quirksmode.org/blog/archives/2015/11/styling_and_scr.html) diff --git a/files/ru/web/css/_doublecolon_after/index.html b/files/ru/web/css/_doublecolon_after/index.html deleted file mode 100644 index 062c1826d0816f..00000000000000 --- a/files/ru/web/css/_doublecolon_after/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: '::after (:after)' -slug: 'Web/CSS/::after' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоэлементы -translation_of: 'Web/CSS/::after' ---- -
          {{CSSRef}}
          - -

          В CSS, ::after создаёт псевдоэлемент, который является последним потомком выбранного элемента. Часто используется для добавления косметического содержимого в элемент с помощью свойства {{cssxref("content")}}. По умолчанию является инлайновым.

          - -
          /* Добавить стрелки после ссылок */
          -a::after {
          -  content: "";
          -}
          - -
          -

          Примечание: Псведоэлементы, созданные с помощью ::before и ::after содержатся в блоке форматирования элемента, и поэтому не применяются к замещаемым элементам, таким как {{htmlelement("img")}} или {{htmlelement("br")}}.

          -
          - -

          Синтаксис

          - -{{csssyntax}} - -
          -

          В CSS3 появилась запись ::after (с двумя двоеточиями) для различения псевдоклассов и псевдоэлементов. Браузеры также поддерживают запись :after, введённую в CSS2.

          -
          - -

          Примеры

          - -

          Простое использование

          - -

          Давайте создадим два класса, один для скучных параграфов и один для потрясающих. Затем мы сможем отметить каждый параграф добавлением псевдоэлемента в его конец.

          - -

          HTML

          - -
          <p class="boring-text">Вот простой скучный текст.</p>
          -<p>Вот нормальный текст, который не является ни скучным, ни потрясающим.</p>
          -<p class="exciting-text">Помогать MDN легко и весело.
          -Просто нажмите кнопку редактирования, чтобы добавить новые живые примеры, или улучшить существующие примеры.</p>
          - -

          CSS

          - -
          .exciting-text::after {
          -  content: "<- теперь это *просто* потрясающе!";
          -  color: green;
          -}
          -
          -.boring-text::after {
          -   content: "<- СКУЧНО!";
          -   color: red;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Простое_использование', 500, 150)}}

          - -

          Пример оформления

          - -

          Можно стилизовать текст или изображения в свойстве {{cssxref("content")}} практически любым способом.

          - -

          HTML

          - -
          <span class="ribbon">Посмотрите, где находится оранжевый прямоугольник.</span>
          - -

          CSS

          - -
          .ribbon {
          -  background-color: #5BC8F7;
          -}
          -
          -.ribbon::after {
          -  content: "Посмотрите на этот оранжевый прямоугольник.";
          -  background-color: #FFBA10;
          -  border-color: black;
          -  border-style: dotted;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Пример_оформления', 450, 20)}}

          - -

          Подсказки

          - -

          Следующий пример показывает использование псевдоэлемента ::after в сочетании с CSS-выражением attr() и пользовательского data-* атрибута data-descr для создания подсказки на чистом CSS.

          - -

          HTML

          - -
          <p>Здесь находится живой пример вышеприведённого кода.<br />
          -  У нас есть некоторый <span data-descr="коллекция слов и знаков препинаний">текст</span> здесь с несколькими
          -  <span data-descr="маленькие всплывающие окошки, которые снова исчезают">подсказками</span>.<br />
          -  Не стесняйтесь, наводите мышку чтобы <span data-descr="не понимать буквально">взглянуть</span>.
          -</p>
          -
          - -

          CSS

          - -
          span[data-descr] {
          -  position: relative;
          -  text-decoration: underline;
          -  color: #00F;
          -  cursor: help;
          -}
          -
          -span[data-descr]:hover::after {
          -  content: attr(data-descr);
          -  position: absolute;
          -  left: 0;
          -  top: 24px;
          -  min-width: 200px;
          -  border: 1px #aaaaaa solid;
          -  border-radius: 10px;
          -  background-color: #ffffcc;
          -  padding: 12px;
          -  color: #000000;
          -  font-size: 14px;
          -  z-index: 1;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Подсказки', 450, 120)}}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{Cssxref("::before")}}, {{cssxref("content")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_after/index.md b/files/ru/web/css/_doublecolon_after/index.md new file mode 100644 index 00000000000000..e841dc011fa873 --- /dev/null +++ b/files/ru/web/css/_doublecolon_after/index.md @@ -0,0 +1,147 @@ +--- +title: '::after (:after)' +slug: Web/CSS/::after +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоэлементы +translation_of: Web/CSS/::after +--- +{{CSSRef}} + +В CSS, **`::after`** создаёт [псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements), который является последним потомком выбранного элемента. Часто используется для добавления косметического содержимого в элемент с помощью свойства {{cssxref("content")}}. По умолчанию является инлайновым. + +```css +/* Добавить стрелки после ссылок */ +a::after { + content: "→"; +} +``` + +> **Примечание:** Псведоэлементы, созданные с помощью `::before` и `::after` [содержатся в блоке форматирования элемента](https://www.w3.org/TR/CSS2/generate.html#before-after-content), и поэтому не применяются к _[замещаемым элементам](/ru/docs/Web/CSS/Replaced_element)_, таким как {{htmlelement("img")}} или {{htmlelement("br")}}. + +## Синтаксис + +{{csssyntax}} + +> **Примечание:** В CSS3 появилась запись `::after` (с двумя двоеточиями) для различения [псевдоклассов](/ru/docs/Web/CSS/Псевдо-классы) и [псевдоэлементов](/ru/docs/Web/CSS/Pseudo-elements). Браузеры также поддерживают запись `:after`, введённую в CSS2. + +## Примеры + +### Простое использование + +Давайте создадим два класса, один для скучных параграфов и один для потрясающих. Затем мы сможем отметить каждый параграф добавлением псевдоэлемента в его конец. + +#### HTML + +```html +

          Вот простой скучный текст.

          +

          Вот нормальный текст, который не является ни скучным, ни потрясающим.

          +

          Помогать MDN легко и весело. +Просто нажмите кнопку редактирования, чтобы добавить новые живые примеры, или улучшить существующие примеры.

          +``` + +#### CSS + +```css +.exciting-text::after { + content: "<- теперь это *просто* потрясающе!"; + color: green; +} + +.boring-text::after { + content: "<- СКУЧНО!"; + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample('Простое_использование', 500, 150)}} + +### Пример оформления + +Можно стилизовать текст или изображения в свойстве {{cssxref("content")}} практически любым способом. + +#### HTML + +```html +Посмотрите, где находится оранжевый прямоугольник. +``` + +#### CSS + +```css +.ribbon { + background-color: #5BC8F7; +} + +.ribbon::after { + content: "Посмотрите на этот оранжевый прямоугольник."; + background-color: #FFBA10; + border-color: black; + border-style: dotted; +} +``` + +#### Результат + +{{EmbedLiveSample('Пример_оформления', 450, 20)}} + +### Подсказки + +Следующий пример показывает использование [псевдоэлемента](/ru/docs/Web/CSS/Pseudo-elements) `::after` в сочетании с CSS-выражением [`attr()`](/ru/docs/Web/CSS/attr) и [пользовательского `data-*` атрибута](/ru/docs/Web/HTML/Global_attributes#attr-dataset) `data-descr` для создания _подсказки_ на чистом CSS. + +#### HTML + +```html +

          Здесь находится живой пример вышеприведённого кода.
          + У нас есть некоторый текст здесь с несколькими + подсказками.
          + Не стесняйтесь, наводите мышку чтобы взглянуть. +

          +``` + +#### CSS + +```css +span[data-descr] { + position: relative; + text-decoration: underline; + color: #00F; + cursor: help; +} + +span[data-descr]:hover::after { + content: attr(data-descr); + position: absolute; + left: 0; + top: 24px; + min-width: 200px; + border: 1px #aaaaaa solid; + border-radius: 10px; + background-color: #ffffcc; + padding: 12px; + color: #000000; + font-size: 14px; + z-index: 1; +} +``` + +#### Результат + +{{EmbedLiveSample('Подсказки', 450, 120)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref("::before")}}, {{cssxref("content")}} diff --git a/files/ru/web/css/_doublecolon_backdrop/index.html b/files/ru/web/css/_doublecolon_backdrop/index.html deleted file mode 100644 index 57601ca096aac1..00000000000000 --- a/files/ru/web/css/_doublecolon_backdrop/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: '::backdrop' -slug: 'Web/CSS/::backdrop' -tags: - - API - - CSS - - Dialog - - Fullscreen API - - HTML DOM - - Полный экран - - Псевдо-элемент - - Разметка - - диалоговое окно - - полноэкранный режим -translation_of: 'Web/CSS/::backdrop' ---- -
          {{CSSRef}}
          - -

          CSS псевдо-элемент ::backdrop это прямоугольник с размерами {{Glossary("viewport", "окна")}}, который отрисовывается сразу же после отрисовки любого элемента в полноэкранном режиме. Это включает элементы, установленные в полноэкранный режим с помощью Fullscreen API и элементы {{HTMLElement("dialog")}}.

          - -

          Когда несколько элементов находятся в полноэкранном режиме, подложка появляется под тем из них, который находится на переднем плане и над всеми остальными.

          - -
          /* Подложка показывается только тогда, когда диалоговое окно открыто с помощью метода dialog.showModal() */
          -dialog::backdrop {
          -  background: rgba(255,0,0,.25);
          -}
          - -

          Все полноэкранные элементы появляются в порядке last-in/first out (LIFO - последним пришёл - первым ушёл) на специальном верхнем слое окна, который всегда отрисовывается последним (поэтому поверх остальных) до отрисовки содержимого окна. Псевдо-элемент ::backdrop позволяет затемнить, стилизовать или полностью спрятать всё, что находится под элементом, когда он находится на этом верхнем слое.

          - -

          ::backdrop не наследует от других элементов и другие элементы не могут от него наследовать. Нет никаких ограничений на свойства, которые можно применять к этому псевдо-элементу.

          - -

          Синтаксис

          - -{{CSSSyntax}} - -

          Примеры

          - -

          В этом примере, стиль подложки при открытии видео в полноэкранном режиме делаёт её серо-голубой, а не серой, какой она является по стандарту в большинстве браузеров.

          - -
          video::backdrop {
          -  background-color: #448;
          -}
          -
          - -

          В результате окно выглядит так:

          - -

          - -

          Обратите внимание на эффект серо-голубых полей сверху и снизу, где подложка видна. Обычно эта область чёрная, но её цвет изменён с помощью CSS кода выше.

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{cssxref(":fullscreen")}} псевдокласс
          • -
          • {{HTMLElement("dialog")}} HTML-элемент
          • -
          • Fullscreen API
          • -
          diff --git a/files/ru/web/css/_doublecolon_backdrop/index.md b/files/ru/web/css/_doublecolon_backdrop/index.md new file mode 100644 index 00000000000000..49ea3e0782b63d --- /dev/null +++ b/files/ru/web/css/_doublecolon_backdrop/index.md @@ -0,0 +1,66 @@ +--- +title: '::backdrop' +slug: Web/CSS/::backdrop +tags: + - API + - CSS + - Dialog + - Fullscreen API + - HTML DOM + - Полный экран + - Псевдо-элемент + - Разметка + - диалоговое окно + - полноэкранный режим +translation_of: Web/CSS/::backdrop +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдо-элемент](/ru/docs/Web/CSS/Pseudo-elements) **`::backdrop`** это прямоугольник с размерами {{Glossary("viewport", "окна")}}, который отрисовывается сразу же после отрисовки любого элемента в полноэкранном режиме. Это включает элементы, установленные в полноэкранный режим с помощью [Fullscreen API](/ru/docs/DOM/Using_fullscreen_mode) и элементы {{HTMLElement("dialog")}}. + +Когда несколько элементов находятся в полноэкранном режиме, подложка появляется под тем из них, который находится на переднем плане и над всеми остальными. + +```css +/* Подложка показывается только тогда, когда диалоговое окно открыто с помощью метода dialog.showModal() */ +dialog::backdrop { + background: rgba(255,0,0,.25); +} +``` + +Все полноэкранные элементы появляются в порядке last-in/first out (LIFO - последним пришёл - первым ушёл) на специальном верхнем слое окна, который всегда отрисовывается последним (поэтому поверх остальных) до отрисовки содержимого окна. Псевдо-элемент `::backdrop` позволяет затемнить, стилизовать или полностью спрятать всё, что находится под элементом, когда он находится на этом верхнем слое. + +`::backdrop` не наследует от других элементов и другие элементы не могут от него наследовать. Нет никаких ограничений на свойства, которые можно применять к этому псевдо-элементу. + +## Синтаксис + +{{CSSSyntax}} + +## Примеры + +В этом примере, стиль подложки при открытии видео в полноэкранном режиме делаёт её серо-голубой, а не серой, какой она является по стандарту в большинстве браузеров. + +```css +video::backdrop { + background-color: #448; +} +``` + +В результате окно выглядит так: + +![](https://mdn.mozillademos.org/files/16287/bbb-backdrop.png) + +Обратите внимание на эффект серо-голубых полей сверху и снизу, где подложка видна. Обычно эта область чёрная, но её цвет изменён с помощью CSS кода выше. + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref(":fullscreen")}} псевдокласс +- {{HTMLElement("dialog")}} HTML-элемент +- [Fullscreen API](/ru/docs/DOM/Using_fullscreen_mode) diff --git a/files/ru/web/css/_doublecolon_before/index.html b/files/ru/web/css/_doublecolon_before/index.html deleted file mode 100644 index f4df71dd3349d4..00000000000000 --- a/files/ru/web/css/_doublecolon_before/index.html +++ /dev/null @@ -1,199 +0,0 @@ ---- -title: '::before (:before)' -slug: 'Web/CSS/::before' -tags: - - CSS - - Layout - - Reference - - Web - - Псевдоэлементы -translation_of: 'Web/CSS/::before' ---- -
          {{CSSRef}}
          - -

          В CSS, ::before создаёт псевдоэлемент,который является первым потомком выбранного элемента. Часто используется для добавления косметического содержимого в элемент с помощью свойства {{cssxref("content")}}. По умолчания является инлайновым.

          - -
          /* Добавить сердце перед ссылками */
          -a::before {
          -  content: "";
          -}
          - -
          -

          Примечание: Псведоэлементы, созданные с помощью ::before и ::after содержатся в блоке форматирования элемента, и поэтому не применяются к замещаемым элементам, таким как {{htmlelement("img")}} или {{htmlelement("br")}}.

          -
          - -

          Синтаксис

          - -{{csssyntax}} - -
          -

          В CSS3 появилась запись ::before (с двумя двоеточиями) для различения псевдоклассов и псевдоэлементов. Браузеры также поддерживают запись :before, введённую в CSS2.

          -
          - -

          Примеры

          - -

          Добавление кавычек

          - -

          Этот простой пример использования псевдоэлементов ::before позволяет добавлять кавычки. Здесь используется как псевдоэлемент ::before, так и {{Cssxref("::after")}}.

          - -

          HTML

          - -
          <q>Немного кавычек</q>, как он сказал, <q>лучше чем ничего.</q>
          - -

          CSS

          - -
          q::before {
          -  content: "«";
          -  color: blue;
          -}
          -
          -q::after {
          -  content: "»";
          -  color: red;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Добавление_кавычек', '500', '50', '')}}

          - -

          Пример оформления

          - -

          Можно стилизовать текст или изображения в свойстве {{cssxref("content")}} практически любым способом.

          - -

          HTML

          - -
          <span class="ribbon">Посмотрите, где находится оранжевый прямоугольник.</span>
          - -

          CSS

          - -
          .ribbon {
          -  background-color: #5BC8F7;
          -}
          -
          -.ribbon::before {
          -  content: "Посмотрите на этот оранжевый прямоугольник.";
          -  background-color: #FFBA10;
          -  border-color: black;
          -  border-style: dotted;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Пример_оформления', 450, 60)}}

          - -

          Список дел

          - -

          В этом примере мы создадим простой список дел,используя псевдоэлементы. Этот метод часто применяется для добавления небольших штрихов в пользовательский интерфейс и улучшения впечатления пользователей.

          - -

          HTML

          - -
          <ul>
          -  <li>Купить молока</li>
          -  <li>Сходить на прогулку с собакой</li>
          -  <li>Тренироваться</li>
          -  <li>Написать код</li>
          -  <li>Слушать музыку</li>
          -  <li>Отдыхать</li>
          -</ul>
          -
          - -

          CSS

          - -
          li {
          -  list-style-type: none;
          -  position: relative;
          -  margin: 2px;
          -  padding: 0.5em 0.5em 0.5em 2em;
          -  background: lightgrey;
          -  font-family: sans-serif;
          -}
          -
          -li.done {
          -  background: #CCFF99;
          -}
          -
          -li.done::before {
          -  content: '';
          -  position: absolute;
          -  border-color: #009933;
          -  border-style: solid;
          -  border-width: 0 0.3em 0.25em 0;
          -  height: 1em;
          -  top: 1.3em;
          -  left: 0.6em;
          -  margin-top: -1em;
          -  transform: rotate(45deg);
          -  width: 0.5em;
          -}
          - -

          JavaScript

          - -
          var list = document.querySelector('ul');
          -list.addEventListener('click', function(ev) {
          -  if( ev.target.tagName === 'LI') {
          -     ev.target.classList.toggle('done');
          -  }
          -}, false);
          -
          - -

          Вот живой пример приведённого выше кода. Заметим, что здесь не используются иконки, а зелёная галочка на самом деле является псевдоэлементом ::before, стилизованном с помощью CSS. Попробуйте выполнить некоторые вещи списка.

          - -

          Результат

          - -

          {{EmbedLiveSample('Список_дел', 400, 300)}}

          - -

          Примечания

          - -

          Хотя исправления в Firefox 3.5 не позволяют созданному содержимому вести себя как отдельный предшествующий элемент (согласно спецификации CSS: "Псевдоэлементы :before и :after взаимодействуют с другими элементами... как если бы они были настоящими элементами, добавленными в соответствующий им элемент."), они могут быть использованы для небольшого улучшения в разметке без таблиц (например для центрирования). В предположении, что содержимое, которое необходимо центрировать, уже обёрнуто в некоторый элемент, столбцы перед и после содержимого могут быть добавлены без добавления других элементов (например в данном случае вероятно является более корректным обернуть текст в элемент <span>, как в примере ниже, вместо того чтобы добавлять два пустых элемента <div/> до и после текста). (И всегда устанавливайте ширину плавающего элемента, иначе он не будет плавающим!)

          - -

          HTML

          - -
          <div class="example">
          -<span id="floatme">"Плавающий перед" будет добавлен слева от текста
          -и не позволит переполнению этой строки обтекать его снизу.
          -Аналогично, "Плавающий после" будет добавлен справа от текста
          -и не позволит переполнению этой строки обтекать его снизу.</span>
          -</div>
          - -

          CSS

          - -
          #floatme { float: left; width: 50%; }
          -
          -/* Чтобы получить пустой столбец достаточно указать шестнадцатеричный код неразрывного пробела \a0 в качестве содержимого (используйте \0000a0, если за этим пробелом следуют другие символы) */
          -.example::before {
          -  content: "Плавающий перед";
          -  float: left;
          -  width: 25%
          -}
          -.example::after {
          -  content: "Плавающий после";
          -  float: right;
          -  width:25%
          -}
          -
          -/* Для стилизации */
          -.example::before, .example::after {
          -  background: yellow;
          -  color: red;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Примечания")}}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{Cssxref("::after")}}
          • -
          • {{Cssxref("content")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_before/index.md b/files/ru/web/css/_doublecolon_before/index.md new file mode 100644 index 00000000000000..ac63b7ba58e3ab --- /dev/null +++ b/files/ru/web/css/_doublecolon_before/index.md @@ -0,0 +1,209 @@ +--- +title: '::before (:before)' +slug: Web/CSS/::before +tags: + - CSS + - Layout + - Reference + - Web + - Псевдоэлементы +translation_of: Web/CSS/::before +--- +{{CSSRef}} + +В CSS, **`::before`** создаёт [псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements),который является первым потомком выбранного элемента. Часто используется для добавления косметического содержимого в элемент с помощью свойства {{cssxref("content")}}. По умолчания является инлайновым. + +```css +/* Добавить сердце перед ссылками */ +a::before { + content: "♥"; +} +``` + +> **Примечание:** Псведоэлементы, созданные с помощью `::before` и `::after` [содержатся в блоке форматирования элемента](https://www.w3.org/TR/CSS2/generate.html#before-after-content), и поэтому не применяются к _[замещаемым элементам](/ru/docs/Web/CSS/Replaced_element)_, таким как {{htmlelement("img")}} или {{htmlelement("br")}}. + +## Синтаксис + +{{csssyntax}} + +> **Примечание:** В CSS3 появилась запись `::before` (с двумя двоеточиями) для различения [псевдоклассов](/ru/docs/Web/CSS/Pseudo-classes) и [псевдоэлементов](/ru/docs/Web/CSS/Pseudo-elements). Браузеры также поддерживают запись `:before`, введённую в CSS2. + +## Примеры + +### Добавление кавычек + +Этот простой пример использования псевдоэлементов `::before` позволяет добавлять кавычки. Здесь используется как псевдоэлемент `::before`, так и `{{Cssxref("::after")}}`. + +#### HTML + +```html +Немного кавычек, как он сказал, лучше чем ничего. +``` + +#### CSS + +```css +q::before { + content: "«"; + color: blue; +} + +q::after { + content: "»"; + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample('Добавление_кавычек', '500', '50', '')}} + +### Пример оформления + +Можно стилизовать текст или изображения в свойстве {{cssxref("content")}} практически любым способом. + +#### HTML + +```html +Посмотрите, где находится оранжевый прямоугольник. +``` + +#### CSS + +```css +.ribbon { + background-color: #5BC8F7; +} + +.ribbon::before { + content: "Посмотрите на этот оранжевый прямоугольник."; + background-color: #FFBA10; + border-color: black; + border-style: dotted; +} +``` + +#### Результат + +{{EmbedLiveSample('Пример_оформления', 450, 60)}} + +### Список дел + +В этом примере мы создадим простой список дел,используя псевдоэлементы. Этот метод часто применяется для добавления небольших штрихов в пользовательский интерфейс и улучшения впечатления пользователей. + +#### HTML + +```html +
            +
          • Купить молока
          • +
          • Сходить на прогулку с собакой
          • +
          • Тренироваться
          • +
          • Написать код
          • +
          • Слушать музыку
          • +
          • Отдыхать
          • +
          +``` + +#### CSS + +```css +li { + list-style-type: none; + position: relative; + margin: 2px; + padding: 0.5em 0.5em 0.5em 2em; + background: lightgrey; + font-family: sans-serif; +} + +li.done { + background: #CCFF99; +} + +li.done::before { + content: ''; + position: absolute; + border-color: #009933; + border-style: solid; + border-width: 0 0.3em 0.25em 0; + height: 1em; + top: 1.3em; + left: 0.6em; + margin-top: -1em; + transform: rotate(45deg); + width: 0.5em; +} +``` + +#### JavaScript + +```js +var list = document.querySelector('ul'); +list.addEventListener('click', function(ev) { + if( ev.target.tagName === 'LI') { + ev.target.classList.toggle('done'); + } +}, false); +``` + +Вот живой пример приведённого выше кода. Заметим, что здесь не используются иконки, а зелёная галочка на самом деле является псевдоэлементом `::before`, стилизованном с помощью CSS. Попробуйте выполнить некоторые вещи списка. + +#### Результат + +{{EmbedLiveSample('Список_дел', 400, 300)}} + +## Примечания + +Хотя исправления в Firefox 3.5 не позволяют созданному содержимому вести себя как отдельный предшествующий элемент (согласно [спецификации CSS](http://www.w3.org/TR/CSS21/generate.html#before-after-content): "Псевдоэлементы :before и :after взаимодействуют с другими элементами... как если бы они были настоящими элементами, добавленными в соответствующий им элемент."), они могут быть использованы для небольшого улучшения в разметке без таблиц (например для центрирования). В предположении, что содержимое, которое необходимо центрировать, уже обёрнуто в некоторый элемент, столбцы перед и после содержимого могут быть добавлены без добавления других элементов (например в данном случае вероятно является более корректным обернуть текст в элемент ``, как в примере ниже, вместо того чтобы добавлять два пустых элемента `
          ` до и после текста). (И всегда устанавливайте ширину плавающего элемента, иначе он не будет плавающим!) + +#### HTML + +```html +
          +"Плавающий перед" будет добавлен слева от текста +и не позволит переполнению этой строки обтекать его снизу. +Аналогично, "Плавающий после" будет добавлен справа от текста +и не позволит переполнению этой строки обтекать его снизу. +
          +``` + +#### CSS + +```css +#floatme { float: left; width: 50%; } + +/* Чтобы получить пустой столбец достаточно указать шестнадцатеричный код неразрывного пробела \a0 в качестве содержимого (используйте \0000a0, если за этим пробелом следуют другие символы) */ +.example::before { + content: "Плавающий перед"; + float: left; + width: 25% +} +.example::after { + content: "Плавающий после"; + float: right; + width:25% +} + +/* Для стилизации */ +.example::before, .example::after { + background: yellow; + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample("Примечания")}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{Cssxref("::after")}} +- {{Cssxref("content")}} diff --git a/files/ru/web/css/_doublecolon_cue/index.html b/files/ru/web/css/_doublecolon_cue/index.html deleted file mode 100644 index 18dfb0992ea948..00000000000000 --- a/files/ru/web/css/_doublecolon_cue/index.html +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: '::cue' -slug: 'Web/CSS/::cue' -translation_of: 'Web/CSS/::cue' ---- -

          {{CSSRef}}

          - -

          Псевдоэлемент CSS ::cue соответствует репликам WebVTT в выбранном элементе. Он может быть использован для задания стилей титров и других реплик в медиа с VTT треками.

          - -
          ::cue {
          -  color: yellow;
          -  font-weight: bold;
          -}
          - -

          Разрешённые свойства

          - -

          Правила с ::cue в селекторе ограничены в использовании CSS-свойств следующим списком:

          - -
            -
          • {{CSSxRef("background")}} и его свойства
          • -
          • {{CSSxRef("color")}}
          • -
          • {{CSSxRef("font")}} и его свойства
          • -
          • {{CSSxRef("line-height")}}
          • -
          • {{CSSxRef("opacity")}}
          • -
          • {{CSSxRef("outline")}} и его свойства
          • -
          • {{CSSxRef("ruby-position")}}
          • -
          • {{CSSxRef("text-combine-upright")}}
          • -
          • {{CSSxRef("text-decoration")}} и его свойства
          • -
          • {{CSSxRef("text-shadow")}}
          • -
          • {{CSSxRef("visibility")}}
          • -
          • {{CSSxRef("white-space")}}
          • -
          - -

          Свойства применяются ко всему набору реплик, как если бы они были единым целым. Единственным исключением является background и его сокращённые свойства, которые применяются к каждой реплике отдельно, чтобы не создавать блоки, которые занимают неожиданно большие области медиа.

          - -

          Синтаксис

          - -{{CSSSyntax}} - -

          Пример

          - -

          Следующий CSS устанавливает стили для реплик в виде белого цвета текста и полупрозрачного чёрного фона.

          - -
          ::cue {
          -  color: #fff;
          -  background-color: rgba(0, 0, 0, 0.6);
          -}
          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_doublecolon_cue/index.md b/files/ru/web/css/_doublecolon_cue/index.md new file mode 100644 index 00000000000000..32efd822b940d6 --- /dev/null +++ b/files/ru/web/css/_doublecolon_cue/index.md @@ -0,0 +1,61 @@ +--- +title: '::cue' +slug: Web/CSS/::cue +translation_of: Web/CSS/::cue +--- +{{CSSRef}} + +[Псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements) [CSS](/ru/docs/Web/CSS) **`::cue`** соответствует репликам [WebVTT](/ru/docs/Web/API/WebVTT_API) в выбранном элементе. Он может быть использован для задания [стилей титров и других реплик](/docs/Web/API/WebVTT_API#Styling_WebTT_cues) в медиа с VTT треками. + +```css +::cue { + color: yellow; + font-weight: bold; +} +``` + +## Разрешённые свойства + +Правила с `::cue` в селекторе ограничены в использовании CSS-свойств следующим списком: + +- {{CSSxRef("background")}} и его свойства +- {{CSSxRef("color")}} +- {{CSSxRef("font")}} и его свойства +- {{CSSxRef("line-height")}} +- {{CSSxRef("opacity")}} +- {{CSSxRef("outline")}} и его свойства +- {{CSSxRef("ruby-position")}} +- {{CSSxRef("text-combine-upright")}} +- {{CSSxRef("text-decoration")}} и его свойства +- {{CSSxRef("text-shadow")}} +- {{CSSxRef("visibility")}} +- {{CSSxRef("white-space")}} + +Свойства применяются ко всему набору реплик, как если бы они были единым целым. Единственным исключением является `background` и его сокращённые свойства, которые применяются к каждой реплике отдельно, чтобы не создавать блоки, которые занимают неожиданно большие области медиа. + +## Синтаксис + +{{CSSSyntax}} + +## Пример + +Следующий CSS устанавливает стили для реплик в виде белого цвета текста и полупрозрачного чёрного фона. + +```css +::cue { + color: #fff; + background-color: rgba(0, 0, 0, 0.6); +} +``` + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- [Web Video Tracks Format (WebVTT)](/ru/docs/Web/API/WebVTT_API) diff --git a/files/ru/web/css/_doublecolon_first-letter/index.html b/files/ru/web/css/_doublecolon_first-letter/index.html deleted file mode 100644 index 1f415288e00521..00000000000000 --- a/files/ru/web/css/_doublecolon_first-letter/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: '::first-letter (:first-letter)' -slug: 'Web/CSS/::first-letter' -tags: - - CSS - - Layout - - Reference - - Псевдоэлементы -translation_of: 'Web/CSS/::first-letter' ---- -
          {{CSSRef}}
          - -

          CSS псевдоэлемент ::first-letter применяет стили к первой букве первой строки блочного элемента, но только если нету другого предшествующего содержимого (такого как изображения или инлайн таблицы).

          - -
          /* Стили для первой буквы элемента <p> */
          -p::first-letter {
          -  font-size: 130%;
          -}
          - -

          Может быть непросто определить первую букву элемента:

          - -
            -
          • Пунктуация, которая предшествует или следует сразу за первой буквой, включается в селектор. Пунктуация включает любой символ Юникода, определённый в классах open (Ps), close (Pe), initial quote (Pi), final quote (Pf), and other punctuation (Po).
          • -
          • В некоторых языках существуют диграфы, которые должны преобразовываться в верхний регистр вместе, например IJ в Нидерландском. В этих случаях обе буквы диграфа должны соответствовать псевдоэлементу ::first-letter (это слабо поддерживается браузерами, смотрите таблицу совместимости ниже).
          • -
          • Комбинация псевдоэлемента {{ cssxref("::before") }} и свойства {{ cssxref("content") }} может привести к добавлению некоторого текста в начало элемента. В этом случае псевдоэлементу ::first-letter будет соответствовать первая буква добавленного содержимого.
          • -
          - -
          -

          В CSS3 появилась запись ::first-letter (с двумя двоеточиями) для различения псевдоклассов и псевдоэлементов. Браузеры также поддерживают запись :first-letter, введённую в CSS2.

          -
          - -

          Разрешённые свойства

          - -

          Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом ::first-letter:

          - -
            -
          • Все свойства, связанные с шрифтами: {{ Cssxref("font") }}, {{ Cssxref("font-style") }}, {{cssxref("font-feature-settings")}}, {{cssxref("font-kerning")}}, {{cssxref("font-language-override")}}, {{cssxref("font-stretch")}}, {{cssxref("font-synthesis")}}, {{ Cssxref("font-variant") }}, {{cssxref("font-variant-alternates")}}, {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-ligatures")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{ Cssxref("font-weight") }}, {{ Cssxref("font-size") }}, {{cssxref("font-size-adjust")}}, {{ Cssxref("line-height") }} и {{ Cssxref("font-family") }}
          • -
          • Все свойства, связанные с фоном: {{ Cssxref("background") }}, {{ Cssxref("background-color") }}, {{ Cssxref("background-image") }}, {{cssxref("background-clip")}}, {{cssxref("background-origin")}}, {{ Cssxref("background-position") }}, {{ Cssxref("background-repeat") }}, {{ cssxref("background-size") }}, {{ Cssxref("background-attachment") }} и {{cssxref("background-blend-mode")}}
          • -
          • Все свойства для внешних отступов: {{ Cssxref("margin") }}, {{ Cssxref("margin-top") }}, {{ Cssxref("margin-right") }}, {{ Cssxref("margin-bottom") }}, {{ Cssxref("margin-left") }}
          • -
          • Все свойства для внутренних отступов: {{ Cssxref("padding") }}, {{ Cssxref("padding-top") }}, {{ Cssxref("padding-right") }}, {{ Cssxref("padding-bottom") }}, {{ Cssxref("padding-left") }}
          • -
          • Все свойства, связанные с рамкой: сокращения {{ Cssxref("border") }}, {{ Cssxref("border-style") }}, {{ Cssxref("border-color") }}, {{ cssxref("border-width") }}, {{ cssxref("border-radius") }}, {{cssxref("border-image")}} и полные записи свойств
          • -
          • Свойства {{ cssxref("color") }}
          • -
          • Свойства {{ cssxref("text-decoration") }}, {{cssxref("text-shadow")}}, {{ cssxref("text-transform") }}, {{ cssxref("letter-spacing") }}, {{ cssxref("word-spacing") }} (when appropriate), {{ cssxref("line-height") }}, {{cssxref("text-decoration-color")}}, {{cssxref("text-decoration-line")}}, {{cssxref("text-decoration-style")}}, {{cssxref("box-shadow")}}, {{ cssxref("float") }}, {{ cssxref("vertical-align") }} (только если float равен none)
          • -
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Пример

          - -

          Сделаем первую букву каждого абзаца красной и большой.

          - -

          HTML

          - -
          <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
          -  ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
          -  dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.</p>
          -<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.</p>
          -<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut
          -  aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit
          -  esse molestie consequat.</p>
          -<p>-Начало специального знака препинания.</p>
          -<p>_Начало специального знака препинания.</p>
          -<p>"Начало специального знака препинания.</p>
          -<p>'Начало специального знака препинания.</p>
          -<p>*Начало специального знака препинания.</p>
          -<p>#Начало специального знака препинания.</p>
          -<p>「特殊的汉字标点符号开头。</p>
          -<p>《特殊的汉字标点符号开头。</p>
          -<p>“特殊的汉字标点符号开头。</p>
          - -

          CSS

          - -
          p::first-letter {
          -  color: red;
          -  font-size: 130%;
          -}
          - -

          Результат

          - -

          {{ EmbedLiveSample('Example', '80%', 420) }}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{cssxref("::first-line")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_first-letter/index.md b/files/ru/web/css/_doublecolon_first-letter/index.md new file mode 100644 index 00000000000000..7429e095c8f39c --- /dev/null +++ b/files/ru/web/css/_doublecolon_first-letter/index.md @@ -0,0 +1,94 @@ +--- +title: '::first-letter (:first-letter)' +slug: Web/CSS/::first-letter +tags: + - CSS + - Layout + - Reference + - Псевдоэлементы +translation_of: Web/CSS/::first-letter +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements) **`::first-letter`** применяет стили к первой букве первой строки [блочного элемента](/ru/docs/Web/CSS/Visual_formatting_model#Block-level_elements_and_block_boxes), но только если нету другого предшествующего содержимого (такого как изображения или инлайн таблицы). + +```css +/* Стили для первой буквы элемента

          */ +p::first-letter { + font-size: 130%; +} +``` + +Может быть непросто определить первую букву элемента: + +- Пунктуация, которая предшествует или следует сразу за первой буквой, включается в селектор. Пунктуация включает любой символ Юникода, определённый в классах _open_ (Ps), _close_ (Pe), _initial quote_ (Pi), _final quote_ (Pf), and _other punctuation_ (Po). +- В некоторых языках существуют диграфы, которые должны преобразовываться в верхний регистр вместе, например `IJ` в Нидерландском. В этих случаях обе буквы диграфа должны соответствовать псевдоэлементу `::first-letter` (это слабо поддерживается браузерами, смотрите [таблицу совместимости](/En/CSS/::first-letter#Browser_compatibility "https://developer.mozilla.org/En/CSS/::first-letter#Browser_compatibility") ниже). +- Комбинация псевдоэлемента {{ cssxref("::before") }} и свойства {{ cssxref("content") }} может привести к добавлению некоторого текста в начало элемента. В этом случае псевдоэлементу `::first-letter` будет соответствовать первая буква добавленного содержимого. + +> **Примечание:** В CSS3 появилась запись `::first-letter` (с двумя двоеточиями) для различения [псевдоклассов](/ru/docs/Web/CSS/Pseudo-classes) и [псевдоэлементов](/ru/docs/Web/CSS/Pseudo-elements). Браузеры также поддерживают запись `:first-letter`, введённую в CSS2. + +## Разрешённые свойства + +Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом `::first-letter`: + +- Все свойства, связанные с шрифтами: {{ Cssxref("font") }}, {{ Cssxref("font-style") }}, {{cssxref("font-feature-settings")}}, {{cssxref("font-kerning")}}, {{cssxref("font-language-override")}}, {{cssxref("font-stretch")}}, {{cssxref("font-synthesis")}}, {{ Cssxref("font-variant") }}, {{cssxref("font-variant-alternates")}}, {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-ligatures")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{ Cssxref("font-weight") }}, {{ Cssxref("font-size") }}, {{cssxref("font-size-adjust")}}, {{ Cssxref("line-height") }} и {{ Cssxref("font-family") }} +- Все свойства, связанные с фоном: {{ Cssxref("background") }}, {{ Cssxref("background-color") }}, {{ Cssxref("background-image") }}, {{cssxref("background-clip")}}, {{cssxref("background-origin")}}, {{ Cssxref("background-position") }}, {{ Cssxref("background-repeat") }}, {{ cssxref("background-size") }}, {{ Cssxref("background-attachment") }} и {{cssxref("background-blend-mode")}} +- Все свойства для внешних отступов: {{ Cssxref("margin") }}, {{ Cssxref("margin-top") }}, {{ Cssxref("margin-right") }}, {{ Cssxref("margin-bottom") }}, {{ Cssxref("margin-left") }} +- Все свойства для внутренних отступов: {{ Cssxref("padding") }}, {{ Cssxref("padding-top") }}, {{ Cssxref("padding-right") }}, {{ Cssxref("padding-bottom") }}, {{ Cssxref("padding-left") }} +- Все свойства, связанные с рамкой: сокращения {{ Cssxref("border") }}, {{ Cssxref("border-style") }}, {{ Cssxref("border-color") }}, {{ cssxref("border-width") }}, {{ cssxref("border-radius") }}, {{cssxref("border-image")}} и полные записи свойств +- Свойства {{ cssxref("color") }} +- Свойства {{ cssxref("text-decoration") }}, {{cssxref("text-shadow")}}, {{ cssxref("text-transform") }}, {{ cssxref("letter-spacing") }}, {{ cssxref("word-spacing") }} (when appropriate), {{ cssxref("line-height") }}, {{cssxref("text-decoration-color")}}, {{cssxref("text-decoration-line")}}, {{cssxref("text-decoration-style")}}, {{cssxref("box-shadow")}}, {{ cssxref("float") }}, {{ cssxref("vertical-align") }} (только если `float` равен `none`) + +## Синтаксис + +{{csssyntax}} + +## Пример + +Сделаем первую букву каждого абзаца красной и большой. + +### HTML + +```html +

          Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt + ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo + dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.

          +

          Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.

          +

          Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut + aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit + esse molestie consequat.

          +

          -Начало специального знака препинания.

          +

          _Начало специального знака препинания.

          +

          "Начало специального знака препинания.

          +

          'Начало специального знака препинания.

          +

          *Начало специального знака препинания.

          +

          #Начало специального знака препинания.

          +

          「特殊的汉字标点符号开头。

          +

          《特殊的汉字标点符号开头。

          +

          “特殊的汉字标点符号开头。

          +``` + +### CSS + +```css +p::first-letter { + color: red; + font-size: 130%; +} +``` + +### Результат + +{{ EmbedLiveSample('Example', '80%', 420) }} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref("::first-line")}} diff --git a/files/ru/web/css/_doublecolon_first-line/index.html b/files/ru/web/css/_doublecolon_first-line/index.html deleted file mode 100644 index 1856b61d5512e8..00000000000000 --- a/files/ru/web/css/_doublecolon_first-line/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: '::first-line (:first-line)' -slug: 'Web/CSS/::first-line' -tags: - - CSS - - Layout - - Reference - - Псевдоэлементы -translation_of: 'Web/CSS/::first-line' ---- -
          {{CSSRef}}
          - -

          CSS псевдоэлемент ::first-line применяет стили к первой строке блочного элемента. Обратите внимание, что длина первой строки зависит от многих факторов, включая ширину элемента, ширину документа и размер шрифта текста.

          - -
          /* Стили для первой строки элемента <p> */
          -p::first-line {
          -  color: red;
          -}
          - -
          -

          В CSS3 появилась запись ::first-line (с двумя двоеточиями) для различения псевдоклассов и псевдоэлементов. Браузеры также поддерживают запись :first-line, введённую в CSS2.

          -
          - -

          Разрешённые свойства

          - -

          Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом ::first-line:

          - -
            -
          • Все свойства, связанные с шрифтами: {{Cssxref("font")}}, {{cssxref("font-kerning")}}, {{Cssxref("font-style")}}, {{Cssxref("font-variant")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-alternates")}}, {{cssxref("font-variant-ligatures")}}, {{cssxref("font-synthesis")}}, {{cssxref("font-feature-settings")}}, {{cssxref("font-language-override")}}, {{Cssxref("font-weight")}}, {{Cssxref("font-size")}}, {{cssxref("font-size-adjust")}}, {{cssxref("font-stretch")}} и {{Cssxref("font-family")}}
          • -
          • Все свойства, связанные с фоном: {{Cssxref("background-color")}}, {{cssxref("background-clip")}}, {{Cssxref("background-image")}}, {{cssxref("background-origin")}}, {{Cssxref("background-position")}}, {{Cssxref("background-repeat")}}, {{cssxref("background-size")}}, {{Cssxref("background-attachment")}} и {{cssxref("background-blend-mode")}}
          • -
          • Свойство {{cssxref("color")}}
          • -
          • {{cssxref("word-spacing")}}, {{cssxref("letter-spacing")}}, {{cssxref("text-decoration")}}, {{cssxref("text-transform")}} и {{cssxref("line-height")}}
          • -
          • {{cssxref("text-shadow")}}, {{cssxref("text-decoration")}}, {{cssxref("text-decoration-color")}}, {{cssxref("text-decoration-line")}}, {{cssxref("text-decoration-style")}} и {{cssxref("vertical-align")}}.
          • -
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Пример

          - -

          HTML

          - -
          <p>Стили будут применены только к первой строке этого параграфа.
          -После этого, весь текст будет отображаться как обычно. Увидели, что я имею в виду?</p>
          -
          -<span>Первая строка этого элемента не будет стилизована специальным образом
          -потому что это не блочный элемент.</span>
          - -

          CSS

          - -
          ::first-line {
          -  color: blue;
          -  text-transform: uppercase;
          -
          -
          -  /* ПРЕДУПРЕЖДЕНИЕ: НЕ ИСПОЛЬЗУЙТЕ ЭТО */
          -  /* Многие свойства запрещены в псевдоэлементах ::first-line */
          -  margin-left: 20px;
          -  text-indent: 20px;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Пример', 350, 160)}}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{cssxref("::first-letter")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_first-line/index.md b/files/ru/web/css/_doublecolon_first-line/index.md new file mode 100644 index 00000000000000..8ddb7121f3bfde --- /dev/null +++ b/files/ru/web/css/_doublecolon_first-line/index.md @@ -0,0 +1,79 @@ +--- +title: '::first-line (:first-line)' +slug: Web/CSS/::first-line +tags: + - CSS + - Layout + - Reference + - Псевдоэлементы +translation_of: Web/CSS/::first-line +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements) **`::first-line`** применяет стили к первой строке [блочного элемента](/ru/docs/Web/CSS/Visual_formatting_model#Block-level_elements_and_block_boxes). Обратите внимание, что длина первой строки зависит от многих факторов, включая ширину элемента, ширину документа и размер шрифта текста. + +```css +/* Стили для первой строки элемента

          */ +p::first-line { + color: red; +} +``` + +> **Примечание:** В CSS3 появилась запись `::first-line` (с двумя двоеточиями) для различения [псевдоклассов](/ru/docs/Web/CSS/Pseudo-classes) и [псевдоэлементов](/ru/docs/Web/CSS/Pseudo-elements). Браузеры также поддерживают запись `:first-line`, введённую в CSS2. + +## Разрешённые свойства + +Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом `::first-line`: + +- Все свойства, связанные с шрифтами: {{Cssxref("font")}}, {{cssxref("font-kerning")}}, {{Cssxref("font-style")}}, {{Cssxref("font-variant")}}, {{cssxref("font-variant-numeric")}}, {{cssxref("font-variant-position")}}, {{cssxref("font-variant-east-asian")}}, {{cssxref("font-variant-caps")}}, {{cssxref("font-variant-alternates")}}, {{cssxref("font-variant-ligatures")}}, {{cssxref("font-synthesis")}}, {{cssxref("font-feature-settings")}}, {{cssxref("font-language-override")}}, {{Cssxref("font-weight")}}, {{Cssxref("font-size")}}, {{cssxref("font-size-adjust")}}, {{cssxref("font-stretch")}} и {{Cssxref("font-family")}} +- Все свойства, связанные с фоном: {{Cssxref("background-color")}}, {{cssxref("background-clip")}}, {{Cssxref("background-image")}}, {{cssxref("background-origin")}}, {{Cssxref("background-position")}}, {{Cssxref("background-repeat")}}, {{cssxref("background-size")}}, {{Cssxref("background-attachment")}} и {{cssxref("background-blend-mode")}} +- Свойство {{cssxref("color")}} +- {{cssxref("word-spacing")}}, {{cssxref("letter-spacing")}}, {{cssxref("text-decoration")}}, {{cssxref("text-transform")}} и {{cssxref("line-height")}} +- {{cssxref("text-shadow")}}, {{cssxref("text-decoration")}}, {{cssxref("text-decoration-color")}}, {{cssxref("text-decoration-line")}}, {{cssxref("text-decoration-style")}} и {{cssxref("vertical-align")}}. + +## Синтаксис + +{{csssyntax}} + +## Пример + +### HTML + +```html +

          Стили будут применены только к первой строке этого параграфа. +После этого, весь текст будет отображаться как обычно. Увидели, что я имею в виду?

          + +Первая строка этого элемента не будет стилизована специальным образом +потому что это не блочный элемент. +``` + +### CSS + +```css +::first-line { + color: blue; + text-transform: uppercase; + + + /* ПРЕДУПРЕЖДЕНИЕ: НЕ ИСПОЛЬЗУЙТЕ ЭТО */ + /* Многие свойства запрещены в псевдоэлементах ::first-line */ + margin-left: 20px; + text-indent: 20px; +} +``` + +### Результат + +{{EmbedLiveSample('Пример', 350, 160)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref("::first-letter")}} diff --git a/files/ru/web/css/_doublecolon_grammar-error/index.html b/files/ru/web/css/_doublecolon_grammar-error/index.html deleted file mode 100644 index 7d014526655842..00000000000000 --- a/files/ru/web/css/_doublecolon_grammar-error/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: '::grammar-error' -slug: 'Web/CSS/::grammar-error' -tags: - - CSS - - Псевдо-элемент - - Экспериментальные - - селектор -translation_of: 'Web/CSS/::grammar-error' ---- -
          {{CSSRef}}{{SeeCompatTable}}
          - -

          CSS псевдо-элемент ::grammar-error представляет сегмент текста, который {{glossary("user agent")}} пометил как грамматически неверный.

          - -

          Доступные свойства

          - -

          Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом ::grammar-error :

          - -
            -
          • {{cssxref("color")}}
          • -
          • {{cssxref("background-color")}}
          • -
          • {{cssxref("cursor")}}
          • -
          • {{cssxref("caret-color")}}
          • -
          • {{cssxref("outline")}} и его полные формы
          • -
          • {{cssxref("text-decoration")}} и связанные свойства
          • -
          • {{cssxref("text-emphasis-color")}}
          • -
          • {{cssxref("text-shadow")}}
          • -
          - -

          Синтаксис

          - -
          ::grammar-error
          - -

          Примеры

          - -

          Простая проверка грамматики документа

          - -

          В этом примере браузеры, поддерживающие псевдоэлемент, выделят грамматические ошибки, применив к ним заданные стили.

          - -

          HTML

          - -
          <p>My friends is coming to the party tonight.</p>
          - -

          CSS

          - -
          ::grammar-error  {
          -  text-decoration: underline red;
          -  color: red;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Простая_проверка_грамматики_документа', '100%', 60)}}

          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -
          - - -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • {{cssxref("::spelling-error")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_grammar-error/index.md b/files/ru/web/css/_doublecolon_grammar-error/index.md new file mode 100644 index 00000000000000..702e8f90168d47 --- /dev/null +++ b/files/ru/web/css/_doublecolon_grammar-error/index.md @@ -0,0 +1,67 @@ +--- +title: '::grammar-error' +slug: Web/CSS/::grammar-error +tags: + - CSS + - Псевдо-элемент + - Экспериментальные + - селектор +translation_of: Web/CSS/::grammar-error +--- +{{CSSRef}}{{SeeCompatTable}} + +[CSS](/ru/docs/Web/CSS) [псевдо-элемент](/en/CSS/Pseudo-elements) **`::grammar-error`** представляет сегмент текста, который {{glossary("user agent")}} пометил как грамматически неверный. + +## Доступные свойства + +Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом `::grammar-error` : + +- {{cssxref("color")}} +- {{cssxref("background-color")}} +- {{cssxref("cursor")}} +- {{cssxref("caret-color")}} +- {{cssxref("outline")}} и его полные формы +- {{cssxref("text-decoration")}} и связанные свойства +- {{cssxref("text-emphasis-color")}} +- {{cssxref("text-shadow")}} + +## Синтаксис + + ::grammar-error + +## Примеры + +### Простая проверка грамматики документа + +В этом примере браузеры, поддерживающие псевдоэлемент, выделят грамматические ошибки, применив к ним заданные стили. + +#### HTML + +```html +

          My friends is coming to the party tonight.

          +``` + +#### CSS + +```css +::grammar-error { + text-decoration: underline red; + color: red; +} +``` + +#### Результат + +{{EmbedLiveSample('Простая_проверка_грамматики_документа', '100%', 60)}} + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- {{cssxref("::spelling-error")}} diff --git a/files/ru/web/css/_doublecolon_marker/index.html b/files/ru/web/css/_doublecolon_marker/index.html deleted file mode 100644 index 913f9f14dbd5ef..00000000000000 --- a/files/ru/web/css/_doublecolon_marker/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: '::marker' -slug: 'Web/CSS/::marker' -translation_of: 'Web/CSS/::marker' ---- -
          {{CSSRef}}
          - -

          Псевдоэлемент ::marker применяет стили к маркеру элемента списка, которые обычно содержит значок или номер. Работает с любым элементом или псевдоэлементом, к которого установлен display: list-item, например, у такого как {{HTMLElement("li")}} или {{HTMLElement("summary")}}.

          - -
          ::marker {
          -  color: blue;
          -  font-size: 1.2em;
          -}
          - -

          Разрешённые свойства

          - -

          Только некоторые CSS-свойства могут быть использованы с ::marker в качестве селектора:

          - -
            -
          • Все свойства шрифтов
          • -
          • {{CSSxRef("white-space")}}
          • -
          • {{CSSxRef("color")}}
          • -
          • {{CSSxRef("text-combine-upright")}}, {{CSSxRef("unicode-bidi")}} и {{CSSxRef("direction")}}
          • -
          • Свойство {{CSSxRef("content")}}
          • -
          • Все animation и transition свойства
          • -
          - -
          -

          The specification states that additional CSS properties may be supported in future.

          -
          - -

          Syntax

          - -{{CSSSyntax}} - -

          Examples

          - -

          HTML

          - -
          <ul>
          -  <li>Peaches</li>
          -  <li>Apples</li>
          -  <li>Plums</li>
          -</ul>
          - -

          CSS

          - -
          ul li::marker {
          -  color: red;
          -  font-size: 1.5em;
          -}
          - -

          Result

          - -

          {{EmbedLiveSample('Examples')}}

          - -

          Specifications

          - - - - - - - - - - - - - - - - - - - - - -
          SpecificationStatusComment
          {{SpecName('CSS4 Pseudo-Elements', '#marker-pseudo', '::marker')}}{{Spec2('CSS4 Pseudo-Elements')}}No significant change.
          {{SpecName('CSS3 Lists', '#marker-pseudo', '::marker')}}{{Spec2('CSS3 Lists')}}Initial definition.
          - -

          Browser compatibility

          - -
          - - -

          {{Compat}}

          -
          - -

          See also

          - -
            -
          • HTML-элементы, у которые есть маркеры списка по умолчанию: {{HTMLElement("ol")}}, {{HTMLElement("li")}}, {{HTMLElement("summary")}}
          • -
          diff --git a/files/ru/web/css/_doublecolon_marker/index.md b/files/ru/web/css/_doublecolon_marker/index.md new file mode 100644 index 00000000000000..b96f85bc093a11 --- /dev/null +++ b/files/ru/web/css/_doublecolon_marker/index.md @@ -0,0 +1,72 @@ +--- +title: '::marker' +slug: Web/CSS/::marker +translation_of: Web/CSS/::marker +--- +{{CSSRef}} + +Псевдоэлемент **`::marker`** применяет стили к маркеру элемента списка, которые обычно содержит значок или номер. Работает с любым элементом или псевдоэлементом, к которого установлен [`display: list-item`](/en-US/docs/Web/CSS/display), например, у такого как {{HTMLElement("li")}} или {{HTMLElement("summary")}}. + +```css +::marker { + color: blue; + font-size: 1.2em; +} +``` + +## Разрешённые свойства + +Только некоторые CSS-свойства могут быть использованы с `::marker` в качестве селектора: + +- Все [свойства шрифтов](/ru/docs/Web/CSS/CSS_Fonts) +- {{CSSxRef("white-space")}} +- {{CSSxRef("color")}} +- {{CSSxRef("text-combine-upright")}}, {{CSSxRef("unicode-bidi")}} и {{CSSxRef("direction")}} +- Свойство {{CSSxRef("content")}} +- Все [animation](/ru/docs/Web/CSS/CSS_Animations#CSS_Properties) и [transition](/ru/docs/Web/CSS/CSS_Transitions#Properties) свойства + +> **Примечание:** The specification states that additional CSS properties may be supported in future. + +## Syntax + +{{CSSSyntax}} + +## Examples + +### HTML + +```html +
            +
          • Peaches
          • +
          • Apples
          • +
          • Plums
          • +
          +``` + +### CSS + +```css +ul li::marker { + color: red; + font-size: 1.5em; +} +``` + +### Result + +{{EmbedLiveSample('Examples')}} + +## Specifications + +| Specification | Status | Comment | +| ---------------------------------------------------------------------------------------- | -------------------------------------------- | ---------------------- | +| {{SpecName('CSS4 Pseudo-Elements', '#marker-pseudo', '::marker')}} | {{Spec2('CSS4 Pseudo-Elements')}} | No significant change. | +| {{SpecName('CSS3 Lists', '#marker-pseudo', '::marker')}} | {{Spec2('CSS3 Lists')}} | Initial definition. | + +## Browser compatibility + +{{Compat}} + +## See also + +- HTML-элементы, у которые есть маркеры списка по умолчанию: {{HTMLElement("ol")}}, {{HTMLElement("li")}}, {{HTMLElement("summary")}} diff --git a/files/ru/web/css/_doublecolon_placeholder/index.html b/files/ru/web/css/_doublecolon_placeholder/index.html deleted file mode 100644 index 92ed6bd566b64b..00000000000000 --- a/files/ru/web/css/_doublecolon_placeholder/index.html +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: '::placeholder' -slug: 'Web/CSS/::placeholder' -tags: - - '::placeholder' - - CSS - - Псевдоэлемент -translation_of: 'Web/CSS/::placeholder' ---- -
          {{CSSRef}}
          - -

          CSS псевдоэлемент ::placeholder представляет собой текст placeholder в {{HTMLElement("input")}} или {{HTMLElement("textarea")}} элементах.

          - -
          ::placeholder {
          -  color: blue;
          -  font-size: 1.5em;
          -}
          - -

          В ::placeholder можно использовать только те CSS-свойства, которые разрешены в псевдоэлементе {{cssxref("::first-line")}}.

          - -
          -

          Note: В большинстве браузеров по умолчанию placeholder выглядит как полупрозрачный или светло-серый текст.

          -
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          Красный текст

          - -

          HTML

          - -
          <input placeholder="Введите что-нибудь!">
          - -

          CSS

          - -
          input::placeholder {
          -  color: red;
          -  font-size: 1.2em;
          -  font-style: italic;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample("Красный_текст", 200, 60)}}

          - -

          Зелёный текст

          - -

          HTML

          - -
          <input placeholder="Введите что-нибудь...">
          - -

          CSS

          - -
          input::placeholder {
          -  color: green;
          -}
          -
          - -

          Результат

          - -

          {{EmbedLiveSample("Зелёный_текст", 200, 60)}}

          - -

          Проблемы доступности

          - -

          Цветовой контраст

          - -

          Контрастность

          - -

          Текст placeholder обычно имеет более светлую расцветку и содержит информацию о том, какие введённые данные будут допустимы, но при этом не является текущими введёнными данными.

          - -

          Важно обеспечить достаточный цветовой контраст между placeholder и фоном, чтобы люди со слабым зрением могли его прочитать, но при этом должна быть достаточная разница между введённым текстом и текстом placeholder, чтобы пользователь не путал их.

          - -

          Коэффициент цветового контраста определяется путём сравнения яркости текста placeholder и цветом фона формы ввода. Чтобы соответствовать рекомендациям Web Content Accessibility Guidelines (WCAG), требуется соотношение 4.5:1 для основного текста и 3:1 для более крупного текста, например, заголовков. Крупный текст определяется как 18.66px и больше с жирным начертанием или 24px и больше с обычным начертанием.

          - - - -

          Использование

          - -

          Текст placeholder с высоким цветовым контрастом может быть воспринят как введённые данные. Текст placeholder исчезает, когда пользователь вводит что-либо в {{htmlelement("input")}} элемент. Эти обстоятельства могут помешать заполнить правильно форму, особенно людям с когнитивными проблемами.

          - -

          Другой подход к представлению информации placeholder заключается в том, чтобы расположить её вне формы ввода в непосредственной близости от неё, а затем использовать aria-describedby для программного связывания {{HTMLElement("input")}} элемента с подсказкой.

          - -

          В таком случае содержимое подсказки будет доступно даже в том случае, если что-то введено в форму. Большинство скринридеров используют aria-describedby для чтения подсказок после того, как будет прочитан текст метки формы. Пользователь может отключить эту функцию, если дополнительная информация окажется ему ненужной.

          - -
          <label for="user-email">Ваш email адрес</label>
          -<span id="user-email-hint" class="input-hint">Пример: jane@sample.com</span>
          -<input id="user-email" aria-describedby="user-email-hint" name="email" type="email">
          -
          - - - -

          Режим высокой контрастности Windows

          - -

          Текст placeholder будет отображаться с теми же стилями, что и введённый пользователем текст при работе в режиме высокой контрастности Windows. Это вызовет затруднения с определением того какой текст был введён, а какой является placeholder.

          - - - -

          Метки

          - -

          Placeholder не является заменой элемента {{htmlelement("label")}}. Без метки, которая программно связывается с формой с помощью {{htmlattrxref("for", "label")}} и {{htmlattrxref("id")}} атрибутов, такие программы, как скринридеры не смогут анализировать элементы {{htmlelement("input")}}.

          - - - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -
          - - -

          {{Compat}}

          -
          - -

          Смотрите также

          - -
            -
          • Псевдокласс {{cssxref(":placeholder-shown")}}, который позволяет применять стили к элементу с активным placeholder.
          • -
          • Связанные HTML-элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}}
          • -
          • HTML-формы
          • -
          diff --git a/files/ru/web/css/_doublecolon_placeholder/index.md b/files/ru/web/css/_doublecolon_placeholder/index.md new file mode 100644 index 00000000000000..eb966223b1e51e --- /dev/null +++ b/files/ru/web/css/_doublecolon_placeholder/index.md @@ -0,0 +1,130 @@ +--- +title: '::placeholder' +slug: Web/CSS/::placeholder +tags: + - '::placeholder' + - CSS + - Псевдоэлемент +translation_of: Web/CSS/::placeholder +--- +{{CSSRef}} + +[CSS](/ru/docs/Web/CSS) [псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements) **`::placeholder`** представляет собой [текст placeholder](/ru/docs/Web/HTML/Forms_in_HTML#The_placeholder_attribute) в {{HTMLElement("input")}} или {{HTMLElement("textarea")}} элементах. + +```css +::placeholder { + color: blue; + font-size: 1.5em; +} +``` + +В `::placeholder` можно использовать только те CSS-свойства, которые разрешены в псевдоэлементе {{cssxref("::first-line")}}. + +> **Примечание:** В большинстве браузеров по умолчанию placeholder выглядит как полупрозрачный или светло-серый текст. + +## Синтаксис + +{{csssyntax}} + +## Примеры + +### Красный текст + +#### HTML + +```html + +``` + +#### CSS + +```css +input::placeholder { + color: red; + font-size: 1.2em; + font-style: italic; +} +``` + +#### Результат + +{{EmbedLiveSample("Красный_текст", 200, 60)}} + +### Зелёный текст + +#### HTML + +```html + +``` + +#### CSS + +```css +input::placeholder { + color: green; +} +``` + +#### Результат + +{{EmbedLiveSample("Зелёный_текст", 200, 60)}} + +## Проблемы доступности + +### Цветовой контраст + +#### Контрастность + +Текст placeholder обычно имеет более светлую расцветку и содержит информацию о том, какие введённые данные будут допустимы, но при этом не является текущими введёнными данными. + +Важно обеспечить достаточный цветовой контраст между placeholder и фоном, чтобы люди со слабым зрением могли его прочитать, но при этом должна быть достаточная разница между введённым текстом и текстом placeholder, чтобы пользователь не путал их. + +Коэффициент цветового контраста определяется путём сравнения яркости текста placeholder и цветом фона формы ввода. Чтобы соответствовать рекомендациям [Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/WAI/intro/wcag), требуется соотношение 4.5:1 для основного текста и 3:1 для более крупного текста, например, заголовков. Крупный текст определяется как 18.66px и больше с жирным начертанием или 24px и больше с обычным начертанием. + +- [WebAIM: Color Contrast Checker](https://webaim.org/resources/contrastchecker/) +- [MDN Understanding WCAG, Guideline 1.4 explanations](/ru/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.4_Make_it_easier_for_users_to_see_and_hear_content_including_separating_foreground_from_background) +- [Understanding Success Criterion 1.4.3 | W3C Understanding WCAG 2.0](https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html) + +#### Использование + +Текст placeholder с высоким цветовым контрастом может быть воспринят как введённые данные. Текст placeholder исчезает, когда пользователь вводит что-либо в {{htmlelement("input")}} элемент. Эти обстоятельства могут помешать заполнить правильно форму, особенно людям с когнитивными проблемами. + +Другой подход к представлению информации placeholder заключается в том, чтобы расположить её вне формы ввода в непосредственной близости от неё, а затем использовать [`aria-describedby`](/ru/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute) для программного связывания {{HTMLElement("input")}} элемента с подсказкой. + +В таком случае содержимое подсказки будет доступно даже в том случае, если что-то введено в форму. Большинство скринридеров используют `aria-describedby` для чтения подсказок после того, как будет прочитан текст метки формы. Пользователь может отключить эту функцию, если дополнительная информация окажется ему ненужной. + +```html + +Пример: jane@sample.com + +``` + +- [Placeholders in Form Fields Are Harmful — Nielsen Norman Group](https://www.nngroup.com/articles/form-design-placeholders/) + +### Режим высокой контрастности Windows + +Текст placeholder будет отображаться с теми же стилями, что и введённый пользователем текст при работе в [режиме высокой контрастности Windows](/ru/docs/Web/CSS/-ms-high-contrast). Это вызовет затруднения с определением того какой текст был введён, а какой является placeholder. + +- [Greg Whitworth — How to use -ms-high-contrast](http://www.gwhitworth.com/blog/2017/04/how-to-use-ms-high-contrast) + +### Метки + +Placeholder не является заменой элемента {{htmlelement("label")}}. Без метки, которая программно связывается с формой с помощью {{htmlattrxref("for", "label")}} и {{htmlattrxref("id")}} атрибутов, такие программы, как скринридеры не смогут анализировать элементы {{htmlelement("input")}}. + +- [MDN Basic form hints](/ru/docs/Web/Accessibility/ARIA/forms/Basic_form_hints) +- [Placeholders in Form Fields Are Harmful — Nielsen Norman Group](https://www.nngroup.com/articles/form-design-placeholders/) + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +- Псевдокласс {{cssxref(":placeholder-shown")}}, который позволяет применять стили к элементу с \_**активным** \_placeholder. +- Связанные HTML-элементы: {{HTMLElement("input")}}, {{HTMLElement("textarea")}} +- [HTML-формы](/ru/docs/Learn/HTML/Forms) diff --git a/files/ru/web/css/_doublecolon_selection/index.html b/files/ru/web/css/_doublecolon_selection/index.html deleted file mode 100644 index 36909b18bf8e1d..00000000000000 --- a/files/ru/web/css/_doublecolon_selection/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: '::selection' -slug: 'Web/CSS/::selection' -tags: - - CSS - - Experimental - - Layoout - - Reference - - Псевдоэлементы -translation_of: 'Web/CSS/::selection' ---- -
          {{CSSRef}}{{SeeCompatTable}}
          - -

          Псевдоэлемент ::selection позволяет применить стили к части документа, который был выделен пользователем (например, с помощью мыши).

          - -
          ::selection {
          -  background: cyan;
          -}
          - -

          Разрешённые свойства

          - -

          Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом ::selection :

          - -
            -
          • {{cssxref("color")}}
          • -
          • {{cssxref("background-color")}}
          • -
          • {{cssxref("cursor")}}
          • -
          • {{cssxref("caret-color")}}
          • -
          • {{cssxref("outline")}} и его длинные записи
          • -
          • {{cssxref("text-decoration")}} и связанные свойства
          • -
          • {{cssxref("text-emphasis-color")}}
          • -
          • {{cssxref("text-shadow")}}
          • -
          - -
          -

          Заметим, что, в частности, свойство {{cssxref("background-image")}} игнорируется.

          -
          - -

          Синтаксис

          - -
          /* синтаксис Firefox */
          -::-moz-selection
          -
          -{{csssyntax}}
          -
          - -

          Пример

          - -

          HTML

          - -
          <div>Этот текст будет стилизован особым образом при выделении.</div>
          -<p>Также попробуйте выделить текст в этом параграфе.</p>
          - -

          CSS

          - -
          /* Сделаем выделенный текст золотым с красным фоном */
          -::-moz-selection {
          -  color: gold;
          -  background: red;
          -}
          -
          -::selection {
          -  color: gold;
          -  background: red;
          -}
          -
          -/* Сделаем выделенный в параграфе текст белым на синем фоне */
          -p::-moz-selection {
          -  color: white;
          -  background: blue;
          -}
          -
          -p::selection {
          -  color: white;
          -  background: blue;
          -}
          - -

          Результат

          - -

          {{EmbedLiveSample('Пример')}}

          - -

          Спецификации

          - - - - - - - - - - - - - - - - -
          СпецификацияСтатусКомментарий
          {{SpecName('CSS4 Pseudo-Elements', '#selectordef-selection', '::selection')}}{{Spec2('CSS4 Pseudo-Elements')}}Изначальное определение.
          - -
          -

          Примечание: Хотя псевдоэлемент ::selection присутствовал в черновиках стандарта CSS Selectors Level 3, он был убран в течение фазы Candidate Recommendation, так как его поведение было недостаточно проработано (особенно с вложенным элементами) и согласованность не была достигнута (основываясь на обсуждении в списке рассылки W3C Style). Этот псевдоэлемент был возвращён в Pseudo-Elements Level 4.

          -
          - -

          Поддержка браузерами

          - -
          -

          {{Compat}}

          -
          diff --git a/files/ru/web/css/_doublecolon_selection/index.md b/files/ru/web/css/_doublecolon_selection/index.md new file mode 100644 index 00000000000000..8b083c521ac979 --- /dev/null +++ b/files/ru/web/css/_doublecolon_selection/index.md @@ -0,0 +1,93 @@ +--- +title: '::selection' +slug: Web/CSS/::selection +tags: + - CSS + - Experimental + - Layoout + - Reference + - Псевдоэлементы +translation_of: Web/CSS/::selection +--- +{{CSSRef}}{{SeeCompatTable}} + +[Псевдоэлемент](/ru/docs/Web/CSS/Pseudo-elements) **`::selection` **позволяет применить стили к части документа, который был выделен пользователем (например, с помощью мыши). + +```css +::selection { + background: cyan; +} +``` + +## Разрешённые свойства + +Только небольшое подмножество CSS-свойств может быть использовано с псевдоэлементом `::selection` : + +- {{cssxref("color")}} +- {{cssxref("background-color")}} +- {{cssxref("cursor")}} +- {{cssxref("caret-color")}} +- {{cssxref("outline")}} и его длинные записи +- {{cssxref("text-decoration")}} и связанные свойства +- {{cssxref("text-emphasis-color")}} +- {{cssxref("text-shadow")}} + +> **Предупреждение:** Заметим, что, в частности, свойство {{cssxref("background-image")}} игнорируется. + +## Синтаксис + + /* синтаксис Firefox */ + ::-moz-selection + + {{csssyntax}} + +## Пример + +### HTML + +```html +
          Этот текст будет стилизован особым образом при выделении.
          +

          Также попробуйте выделить текст в этом параграфе.

          +``` + +### CSS + +```css +/* Сделаем выделенный текст золотым с красным фоном */ +::-moz-selection { + color: gold; + background: red; +} + +::selection { + color: gold; + background: red; +} + +/* Сделаем выделенный в параграфе текст белым на синем фоне */ +p::-moz-selection { + color: white; + background: blue; +} + +p::selection { + color: white; + background: blue; +} +``` + +### Результат + +{{EmbedLiveSample('Пример')}} + +## Спецификации + +| Спецификация | Статус | Комментарий | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------ | +| {{SpecName('CSS4 Pseudo-Elements', '#selectordef-selection', '::selection')}} | {{Spec2('CSS4 Pseudo-Elements')}} | Изначальное определение. | + +> **Примечание:** Хотя псевдоэлемент `::selection` присутствовал в черновиках стандарта CSS Selectors Level 3, он был убран в течение фазы Candidate Recommendation, так как его поведение было недостаточно проработано (особенно с вложенным элементами) и согласованность не была достигнута [(основываясь на обсуждении в списке рассылки W3C Style)](http://lists.w3.org/Archives/Public/www-style/2008Oct/0268.html). Этот псевдоэлемент был возвращён в [Pseudo-Elements Level 4](http://dev.w3.org/csswg/css-pseudo-4/). + +## Поддержка браузерами + +{{Compat}} diff --git a/files/ru/web/css/_doublecolon_slotted/index.html b/files/ru/web/css/_doublecolon_slotted/index.html deleted file mode 100644 index 7d10bd54f3d016..00000000000000 --- a/files/ru/web/css/_doublecolon_slotted/index.html +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: '::slotted()' -slug: 'Web/CSS/::slotted' -translation_of: 'Web/CSS/::slotted' ---- -
          {{ CSSRef }}
          - -

          CSS псевдо-элемент ::slotted() представляет собой любой элемент, помещённый в слот внутри HTML-шаблона (дополнительная информация в Using templates and slots).

          - -

          Это работает только при использовании внутри CSS, помещённого в shadow DOM. Обратите также внимание, что этот селектор не будет выбирать текстовый узел, помещённый в слот; он нацелен только на фактические элементы.

          - -
          /* Выбирает любой элемент, помещённый в слот */
          -::slotted(*) {
          -  font-weight: bold;
          -}
          -
          -/* Выбирает только <span>, помещённый в слот */
          -::slotted(span) {
          -  font-weight: bold;
          -}
          -
          - -

          Синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          Следующие фрагменты взяты из нашей демо slotted-pseudo-element (see it live also).

          - -

          В этом демо мы использовали простой шаблон с тремя слотами:

          - -
          <template id="person-template">
          -  <div>
          -    <h2>Personal ID Card</h2>
          -    <slot name="person-name">NAME MISSING</slot>
          -    <ul>
          -      <li><slot name="person-age">AGE MISSING</slot></li>
          -      <li><slot name="person-occupation">OCCUPATION MISSING</slot></li>
          -    </ul>
          -  </div>
          -</template>
          - -

          Пользовательский элемент — <person-details> — определяется следующим образом:

          - -
          customElements.define('person-details',
          -  class extends HTMLElement {
          -    constructor() {
          -      super();
          -      let template = document.getElementById('person-template');
          -      let templateContent = template.content;
          -
          -      const shadowRoot = this.attachShadow({mode: 'open'});
          -
          -      let style = document.createElement('style');
          -      style.textContent = 'div { padding: 10px; border: 1px solid gray; width: 200px; margin: 10px; }' +
          -                           'h2 { margin: 0 0 10px; }' +
          -                           'ul { margin: 0; }' +
          -                           'p { margin: 10px 0; }' +
          -                           '::slotted(*) { color: gray; font-family: sans-serif; } ';
          -
          -      shadowRoot.appendChild(style);
          -      shadowRoot.appendChild(templateContent.cloneNode(true));
          -  }
          -})
          - -

          Вы увидите, что при заполнении элемента style содержимым мы выбираем все slotted-элементы (::slotted(*)) и задаём им другой цвет и шрифт. Это позволяет им лучше выделяться рядом с теми слотами, которые ещё не были успешно заполнены.

          - -

          Элемент выглядит следующим образом при вставке на страницу:

          - -
          <person-details>
          -  <p slot="person-name">Dr. Shazaam</p>
          -  <span slot="person-age">Immortal</span>
          -  <span slot="person-occupation">Superhero</span>
          -</person-details>
          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - - - -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/_doublecolon_slotted/index.md b/files/ru/web/css/_doublecolon_slotted/index.md new file mode 100644 index 00000000000000..fbc7aa22845149 --- /dev/null +++ b/files/ru/web/css/_doublecolon_slotted/index.md @@ -0,0 +1,94 @@ +--- +title: '::slotted()' +slug: Web/CSS/::slotted +translation_of: Web/CSS/::slotted +--- +{{ CSSRef }} + +[CSS](/ru/docs/Web/CSS) [псевдо-элемент](/ru/docs/Web/CSS/Pseudo-elements) **`::slotted()`** представляет собой любой элемент, помещённый в слот внутри HTML-шаблона (дополнительная информация в [Using templates and slots](/ru/docs/Web/Web_Components/Using_templates_and_slots)). + +Это работает только при использовании внутри CSS, помещённого в [shadow DOM](/ru/docs/Web/Web_Components/Using_shadow_DOM). Обратите также внимание, что этот селектор не будет выбирать текстовый узел, помещённый в слот; он нацелен только на фактические элементы. + +```css +/* Выбирает любой элемент, помещённый в слот */ +::slotted(*) { + font-weight: bold; +} + +/* Выбирает только , помещённый в слот */ +::slotted(span) { + font-weight: bold; +} +``` + +## Синтаксис + +{{csssyntax}} + +## Примеры + +Следующие фрагменты взяты из нашей демо [slotted-pseudo-element](https://github.com/mdn/web-components-examples/tree/master/slotted-pseudo-element) ([see it live also](https://mdn.github.io/web-components-examples/slotted-pseudo-element/)). + +В этом демо мы использовали простой шаблон с тремя слотами: + +```html + +``` + +Пользовательский элемент — `` — определяется следующим образом: + +```js +customElements.define('person-details', + class extends HTMLElement { + constructor() { + super(); + let template = document.getElementById('person-template'); + let templateContent = template.content; + + const shadowRoot = this.attachShadow({mode: 'open'}); + + let style = document.createElement('style'); + style.textContent = 'div { padding: 10px; border: 1px solid gray; width: 200px; margin: 10px; }' + + 'h2 { margin: 0 0 10px; }' + + 'ul { margin: 0; }' + + 'p { margin: 10px 0; }' + + '::slotted(*) { color: gray; font-family: sans-serif; } '; + + shadowRoot.appendChild(style); + shadowRoot.appendChild(templateContent.cloneNode(true)); + } +}) +``` + +Вы увидите, что при заполнении элемента `style` содержимым мы выбираем все slotted-элементы (`::slotted(*)`) и задаём им другой цвет и шрифт. Это позволяет им лучше выделяться рядом с теми слотами, которые ещё не были успешно заполнены. + +Элемент выглядит следующим образом при вставке на страницу: + +```html + +

          Dr. Shazaam

          + Immortal + Superhero +
          +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Web components](/ru/docs/Web/Web_Components) diff --git a/files/ru/web/css/actual_value/index.html b/files/ru/web/css/actual_value/index.html deleted file mode 100644 index ddea4fc2b5b7d7..00000000000000 --- a/files/ru/web/css/actual_value/index.html +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Действительное значение -slug: Web/CSS/actual_value -tags: - - CSS - - Guide - - Web -translation_of: Web/CSS/actual_value -original_slug: Web/CSS/Действительное_значение ---- -

          {{CSSRef}}

          - -

          Описание

          - -

          Действительное значение CSS-свойства - используемое после всех приближений значение. Например, браузер может отображать рамки только с целым значением пикселей и будет принудительно округлять ширину.

          - -

          Спецификации

          - - - - - - - - - - - - - - - - -
          СпецификацияСтатусКомментарий
          {{SpecName('CSS2.1', 'cascade.html#actual-value', 'actual value')}}{{Spec2('CSS2.1')}}Изначальное определение
          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/actual_value/index.md b/files/ru/web/css/actual_value/index.md new file mode 100644 index 00000000000000..92497f7ae1254a --- /dev/null +++ b/files/ru/web/css/actual_value/index.md @@ -0,0 +1,26 @@ +--- +title: Действительное значение +slug: Web/CSS/actual_value +tags: + - CSS + - Guide + - Web +translation_of: Web/CSS/actual_value +original_slug: Web/CSS/Действительное_значение +--- +{{CSSRef}} + +## Описание + +**Действительное значение** CSS-свойства - используемое после всех приближений значение. Например, браузер может отображать рамки только с целым значением пикселей и будет принудительно округлять ширину. + +## Спецификации + +| Спецификация | Статус | Комментарий | +| ---------------------------------------------------------------------------------------- | ------------------------ | ----------------------- | +| {{SpecName('CSS2.1', 'cascade.html#actual-value', 'actual value')}} | {{Spec2('CSS2.1')}} | Изначальное определение | + +## Смотрите также + +- [Руководство по CSS](/ru/docs/Web/CSS/Reference) +- {{CSS_key_concepts}} diff --git a/files/ru/web/css/adjacent_sibling_combinator/index.html b/files/ru/web/css/adjacent_sibling_combinator/index.html deleted file mode 100644 index 2f8390de348613..00000000000000 --- a/files/ru/web/css/adjacent_sibling_combinator/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Смежные селекторы -slug: Web/CSS/Adjacent_sibling_combinator -translation_of: Web/CSS/Adjacent_sibling_combinator ---- -

          {{CSSRef("Selectors")}}

          - -

          Указывает на смежный или следующий селектор. Обеспечивает выбор только элемента расположенного непосредственно за определённым в первой части элементом.

          - -

          Синтаксис

          - -
          former_element + target_element { style properties }
          -
          - -

          Пример

          - -
          -
          li:first-of-type + li {
          -  color: red;
          -}
          -
          - -
          <ul>
          -  <li>Один</li>
          -  <li>Два</li>
          -  <li>Три</li>
          -</ul>
          -
          - -

          {{EmbedLiveSample('Example_1', 200, 100)}}

          - -

          Так же может использоваться для задания стиля определённого класса "caption span" следующих {{HTMLElement("img")}} вложенных элементов:

          - -
          img + span.caption {
          -  font-style: italic;
          -}
          -
          - -

          сработает только на тех тегах span, для которых задан класс caption:

          - -
          <img src="photo1.jpg"><span class="caption">Первая фотка</span>
          -<img src="photo2.jpg"><span class="caption">Вторая</span>
          -
          - -

          Спецификации

          - -{{Specifications}} - -

          Поддержка браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/adjacent_sibling_combinator/index.md b/files/ru/web/css/adjacent_sibling_combinator/index.md new file mode 100644 index 00000000000000..ddf4036bb230a8 --- /dev/null +++ b/files/ru/web/css/adjacent_sibling_combinator/index.md @@ -0,0 +1,57 @@ +--- +title: Смежные селекторы +slug: Web/CSS/Adjacent_sibling_combinator +translation_of: Web/CSS/Adjacent_sibling_combinator +--- +{{CSSRef("Selectors")}} + +Указывает на смежный или следующий селектор. Обеспечивает выбор только элемента расположенного непосредственно за определённым в первой части элементом. + +## Синтаксис + + former_element + target_element { style properties } + +## Пример + +```css +li:first-of-type + li { + color: red; +} +``` + +```html +
            +
          • Один
          • +
          • Два
          • +
          • Три
          • +
          +``` + +{{EmbedLiveSample('Example_1', 200, 100)}} + +Так же может использоваться для задания стиля определённого класса "caption span" следующих {{HTMLElement("img")}} вложенных элементов: + +```css +img + span.caption { + font-style: italic; +} +``` + +сработает только на тех тегах span, для которых задан класс caption: + +```html +Первая фотка +Вторая +``` + +## Спецификации + +{{Specifications}} + +## Поддержка браузерами + +{{Compat}} + +## Смотрите также + +- [Селекторы следующего элемента](/ru/docs/Web/CSS/General_sibling_selectors) diff --git a/files/ru/web/css/align-content/index.html b/files/ru/web/css/align-content/index.html deleted file mode 100644 index a88f7dbfeb717c..00000000000000 --- a/files/ru/web/css/align-content/index.html +++ /dev/null @@ -1,261 +0,0 @@ ---- -title: align-content -slug: Web/CSS/align-content -translation_of: Web/CSS/align-content ---- -
          {{CSSRef}}
          - -

          Свойство {{cssxRef('', 'CSS')}} align-content устанавливает распределение пространства между и вокруг элементами контента вдоль поперечной оси {{cssxRef('CSS_Flexible_Box_Layout', 'flexbox')}} контейнера или вдоль блочной оси {{cssxRef('CSS_Grid_Layout', 'grid')}} контейнера.

          - -

          The interactive example below use Grid Layout to demonstrate some of the values of this property.

          - -
          {{EmbedInteractiveExample("pages/css/align-content.html")}}
          - -

          Это свойство не влияет на однострочные flex-контейнеры (т.е. с flex-wrap: nowrap)

          - -

          Синтаксис

          - -
          /* Основное позиционное выравнивание */
          -/* align-content не принимает значения left и right */
          -align-content: center;     /* Расположить элементы вокруг центра */
          -align-content: start;      /* Расположить элементы в начале */
          -align-content: end;        /* Расположить элементы в конце */
          -align-content: flex-start; /* Расположить элементы flex в начале */
          -align-content: flex-end;   /* Расположить элементы flex в конце */
          -
          -/* Нормальное выравнивание */
          -align-content: normal;
          -
          -/* Выравнивание по базовой линии */
          -align-content: baseline;
          -align-content: first baseline;
          -align-content: last baseline;
          -
          -/* Распределённое выравнивание */
          -align-content: space-between; /* Распределить элементы равномерно
          -                                 Первый элемент находится на одном уровне с началом,
          -                                 последней - совпадает с концом */
          -align-content: space-around;  /* Распределить элементы равномерно
          -                                 Элементы имеют половинное пространство
          -                                 на каждом конце */
          -align-content: space-evenly;  /* Распределить элементы равномерно
          -                                 Элементы имеют одинаковое пространство вокруг них */
          -align-content: stretch;       /* Распределить элементы равномерно
          -                                 Растянуть 'auto'-размерные элементы, чтобы заполнить
          -                                 контейнер */
          -
          -/* Выравнивание переполнения (overflow) */
          -align-content: safe center;
          -align-content: unsafe center;
          -
          -/* Глобальные значения */
          -align-content: inherit;
          -align-content: initial;
          -align-content: unset;
          -
          - -

          Значения

          - -
          -
          start
          -
          Элементы расположены вплотную друг к другу, прижавшись к началу контейнера выравнивания по поперечной оси.
          -
          end
          -
          Элементы расположены вплотную друг к другу, прижавшись к концу контейнера выравнивания по поперечной оси.
          -
          flex-start
          -
          Элементы расположены вплотную друг к другу, прижавшись к краю контейнера выравнивания в зависимости от поперечной стороны начала (cross-start) контейнера flex.
          - Это относится только к элементам макета flex. Для элементов, которые не являются потомками flex контейнера, это значение трактуется как start.
          -
          flex-end
          -
          Элементы расположены вплотную друг к другу, прижавшись к краю контейнера выравнивания в зависимости от поперечной стороны конца (cross-end) контейнера flex.
          - Это относится только к элементам макета flex. Для элементов, которые не являются потомками flex контейнера, это значение трактуется как end.
          -
          center
          -
          Элементы расположены вплотную друг к другу в центре контейнера выравнивания по поперечной оси.
          -
          normal
          -
          Элементы расположены в их дефолтной позиции как если бы align-content не было определено.
          -
          baseline
          - first baseline

          - last baseline
          -

          базовая линия - это линия, на которой «сидит» большинство букв и ниже которой располагаются нижние выносные элементы (свисания).

          -

          Определяет участие в выравнивании первой или последней базовой линии: выравнивает базовую линию выравнивания первого или последнего базового набора блока с соответствующей базовой линией в общем первом или последнем базовом наборе всех блоков в его группе совместного использования базовой линии.
          - Резервное выравнивание для first baseline равно start, для last baseline - end.

          -
          space-between
          -
          Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних элементов одинаков. Первый элемент находится на одном уровне с начальной кромкой контейнера выравнивания на поперечной оси, а последний элемент находится на одном уровне с конечной кромкой контейнера выравнивания на поперечной оси.
          -
          space-around
          -
          Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних предметов одинаков. Пустое пространство до первого и после последнего элемента равно половине пространства между каждой парой смежных элементов.
          -
          space-evenly
          -
          Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних элементов, начальным краем и первым элементом, а также конечным краем и последним элементом абсолютно одинаков.
          -
          stretch
          -
          Если объединённый размер элементов вдоль поперечной оси меньше размера контейнера выравнивания, размер любого auto-размерного элемента увеличивается одинаково (не пропорционально), но при этом соблюдаются ограничения, налагаемые {{cssxRef('max-height')}}/{{cssxRef('max-width')}} (или эквивалентной функциональности), так что объединённый размер точно заполняет контейнер выравнивания вдоль поперечной оси.
          -
          safe
          -
          Используется вместе с ключевым словом выравнивания. Если выбранное ключевое слово означает, что элемент переполняет контейнер выравнивания, что приводит к потере данных, вместо этого элемент выравнивается, как если бы режим выравнивания был start.
          -
          unsafe
          -
          Используется вместе с ключевым словом выравнивания. Независимо от относительных размеров элемента и контейнера выравнивания и от того, может ли произойти переполнение, которое приводит к потере данных, данное значение выравнивания учитывается.
          -
          - -

          Формальный синтаксис

          - -{{csssyntax}} - -

          Пример

          - -

          CSS

          - -
          #container {
          -  height:200px;
          -  width: 240px;
          -  align-content: center; /* Can be changed in the live sample */
          -  background-color: #8c8c8c;
          -}
          -
          -.flex {
          -  display: flex;
          -  flex-wrap: wrap;
          -}
          -
          -.grid {
          -  display: grid;
          -  grid-template-columns: repeat(auto-fill, 50px);
          -}
          -
          -div > div {
          -  box-sizing: border-box;
          -  border: 2px solid #8c8c8c;
          -  width: 50px;
          -  display: flex;
          -  align-items: center;
          -  justify-content: center;
          -}
          -
          -#item1 {
          -  background-color: #8cffa0;
          -  min-height: 30px;
          -}
          -
          -#item2 {
          -  background-color: #a0c8ff;
          -  min-height: 50px;
          -}
          -
          -#item3 {
          -  background-color: #ffa08c;
          -  min-height: 40px;
          -}
          -
          -#item4 {
          -  background-color: #ffff8c;
          -  min-height: 60px;
          -}
          -
          -#item5 {
          -  background-color: #ff8cff;
          -  min-height: 70px;
          -}
          -
          -#item6 {
          -  background-color: #8cffff;
          -  min-height: 50px;
          -  font-size: 30px;
          -}
          -
          -select {
          -  font-size: 16px;
          -}
          -
          -.row {
          -  margin-top: 10px;
          -}
          -
          - -

          HTML

          - -
          <div id="container" class="flex">
          -  <div id="item1">1</div>
          -  <div id="item2">2</div>
          -  <div id="item3">3</div>
          -  <div id="item4">4</div>
          -  <div id="item5">5</div>
          -  <div id="item6">6</div>
          -</div>
          -
          -<div class="row">
          -  <label for="display">display: </label>
          -  <select id="display">
          -    <option value="flex">flex</option>
          -    <option value="grid">grid</option>
          -  </select>
          -</div>
          -
          -<div class="row">
          -  <label for="values">align-content: </label>
          -  <select id="values">
          -    <option value="normal">normal</option>
          -    <option value="stretch">stretch</option>
          -    <option value="flex-start">flex-start</option>
          -    <option value="flex-end">flex-end</option>
          -    <option value="center" selected>center</option>
          -    <option value="space-between">space-between</option>
          -    <option value="space-around">space-around</option>
          -    <option value="space-evenly">space-evenly</option>
          -
          -    <option value="start">start</option>
          -    <option value="end">end</option>
          -    <option value="left">left</option>
          -    <option value="right">right</option>
          -
          -    <option value="baseline">baseline</option>
          -    <option value="first baseline">first baseline</option>
          -    <option value="last baseline">last baseline</option>
          -
          -    <option value="safe center">safe center</option>
          -    <option value="unsafe center">unsafe center</option>
          -    <option value="safe right">safe right</option>
          -    <option value="unsafe right">unsafe right</option>
          -    <option value="safe end">safe end</option>
          -    <option value="unsafe end">unsafe end</option>
          -    <option value="safe flex-end">safe flex-end</option>
          -    <option value="unsafe flex-end">unsafe flex-end</option>
          -  </select>
          -</div>
          -
          - - - -

          Результат

          - -

          {{EmbedLiveSample('Пример', 260, 290)}}

          - -

          Спецификации

          - -{{Specifications("css.properties.align-content.grid_context")}} - -{{Specifications("css.properties.align-content.grid_context")}} - -

          Совместимость с браузерами

          - -

          Support in Flex layout

          - -

          {{Compat}}

          - -

          Support in Grid layout

          - -

          {{Compat("css.properties.align-content.grid_context")}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/align-content/index.md b/files/ru/web/css/align-content/index.md new file mode 100644 index 00000000000000..c7f5efbc8c6958 --- /dev/null +++ b/files/ru/web/css/align-content/index.md @@ -0,0 +1,254 @@ +--- +title: align-content +slug: Web/CSS/align-content +translation_of: Web/CSS/align-content +--- +{{CSSRef}} + +Свойство {{cssxRef('', 'CSS')}} **`align-content`** устанавливает распределение пространства между и вокруг элементами контента вдоль поперечной оси {{cssxRef('CSS_Flexible_Box_Layout', 'flexbox')}} контейнера или вдоль блочной оси {{cssxRef('CSS_Grid_Layout', 'grid')}} контейнера. + +The interactive example below use Grid Layout to demonstrate some of the values of this property. + +{{EmbedInteractiveExample("pages/css/align-content.html")}} + +Это свойство не влияет на однострочные flex-контейнеры (т.е. с `flex-wrap: nowrap`) + +## Синтаксис + +```css +/* Основное позиционное выравнивание */ +/* align-content не принимает значения left и right */ +align-content: center; /* Расположить элементы вокруг центра */ +align-content: start; /* Расположить элементы в начале */ +align-content: end; /* Расположить элементы в конце */ +align-content: flex-start; /* Расположить элементы flex в начале */ +align-content: flex-end; /* Расположить элементы flex в конце */ + +/* Нормальное выравнивание */ +align-content: normal; + +/* Выравнивание по базовой линии */ +align-content: baseline; +align-content: first baseline; +align-content: last baseline; + +/* Распределённое выравнивание */ +align-content: space-between; /* Распределить элементы равномерно + Первый элемент находится на одном уровне с началом, + последней - совпадает с концом */ +align-content: space-around; /* Распределить элементы равномерно + Элементы имеют половинное пространство + на каждом конце */ +align-content: space-evenly; /* Распределить элементы равномерно + Элементы имеют одинаковое пространство вокруг них */ +align-content: stretch; /* Распределить элементы равномерно + Растянуть 'auto'-размерные элементы, чтобы заполнить + контейнер */ + +/* Выравнивание переполнения (overflow) */ +align-content: safe center; +align-content: unsafe center; + +/* Глобальные значения */ +align-content: inherit; +align-content: initial; +align-content: unset; +``` + +### Значения + +- `start` + - : Элементы расположены вплотную друг к другу, прижавшись к началу контейнера выравнивания по поперечной оси. +- `end` + - : Элементы расположены вплотную друг к другу, прижавшись к концу контейнера выравнивания по поперечной оси. +- `flex-start` + - : Элементы расположены вплотную друг к другу, прижавшись к краю контейнера выравнивания в зависимости от поперечной стороны начала (cross-start) контейнера flex. + Это относится только к элементам макета flex. Для элементов, которые не являются потомками flex контейнера, это значение трактуется как `start`. +- `flex-end` + - : Элементы расположены вплотную друг к другу, прижавшись к краю контейнера выравнивания в зависимости от поперечной стороны конца (cross-end) контейнера flex. + Это относится только к элементам макета flex. Для элементов, которые не являются потомками flex контейнера, это значение трактуется как `end`. +- `center` + - : Элементы расположены вплотную друг к другу в центре контейнера выравнивания по поперечной оси. +- `normal` + - : Элементы расположены в их дефолтной позиции как если бы `align-content` не было определено. +- `baseline first baseline` + `last baseline` + - : ![базовая линия - это линия, на которой «сидит» большинство букв и ниже которой располагаются нижние выносные элементы (свисания).](https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Typography_Line_Terms.svg/410px-Typography_Line_Terms.svg.png)Определяет участие в выравнивании первой или последней базовой линии: выравнивает базовую линию выравнивания первого или последнего базового набора блока с соответствующей базовой линией в общем первом или последнем базовом наборе всех блоков в его группе совместного использования базовой линии. + Резервное выравнивание для `first baseline` равно `start`, для `last baseline` - `end`. +- `space-between` + - : Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних элементов одинаков. Первый элемент находится на одном уровне с начальной кромкой контейнера выравнивания на поперечной оси, а последний элемент находится на одном уровне с конечной кромкой контейнера выравнивания на поперечной оси. +- `space-around` + - : Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних предметов одинаков. Пустое пространство до первого и после последнего элемента равно половине пространства между каждой парой смежных элементов. +- `space-evenly` + - : Элементы равномерно распределены внутри контейнера выравнивания вдоль поперечной оси. Интервал между каждой парой соседних элементов, начальным краем и первым элементом, а также конечным краем и последним элементом абсолютно одинаков. +- `stretch` + - : Если объединённый размер элементов вдоль поперечной оси меньше размера контейнера выравнивания, размер любого `auto`-размерного элемента увеличивается одинаково (не пропорционально), но при этом соблюдаются ограничения, налагаемые {{cssxRef('max-height')}}/{{cssxRef('max-width')}} (или эквивалентной функциональности), так что объединённый размер точно заполняет контейнер выравнивания вдоль поперечной оси. +- `safe` + - : Используется вместе с ключевым словом выравнивания. Если выбранное ключевое слово означает, что элемент переполняет контейнер выравнивания, что приводит к потере данных, вместо этого элемент выравнивается, как если бы режим выравнивания был `start`. +- `unsafe` + - : Используется вместе с ключевым словом выравнивания. Независимо от относительных размеров элемента и контейнера выравнивания и от того, может ли произойти переполнение, которое приводит к потере данных, данное значение выравнивания учитывается. + +### Формальный синтаксис + +{{csssyntax}} + +## Пример + +### CSS + +```css +#container { + height:200px; + width: 240px; + align-content: center; /* Can be changed in the live sample */ + background-color: #8c8c8c; +} + +.flex { + display: flex; + flex-wrap: wrap; +} + +.grid { + display: grid; + grid-template-columns: repeat(auto-fill, 50px); +} + +div > div { + box-sizing: border-box; + border: 2px solid #8c8c8c; + width: 50px; + display: flex; + align-items: center; + justify-content: center; +} + +#item1 { + background-color: #8cffa0; + min-height: 30px; +} + +#item2 { + background-color: #a0c8ff; + min-height: 50px; +} + +#item3 { + background-color: #ffa08c; + min-height: 40px; +} + +#item4 { + background-color: #ffff8c; + min-height: 60px; +} + +#item5 { + background-color: #ff8cff; + min-height: 70px; +} + +#item6 { + background-color: #8cffff; + min-height: 50px; + font-size: 30px; +} + +select { + font-size: 16px; +} + +.row { + margin-top: 10px; +} +``` + +### HTML + +```html +
          +
          1
          +
          2
          +
          3
          +
          4
          +
          5
          +
          6
          +
          + +
          + + +
          + +
          + + +
          +``` + +```js hidden +var values = document.getElementById('values'); +var display = document.getElementById('display'); +var container = document.getElementById('container'); + +values.addEventListener('change', function (evt) { + container.style.alignContent = evt.target.value; +}); + +display.addEventListener('change', function (evt) { + container.className = evt.target.value; +}); +``` + +### Результат + +{{EmbedLiveSample('Пример', 260, 290)}} + +## Спецификации + +{{Specifications("css.properties.align-content.grid_context")}} +{{Specifications("css.properties.align-content.grid_context")}} + +## Совместимость с браузерами + +### Support in Flex layout + +{{Compat}} + +### Support in Grid layout + +{{Compat("css.properties.align-content.grid_context")}} + +## Смотрите также + +- [Использование гибких блоков CSS](../../CSS/Using_CSS_flexible_boxes "CSS/Using_CSS_flexible_boxes") diff --git a/files/ru/web/css/align-items/index.html b/files/ru/web/css/align-items/index.html deleted file mode 100644 index 640131c793325b..00000000000000 --- a/files/ru/web/css/align-items/index.html +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: align-items -slug: Web/CSS/align-items -translation_of: Web/CSS/align-items ---- -

          {{CSSRef}}

          - -

          Описание

          - -

          CSS свойство align-items выравнивает flex-элементы текущей flex-линии таким же образом, как и justify-content, но в перпендикулярном направлении.

          - -

          {{cssinfo}}

          - -

          Подробнее и больше информации читайте в Использование гибких блоков CSS.

          - -

          Синтаксис

          - -
          /* Align to cross-start */
          -align-items: flex-start;
          -
          -/* Align to cross-end */
          -align-items: flex-end;
          -
          -/* Центрировать элементы в поперечной оси */
          -align-items: center;
          -
          -/* Выровняйте базовые линии предметов */
          -align-items: baseline;
          -
          -/* Растянуть предметы, чтобы соответствовать */
          -align-items: stretch;
          -
          -/* Глобальные значения */
          -align-items: inherit;
          -align-items: initial;
          -align-items: unset;
          -
          - -

          Значения

          - -
          -
          normal
          -
          Эффект этого ключевого слова зависит от режима макета, в котором мы находимся:: -
            -
          • В абсолютно позиционированных макетах ключевое слово ведёт себя как start в заменённых абсолютно позиционированных блоках, и как stretch во всех других абсолютно позиционированных блоках.
          • -
          • В статическом положении абсолютно позиционированных макетов ключевое слово ведёт себя как stretch.
          • -
          • Для гибких элементов ключевое слово ведёт себя как stretch.
          • -
          • Для элементов сетки это ключевое слово ведёт к поведению, аналогичному stretch, за исключением полей с соотношением сторон или внутренних размеров, где оно ведёт себя как start.
          • -
          • Это свойство не применяется к блокам уровня блока и к ячейкам таблицы.
          • -
          -
          -
          flex-start
          -
          Край поперечного начала края гибкого элемента выровнен с краем поперечного начала линии.
          -
          flex-end
          -
          The cross-end margin edge of the flex item is flushed with the cross-end edge of the line.
          -
          center
          -
          Внешний отступ полей гибкого элемента центрируется в пределах линии на поперечной оси. Если поперечный размер элемента больше, чем у гибкого контейнера, он будет одинаково переполнен в обоих направлениях.
          -
          baseline
          -
          All flex items are aligned such that their baselines align. The item with the largest distance between its cross-start margin edge and its baseline is flushed with the cross-start edge of the line.
          -
          stretch
          -
          Элементы Flex растягиваются, например, поперечный размер поля элемента совпадает с линией при соблюдении ограничений ширины и высоты.
          -
          - -

          Формальный синтаксис

          - -{{csssyntax}} - -

          Спецификации

          - -{{Specifications("css.properties.align-items.grid_context")}} - -

          Совместимость с браузерами

          - -

          Support in Flex layout

          - -

          {{Compat}}

          - -

          Support in Grid layout

          - -

          {{Compat("css.properties.align-items.grid_context")}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/align-items/index.md b/files/ru/web/css/align-items/index.md new file mode 100644 index 00000000000000..1607684cf562ba --- /dev/null +++ b/files/ru/web/css/align-items/index.md @@ -0,0 +1,79 @@ +--- +title: align-items +slug: Web/CSS/align-items +translation_of: Web/CSS/align-items +--- +{{CSSRef}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") свойство **`align-items`** выравнивает flex-элементы текущей flex-линии таким же образом, как и [`justify-content`](/en/CSS/justify-content "en/CSS/justify-content"), но в перпендикулярном направлении. + +{{cssinfo}} + +Подробнее и больше информации читайте в [Использование гибких блоков CSS](https://developer.mozilla.org/en/CSS/Using_CSS_flexible_boxes "/en/CSS/Using_CSS_flexible_boxes"). + +## Синтаксис + +```css +/* Align to cross-start */ +align-items: flex-start; + +/* Align to cross-end */ +align-items: flex-end; + +/* Центрировать элементы в поперечной оси */ +align-items: center; + +/* Выровняйте базовые линии предметов */ +align-items: baseline; + +/* Растянуть предметы, чтобы соответствовать */ +align-items: stretch; + +/* Глобальные значения */ +align-items: inherit; +align-items: initial; +align-items: unset; +``` + +### Значения + +- `normal` + - : Эффект этого ключевого слова зависит от режима макета, в котором мы находимся::\* В абсолютно позиционированных макетах ключевое слово ведёт себя как `start` в _заменённых_ абсолютно позиционированных блоках, и как `stretch` во _всех других_ абсолютно позиционированных блоках. + - В статическом положении абсолютно позиционированных макетов ключевое слово ведёт себя как `stretch`. + - Для гибких элементов ключевое слово ведёт себя как `stretch`. + - Для элементов сетки это ключевое слово ведёт к поведению, аналогичному `stretch`, за исключением полей с соотношением сторон или внутренних размеров, где оно ведёт себя как `start`. + - Это свойство не применяется к блокам уровня блока и к ячейкам таблицы. +- `flex-start` + - : Край поперечного начала края гибкого элемента выровнен с краем поперечного начала линии. +- `flex-end` + - : The cross-end margin edge of the flex item is flushed with the cross-end edge of the line. +- `center` + - : Внешний отступ полей гибкого элемента центрируется в пределах линии на поперечной оси. Если поперечный размер элемента больше, чем у гибкого контейнера, он будет одинаково переполнен в обоих направлениях. +- `baseline` + - : All flex items are aligned such that their baselines align. The item with the largest distance between its cross-start margin edge and its baseline is flushed with the cross-start edge of the line. +- `stretch` + - : Элементы Flex растягиваются, например, поперечный размер поля элемента совпадает с линией при соблюдении ограничений ширины и высоты. + +### Формальный синтаксис + +{{csssyntax}} + +## Спецификации + +{{Specifications("css.properties.align-items.grid_context")}} + +## Совместимость с браузерами + +### Support in Flex layout + +{{Compat}} + +### Support in Grid layout + +{{Compat("css.properties.align-items.grid_context")}} + +## Смотрите также + +- [Использование гибких блоков CSS](/ru/docs/CSS/Using_CSS_flexible_boxes) diff --git a/files/ru/web/css/align-self/index.html b/files/ru/web/css/align-self/index.html deleted file mode 100644 index f7e27a3ba63d87..00000000000000 --- a/files/ru/web/css/align-self/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: align-self -slug: Web/CSS/align-self -tags: - - CSS - - flexbox - - Свойства -translation_of: Web/CSS/align-self ---- -

          {{CSSRef}}

          - -

          Описание

          - -

          Свойство CSS align-self выравнивает flex-элементы по текущей flex-линии, переопределяя значение свойства align-items. Если у какого-либо flex-элемента margin в поперечной оси выставлен в auto, то align-self игнорируется.

          - -

          {{cssinfo}}

          - -

          Данное свойство не применяется к block-level boxes и к ячейкам таблицы

          - -

          Подробнее и больше информации читайте в Using CSS flexible boxes.

          - -

          Синтаксис

          - -
          /* Keyword values */
          -align-self: auto;
          -align-self: normal;
          -
          -/* Positional alignment */
          -/* align-self does not take left and right values */
          -align-self: center; /* Put the item around the center */
          -align-self: start; /* Put the item at the start */
          -align-self: end; /* Put the item at the end */
          -align-self: self-start; /* Align the item flush at the start */
          -align-self: self-end; /* Align the item flush at the end */
          -align-self: flex-start; /* Put the flex item at the start */
          -align-self: flex-end; /* Put the flex item at the end */
          -
          -/* Baseline alignment */
          -align-self: baseline;
          -align-self: first baseline;
          -align-self: last baseline;
          -align-self: stretch; /* Stretch 'auto'-sized items to fit the container */
          -
          -/* Overflow alignment */
          -align-self: safe center;
          -align-self: unsafe center;
          -
          -/* Global values */
          -align-self: inherit;
          -align-self: initial;
          -align-self: unset;
          - -

          Значения

          - -
          -
          auto
          -
          Computes to the parent's {{cssxref("align-items")}} value.
          -
          normal
          -
          The effect of this keyword is dependent of the layout mode we are in: -
            -
          • In absolutely-positioned layouts, the keyword behaves like start on replaced absolutely-positioned boxes, and as stretch on all other absolutely-positioned boxes.
          • -
          • In static position of absolutely-positioned layouts, the keyword behaves as stretch.
          • -
          • For flex items, the keyword behaves as stretch.
          • -
          • For grid items, this keyword leads to a behavior similar to the one of stretch, except for boxes with an aspect ratio or an intrinsic sizes where it behaves like start.
          • -
          • The property doesn't apply to block-level boxes, and to table cells.
          • -
          -
          -
          self-start
          -
          Aligns the items to be flush with the edge of the alignment container corresponding to the item's start side in the cross axis.
          -
          self-end
          -
          Aligns the items to be flush with the edge of the alignment container corresponding to the item's end side in the cross axis.
          -
          flex-start
          -
          The cross-start margin edge of the flex item is flushed with the cross-start edge of the line.
          -
          flex-end
          -
          The cross-end margin edge of the flex item is flushed with the cross-end edge of the line.
          -
          center
          -
          The flex item's margin box is centered within the line on the cross-axis. If the cross-size of the item is larger than the flex container, it will overflow equally in both directions.
          -
          baseline
          - first baseline

          - last baseline
          -
          Specifies participation in first- or last-baseline alignment: aligns the alignment baseline of the box’s first or last baseline set with the corresponding baseline in the shared first or last baseline set of all the boxes in its baseline-sharing group.
          - The fallback alignment for first baseline is start, the one for last baseline is end.
          -
          stretch
          -
          If the combined size of the items along the cross axis is less than the size of the alignment container and the item is auto-sized, its size is increased equally (not proportionally), while still respecting the constraints imposed by {{cssxref("max-height")}}/{{cssxref("max-width")}} (or equivalent functionality), so that the combined size of all auto-sized items exactly fills the alignment container along the cross axis.
          -
          safe
          -
          If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were start.
          -
          unsafe
          -
          Regardless of the relative sizes of the item and alignment container, the given alignment value is honored.
          -
          - -

          Формальный синтаксис

          - -{{csssyntax}} - -

          Спецификации

          - -{{Specifications("css.properties.align-self.grid_context")}} - -

          Совместимость с браузерами

          - - - -

          Support in Flex layout

          - -

          {{Compat}}

          - -

          Support in Grid layout

          - -

          {{Compat("css.properties.align-self.grid_context")}}

          - -
          {{CSSRef}}
          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/align-self/index.md b/files/ru/web/css/align-self/index.md new file mode 100644 index 00000000000000..278dcec63f457e --- /dev/null +++ b/files/ru/web/css/align-self/index.md @@ -0,0 +1,113 @@ +--- +title: align-self +slug: Web/CSS/align-self +tags: + - CSS + - flexbox + - Свойства +translation_of: Web/CSS/align-self +--- +{{CSSRef}} + +## Описание + +Свойство [CSS](/ru/docs/CSS "CSS") **`align-self`** выравнивает flex-элементы по текущей flex-линии, переопределяя значение свойства [`align-items`](/en/CSS/align-items "en/CSS/flex-align"). Если у какого-либо flex-элемента **margin** в поперечной оси выставлен в `auto`, то `align-self` игнорируется. + +{{cssinfo}} + +Данное свойство не применяется к block-level boxes и к ячейкам таблицы + +Подробнее и больше информации читайте в [Using CSS flexible boxes](/en/CSS/Using_CSS_flexible_boxes). + +## Синтаксис + +```css +/* Keyword values */ +align-self: auto; +align-self: normal; + +/* Positional alignment */ +/* align-self does not take left and right values */ +align-self: center; /* Put the item around the center */ +align-self: start; /* Put the item at the start */ +align-self: end; /* Put the item at the end */ +align-self: self-start; /* Align the item flush at the start */ +align-self: self-end; /* Align the item flush at the end */ +align-self: flex-start; /* Put the flex item at the start */ +align-self: flex-end; /* Put the flex item at the end */ + +/* Baseline alignment */ +align-self: baseline; +align-self: first baseline; +align-self: last baseline; +align-self: stretch; /* Stretch 'auto'-sized items to fit the container */ + +/* Overflow alignment */ +align-self: safe center; +align-self: unsafe center; + +/* Global values */ +align-self: inherit; +align-self: initial; +align-self: unset; +``` + +### Значения + +- `auto` + - : Computes to the parent's {{cssxref("align-items")}} value. +- `normal` + - : The effect of this keyword is dependent of the layout mode we are in:\* In absolutely-positioned layouts, the keyword behaves like `start` on _replaced_ absolutely-positioned boxes, and as `stretch` on _all other_ absolutely-positioned boxes. + - In static position of absolutely-positioned layouts, the keyword behaves as `stretch`. + - For flex items, the keyword behaves as `stretch`. + - For grid items, this keyword leads to a behavior similar to the one of `stretch`, except for boxes with an aspect ratio or an intrinsic sizes where it behaves like `start`. + - The property doesn't apply to block-level boxes, and to table cells. +- `self-start` + - : Aligns the items to be flush with the edge of the alignment container corresponding to the item's start side in the cross axis. +- `self-end` + - : Aligns the items to be flush with the edge of the alignment container corresponding to the item's end side in the cross axis. +- `flex-start` + - : The cross-start margin edge of the flex item is flushed with the cross-start edge of the line. +- `flex-end` + - : The cross-end margin edge of the flex item is flushed with the cross-end edge of the line. +- `center` + - : The flex item's margin box is centered within the line on the cross-axis. If the cross-size of the item is larger than the flex container, it will overflow equally in both directions. +- `baseline first baseline` + `last baseline` + - : Specifies participation in first- or last-baseline alignment: aligns the alignment baseline of the box’s first or last baseline set with the corresponding baseline in the shared first or last baseline set of all the boxes in its baseline-sharing group. + The fallback alignment for `first baseline` is `start`, the one for `last baseline` is `end`. +- `stretch` + - : If the combined size of the items along the cross axis is less than the size of the alignment container and the item is `auto`-sized, its size is increased equally (not proportionally), while still respecting the constraints imposed by {{cssxref("max-height")}}/{{cssxref("max-width")}} (or equivalent functionality), so that the combined size of all `auto`-sized items exactly fills the alignment container along the cross axis. +- `safe` + - : If the size of the item overflows the alignment container, the item is instead aligned as if the alignment mode were `start`. +- `unsafe` + - : Regardless of the relative sizes of the item and alignment container, the given alignment value is honored. + +### Формальный синтаксис + +{{csssyntax}} + +## Спецификации + +{{Specifications("css.properties.align-self.grid_context")}} + +## Совместимость с браузерами + +### Support in Flex layout + +{{Compat}} + +### Support in Grid layout + +{{Compat("css.properties.align-self.grid_context")}} + +{{CSSRef}} + +## Смотрите также + +- [Using CSS flexible boxes](/ru/docs/CSS/Using_CSS_flexible_boxes) +- CSS Flexbox Guide: _[Basic Concepts of Flexbox](/ru/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox)_ +- CSS Flexbox Guide: _[Aligning items in a flex container](/ru/docs/Web/CSS/CSS_Flexible_Box_Layout/Aligning_Items_in_a_Flex_Container)_ +- CSS Grid Guide: _[Box alignment in CSS Grid layouts](/ru/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout)_ +- [CSS Box Alignment](/ru/docs/Web/CSS/CSS_Box_Alignment) +- The {{cssxref("align-items")}} property diff --git a/files/ru/web/css/all/index.html b/files/ru/web/css/all/index.html deleted file mode 100644 index 30fff440ebe9cf..00000000000000 --- a/files/ru/web/css/all/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: all -slug: Web/CSS/all -translation_of: Web/CSS/all ---- -
          {{CSSRef}}
          - -

          Описание

          - -

          Сокращённое свойство CSS all сбрасывает все свойства, кроме {{cssxref("unicode-bidi")}} и {{cssxref("direction")}}, до их начального или унаследованного значения.

          - -

          {{cssinfo}}

          - -

          Синтаксис

          - -
          all: initial;
          -all: inherit;
          -all: unset;
          -
          -/* CSS Cascading and Inheritance Level 4 */
          -all: revert;
          -
          - -

          Значения

          - -
          -
          initial
          -
          Это ключевое слово указывает на изменение всех свойств, применяемых к элементу или родительскому элементу. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются.
          -
          inherit
          -
          Это ключевое слово указывает на изменение всех свойств, применяемых к элементу или родительскому элементу, на значение их родителя. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются.
          -
          unset
          -
          Это ключевое слово указывает на изменение всех свойств, применимых к элементу или родительскому элементу, на значение их родителя, если они наследуются или на их начальное значение, если нет. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются.
          -
          revert
          -
          Если каскадным значением свойства является ключевое слово revert, поведение зависит от источника, которому принадлежит объявление: -
          -
          user-agent origin
          -
          Эквивалент unset.
          -
          user origin
          -
          Откатывает каскад до уровня пользовательского агента, так что указанное значение вычисляется так, как если бы для этого свойства не были заданы правила уровня автора или уровня пользователя.
          -
          author origin
          -
          Откатывает каскад до уровня пользователя, так что указанное значение вычисляется так, как если бы для этого свойства не было задано никаких правил уровня автора. В целях возврата этот источник включает в себя источники переопределения и анимации.
          -
          -
          -
          - -

          Формальный синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          HTML

          - -
          <blockquote id="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</blockquote> Phasellus eget velit sagittis.
          - -

          CSS

          - -
          html {
          -  font-size: small;
          -  background-color: #F0F0F0;
          -  color: blue;
          -}
          -
          -blockquote {
          -  background-color: skyblue;
          -  color: red;
          -}
          -
          - -

          Результат:

          - -
          -

          No all property

          - - - - -{{EmbedLiveSample("ex0", "200", "125")}} - -

          {{HTMLElement("blockquote")}} использует стили браузера по умолчанию вместе с определённым фоном и цветом текста. Он также ведёт себя как block элемент : текст, который следует за ним, находится под ним.

          -
          - -
          -

          all:unset

          - - - - -{{EmbedLiveSample("ex1", "200", "125")}} - -

          {{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это inline элемент (начальное значение), его {{cssxref("background-color")}} является transparent (начальное значение), но его {{cssxref("font-size")}} по-прежнему small унаследованное значение) и его {{cssxref("color")}} является blue (унаследованное значение).

          -
          - -
          -

          all:initial

          - - - - -{{EmbedLiveSample("ex2", "200", "125")}} - -

          {{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это inline элемент(начальное значение), его {{cssxref("background-color")}} является transparent (начальное значение), его {{cssxref("font-size")}} является normal (начальное значение) и его {{cssxref("color")}} является black (начальное значение).

          -
          - -
          -

          all:inherit

          - - - - -{{EmbedLiveSample("ex3", "200", "125")}} - -

          {{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это block элемент (унаследованное значение от содержащего его {{HTMLElement("div")}}), его {{cssxref("background-color")}} является transparent (унаследованное значение), его {{cssxref("font-size")}} является small (унаследованное значение) и его {{cssxref("color")}} является blue (унаследованное значение).

          -
          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - -

          Значения свойств в масштабе CSS: {{cssxref("initial")}}, {{cssxref("inherit")}}, {{cssxref("unset")}}, и {{cssxref("revert")}}.

          diff --git a/files/ru/web/css/all/index.md b/files/ru/web/css/all/index.md new file mode 100644 index 00000000000000..b3a0aa93bcdc1c --- /dev/null +++ b/files/ru/web/css/all/index.md @@ -0,0 +1,143 @@ +--- +title: all +slug: Web/CSS/all +translation_of: Web/CSS/all +--- +{{CSSRef}} + +## Описание + +Сокращённое свойство CSS\_ \_**`all`** сбрасывает все свойства, кроме {{cssxref("unicode-bidi")}} и {{cssxref("direction")}}, до их начального или унаследованного значения. + +{{cssinfo}} + +## Синтаксис + +```css +all: initial; +all: inherit; +all: unset; + +/* CSS Cascading and Inheritance Level 4 */ +all: revert; +``` + +### Значения + +- `initial` + - : Это ключевое слово указывает на изменение всех свойств, применяемых к элементу или родительскому элементу. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются. +- `inherit` + - : Это ключевое слово указывает на изменение всех свойств, применяемых к элементу или родительскому элементу, на значение их родителя. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются. +- `unset` + - : Это ключевое слово указывает на изменение всех свойств, применимых к элементу или родительскому элементу, на значение их родителя, если они наследуются или на их начальное значение, если нет. Значения {{cssxref("unicode-bidi")}} и {{cssxref("direction")}} не затрагиваются. +- `revert` + - : Если каскадным значением свойства является ключевое слово revert, поведение зависит от источника, которому принадлежит объявление:_ user-agent origin + _ : Эквивалент unset. + - user origin + - : Откатывает каскад до уровня пользовательского агента, так что указанное значение вычисляется так, как если бы для этого свойства не были заданы правила уровня автора или уровня пользователя. + - author origin + - : Откатывает каскад до уровня пользователя, так что указанное значение вычисляется так, как если бы для этого свойства не было задано никаких правил уровня автора. В целях возврата этот источник включает в себя источники переопределения и анимации. + +### Формальный синтаксис + +{{csssyntax}} + +## Примеры + +**HTML** + +```html +
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          Phasellus eget velit sagittis. +``` + +**CSS** + +```css +html { + font-size: small; + background-color: #F0F0F0; + color: blue; +} + +blockquote { + background-color: skyblue; + color: red; +} +``` + +Результат: + +#### No `all` property + +```html hidden +
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          Phasellus eget velit sagittis. +``` + +```css hidden +html { font-size: small; background-color: #F0F0F0; color:blue; } +blockquote { background-color: skyblue; color: red; } +``` + +{{EmbedLiveSample("ex0", "200", "125")}} + +{{HTMLElement("blockquote")}} использует стили браузера по умолчанию вместе с определённым фоном и цветом текста. Он также ведёт себя как _block_ элемент\_ \_: текст, который следует за ним, находится под ним. + +#### `all:unset` + +```html hidden +
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          Phasellus eget velit sagittis. +``` + +```css hidden +html { font-size: small; background-color: #F0F0F0; color:blue; } +blockquote { background-color: skyblue; color: red; } +blockquote { all: unset; } +``` + +{{EmbedLiveSample("ex1", "200", "125")}} + +{{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это _inline_ элемент (начальное значение), его {{cssxref("background-color")}} является `transparent` (начальное значение), но его {{cssxref("font-size")}} по-прежнему `small` унаследованное значение) и его {{cssxref("color")}} является `blue` (унаследованное значение). + +#### `all:initial` + +```html hidden +
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          Phasellus eget velit sagittis. +``` + +```css hidden +html { font-size: small; background-color: #F0F0F0; color:blue; } +blockquote { background-color: skyblue; color: red; } +blockquote { all: initial; } +``` + +{{EmbedLiveSample("ex2", "200", "125")}} + +{{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это _inline_ элемент(начальное значение), его {{cssxref("background-color")}} является `transparent` (начальное значение), его {{cssxref("font-size")}} является `normal` (начальное значение) и его {{cssxref("color")}} является `black` (начальное значение). + +#### `all:inherit` + +```html hidden +
          Lorem ipsum dolor sit amet, consectetur adipiscing elit.
          Phasellus eget velit sagittis. +``` + +```css hidden +html { font-size: small; background-color: #F0F0F0; color:blue; } +blockquote { background-color: skyblue; color: red; } +blockquote { all: inherit; } +``` + +{{EmbedLiveSample("ex3", "200", "125")}} + +{{HTMLElement("blockquote")}} не использует стили браузера по умолчанию: теперь это _block_ элемент (унаследованное значение от содержащего его {{HTMLElement("div")}}), его {{cssxref("background-color")}} является `transparent` (унаследованное значение), его {{cssxref("font-size")}} является `small` (унаследованное значение) и его {{cssxref("color")}} является `blue` (унаследованное значение). + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} + +## Смотрите также + +Значения свойств в масштабе CSS: {{cssxref("initial")}}, {{cssxref("inherit")}}, {{cssxref("unset")}}, и {{cssxref("revert")}}. diff --git a/files/ru/web/css/angle/index.html b/files/ru/web/css/angle/index.html deleted file mode 100644 index 45cd339d590fbc..00000000000000 --- a/files/ru/web/css/angle/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: -slug: Web/CSS/angle -tags: - - CSS - - Web - - Тип данных CSS -translation_of: Web/CSS/angle ---- -
          {{ CSSRef() }}
          - -

          Тип данных CSS <angle> представляет собой значение угла, выраженное в градусах, градах, радианах или оборотах. Он используется, например, в {{cssxref ("<gradient>")}} и в некоторых функциях {{cssxref ("transform")}}.

          - -

          {{EmbedInteractiveExample("pages/css/type-angle.html")}}

          - -

          Синтаксис

          - -

          Тип данных <angle> состоит из числа ({{cssxref("<number>")}}), за которым следует одна из единиц измерения, представленные ниже. Между литералом единицы измерения и цифрой нет пробела. После 0 указывать единицу измерения необязательно.

          - -

          Опционально перед числом может стоять знак + или - . Положительное значение отмеряется по часовой стрелке, а отрицательные – против часовой. Чтобы достичь статистических свойств, каждый угол может быть представлен разными значениями, эквивалентными друг другу. Например, 90deg равняется -270deg, а 1turn равняется 4turn. Тем не менее, для достижения динамических свойств эффект будет другим. Например, при применении {{cssxref ("animation")}} или {{cssxref ("transition")}}.

          - -

          Единицы измерения

          - -
          -
          deg
          -
          -

          Представляет угол в градусах. Один полный круг равен 360deg. Например: 0deg, 90deg, 14.23deg.

          -
          -
          grad
          -
          Представляет угол в градах. Один полный круг равен 400grad. Например: 0grad, 100grad, 38.8grad.
          -
          rad
          -
          Представляет угол в радианах. Один полный круг равен 2π или примерно 6.2832rad. 1rad - это 180/π градусов. Например: 0rad, 1.0708rad, 6.2832rad.
          -
          turn
          -
          Представляет угол в количестве оборотов. Один полный круг равен 1turn. Например: 0turn, 0.25turn, 1.2turn.
          -
          - -

          Примеры

          - - - - - - - - - - - - - - - - - - - - -
          Angle90.png -

          Прямой угол: 90deg = 100grad = 0.25turn 1.5708rad

          -
          Angle180.pngРазвёрнутый угол: 180deg = 200grad = 0.5turn 3.1416rad
          AngleMinus90.pngПрямой угол (против часовой стрелки): -90deg = -100grad = -0.25turn -1.5708rad
          Angle0.png -

          Нулевой угол: 0deg = 0grad = 0turn = 0rad

          -
          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -

          {{Compat}}

          - -
          diff --git a/files/ru/web/css/angle/index.md b/files/ru/web/css/angle/index.md new file mode 100644 index 00000000000000..87d3abd7adbe9f --- /dev/null +++ b/files/ru/web/css/angle/index.md @@ -0,0 +1,47 @@ +--- +title: +slug: Web/CSS/angle +tags: + - CSS + - Web + - Тип данных CSS +translation_of: Web/CSS/angle +--- +{{ CSSRef() }} + +[Тип данных](/ru/docs/Web/CSS/CSS_Types) [CSS](/ru/docs/Web/CSS) **``** представляет собой значение угла, выраженное в градусах, градах, радианах или оборотах. Он используется, например, в {{cssxref ("<gradient>")}} и в некоторых функциях {{cssxref ("transform")}}. + +{{EmbedInteractiveExample("pages/css/type-angle.html")}} + +## Синтаксис + +Тип данных `` состоит из числа ({{cssxref("<number>")}}), за которым следует одна из единиц измерения, представленные ниже. Между литералом единицы измерения и цифрой нет пробела. После `0` указывать единицу измерения необязательно. + +Опционально перед числом может стоять знак `+` или `-` . Положительное значение отмеряется по часовой стрелке, а отрицательные – против часовой. Чтобы достичь статистических свойств, каждый угол может быть представлен разными значениями, эквивалентными друг другу. Например, `90deg` равняется `-270deg`, а `1turn` равняется `4turn`. Тем не менее, для достижения динамических свойств эффект будет другим. Например, при применении {{cssxref ("animation")}} или {{cssxref ("transition")}}. + +### Единицы измерения + +- deg + - : Представляет угол в [градусах](). Один полный круг равен `360deg`. Например: `0deg`, `90deg`, `14.23deg`. +- grad + - : Представляет угол в [градах](https://ru.wikipedia.org/wiki/Град,_минута,_секунда). Один полный круг равен `400grad`. Например: `0grad`, `100grad`, `38.8grad`. +- rad + - : Представляет угол в [радианах](https://ru.wikipedia.org/wiki/Радиан). Один полный круг равен 2π или примерно `6.2832rad`. `1rad` - это 180/π градусов. Например: `0rad`, `1.0708rad`, `6.2832rad`. +- turn + - : Представляет угол в количестве [оборотов](). Один полный круг равен `1turn`. Например: `0turn`, `0.25turn`, `1.2turn`. + +## Примеры + +| ![Angle90.png](/@api/deki/files/5704/=Angle90.png) | Прямой угол: ` 90deg = 100grad = 0.25turn``≈`` 1.5708rad ` | +| ------------------------------------------------------------ | ----------------------------------------------------------------------------------------- | +| ![Angle180.png](/@api/deki/files/5706/=Angle180.png) | Развёрнутый угол: ` 180deg = 200grad = 0.5turn`` ``≈`` 3.1416rad ` | +| ![AngleMinus90.png](/@api/deki/files/5707/=AngleMinus90.png) | Прямой угол (против часовой стрелки): `-90deg = -100grad = -0.25turn` ` ≈`` -1.5708rad ` | +| ![Angle0.png](/@api/deki/files/5708/=Angle0.png) | Нулевой угол: ` 0deg = 0grad = 0turn`` ``=`` 0rad ` | + +## Спецификации + +{{Specifications}} + +## Совместимость с браузерами + +{{Compat}} diff --git a/files/ru/web/css/animation-delay/index.html b/files/ru/web/css/animation-delay/index.html deleted file mode 100644 index 725f4c35fec4a1..00000000000000 --- a/files/ru/web/css/animation-delay/index.html +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: animation-delay -slug: Web/CSS/animation-delay -tags: - - CSS - - CSS-анимации - - CSS-свойства -translation_of: Web/CSS/animation-delay ---- -
          {{CSSRef}}{{SeeCompatTable}}
          - -

          Описание

          - -

          CSS свойство animation-delay определяет время задержки перед стартом анимации.

          - -

          {{EmbedInteractiveExample("pages/css/animation-delay.html")}}

          - -

          Значение 0s, которое является значением по умолчанию, указывает на то, что анимация должна начаться непременно. В противном случае, старт анимации будет отложен на указанное время.

          - -

          При указании отрицательного значения, анимация также начнётся непременно, но её воспроизведение начнётся не с первого ключевого кадра, а так, будто часть анимации уже была показана. Например, если вы укажете значение -1s, анимация будет начата с ключевого кадра, когда 1 секунда анимации уже была воспроизведена.

          - -

          {{cssinfo}}

          - -

          Синтаксис

          - -
          animation-delay: 3s;
          -animation-delay: 2s, 4ms;
          -
          - -

          Значения

          - -
          -
          <time>
          -
          Время задержки перед стартом анимации. Может быть определено в секундах (s), либо в миллисекундах (ms). Если вы не укажите единицу измерения, свойство будет недействительным.
          -
          - -

          Формальный синтаксис

          - -{{csssyntax}} - -

          Примеры

          - -

          Посмотрите CSS-анимации для примера.

          - -

          Спецификации

          - -{{Specifications}} - -

          Совместимость с браузерами

          - -

          {{Compat}}

          - -

          Смотрите также

          - - diff --git a/files/ru/web/css/animation-delay/index.md b/files/ru/web/css/animation-delay/index.md new file mode 100644 index 00000000000000..39c9b12d684e3b --- /dev/null +++ b/files/ru/web/css/animation-delay/index.md @@ -0,0 +1,55 @@ +--- +title: animation-delay +slug: Web/CSS/animation-delay +tags: + - CSS + - CSS-анимации + - CSS-свойства +translation_of: Web/CSS/animation-delay +--- +{{CSSRef}}{{SeeCompatTable}} + +## Описание + +[CSS](/ru/docs/CSS "CSS") свойство **`animation-delay`** определяет время задержки перед стартом анимации. + +{{EmbedInteractiveExample("pages/css/animation-delay.html")}} + +Значение 0s, которое является значением по умолчанию, указывает на то, что анимация должна начаться непременно. В противном случае, старт анимации будет отложен на указанное время. + +При указании отрицательного значения, анимация также начнётся непременно, но её воспроизведение начнётся не с первого ключевого кадра, а так, будто часть анимации уже была показана. Например, если вы укажете значение -1s, анимация будет начата с ключевого кадра, когда 1 секунда анимации уже была воспроизведена. + +{{cssinfo}} + +## Синтаксис + +```css +animation-delay: 3s; +animation-delay: 2s, 4ms; +``` + +### Значения + +- `