From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- files/ru/web/css/clip-path/index.html | 586 ++++++++++++++++++++++++++++++++++ 1 file changed, 586 insertions(+) create mode 100644 files/ru/web/css/clip-path/index.html (limited to 'files/ru/web/css/clip-path') diff --git a/files/ru/web/css/clip-path/index.html b/files/ru/web/css/clip-path/index.html new file mode 100644 index 0000000000..c218eb1f00 --- /dev/null +++ b/files/ru/web/css/clip-path/index.html @@ -0,0 +1,586 @@ +--- +title: clip-path +slug: Web/CSS/clip-path +translation_of: Web/CSS/clip-path +--- +
{{CSSRef}}{{SeeCompatTable}}
+ +

CSS свойство clip-path создает ограниченную область, которая определяет какая часть элемента должна быть видимой. Те части, которые находятся внутри области, видимы, в то время как части вне области, скрыты. Обрезанная область - это траектория, определяемая либо как внутренняя ссылка, либо как внешний SVG , либо как фигура, такая как круг (circle()).

+ +
+

Историческая справка: Свойство clip-path заменило устаревшее свойство {{cssxref("clip")}} .

+
+ +
/* Keyword values */
+clip-path: none;
+
+/* Image values */
+clip-path: url(resources.svg#c1);
+
+/* Box values */
+clip-path: fill-box;
+clip-path: stroke-box;
+clip-path: view-box;
+clip-path: margin-box;
+clip-path: border-box;
+clip-path: padding-box;
+clip-path: content-box;
+
+/* Geometry values */
+clip-path: inset(100px 50px);
+clip-path: circle(50px at 0 100px);
+clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
+
+/* Box and geometry values combined */
+clip-path: padding-box circle(50px at 0 100px);
+
+/* Global values */
+clip-path: inherit;
+clip-path: initial;
+clip-path: unset;
+
+ + + +

{{EmbedLiveSample("clip-path", "100%", 800, "", "", "example-outcome-frame")}}

+ +

{{cssinfo}}

+ +

Синтаксис

+ +

Свойство clip-path определяется как одно или комбинация значений перечисленных ниже.

+ +

Значения

+ +
+
url()
+
Представляет URL ссылку на траекторию, ограничивающую элемент.
+
inset(), circle(), ellipse(), polygon()
+
Функция {{cssxref("<basic-shape>")}}. Размер и положение области определяется значением <geometry-box>. Если геометрия не определена,border-box будет использоваться в качестве блока.
+
<geometry-box>
+
Если определен в комбинации с <basic-shape>, это значение определяет блок для базовой области. Если задан самостоятельно, определяет границы блока, включая формирование углов (такое как {{cssxref("border-radius")}}). Геометрия может быть определена с помощью одного из следующих значений: +
+
fill-box
+
Использует границы объекта в качестве базовой области.
+
stroke-box
+
Использует stroke bounding box в качестве базовой области.
+
view-box
+
Использует ближайший SVG viewport в качестве базового блока. Если отриут {{SVGAttr("viewBox")}} определен для элемента, создающего SVG viewport, базовый блок позиционируется в оригинальной системе координат, установленной атрибутом viewBox и ширина и высота базового блока устанавливаются равными значениям атрибута viewBox.​​​​​​​
+
margin-box
+
Использует margin box в качестве базового блока.
+
border-box
+
Использует border box в качестве базового блока.
+
padding-box
+
Использует padding box в качестве базового блока.
+
content-box
+
Использует content box в качестве базового блока.
+
+
+
none
+
Обрезанная область не создается.
+
+ +

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

+ +
{{csssyntax}}
+ +

Примеры

+ +
/* Inline SVG  */
+.target {
+  clip-path: url(#c1);
+}
+
+/* External SVG */
+.anothertarget {
+  clip-path: url(resources.svg#c1);
+}
+
+/* Circle shape */
+.circleClass {
+  clip-path: circle(15px at 20px 20px);
+}
+ +

Живой пример

+ +

HTML

+ +
<img id="clipped" src="https://mdn.mozillademos.org/files/12668/MDN.svg"
+    alt="MDN logo">
+<svg height="0" width="0">
+  <defs>
+    <clipPath id="cross">
+      <rect y="110" x="137" width="90" height="90"/>
+      <rect x="0" y="110" width="90" height="90"/>
+      <rect x="137" y="0" width="90" height="90"/>
+      <rect x="0" y="0" width="90" height="90"/>
+    </clipPath>
+  </defs>
+</svg>
+
+<select id="clipPath">
+  <option value="none">none</option>
+  <option value="circle(100px at 110px 100px)">circle</option>
+  <option value="url(#cross)" selected>cross</option>
+  <option value="inset(20px round 20px)">inset</option>
+</select>
+
+ +

CSS

+ +
#clipped {
+  margin-bottom: 20px;
+  clip-path: url(#cross);
+}
+
+ + + +

Результат

+ +

{{EmbedLiveSample("Live_sample", 230, 250)}}

+ +

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

+ + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName("CSS Masks", "#the-clip-path", 'clip-path')}}{{Spec2('CSS Masks')}}Extends its application to HTML elements.
{{SpecName('SVG1.1', 'masking.html#ClipPathProperty', 'clip-path')}}{{Spec2('SVG1.1')}}Initial definition (applies to SVG elements only).
+ +

Совместимость

+ + + +

{{Compat("css.properties.clip-path")}}

+ +

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

+ + -- cgit v1.2.3-54-g00ecf