docs.rodeo

MDN Web Docs mirror

xywh()

{{CSSRef}} 

The xywh() CSS function creates a rectangle using the specified distances from the left (x) and top (y) edges of the containing block and the specified width (w) and height (h) of the rectangle. It is a basic shape function of the {{cssxref("<basic-shape>")}}  data type. You can use the xywh() function in CSS properties such as {{cssxref("offset-path")}}  to create the rectangular path along which an element moves and in {{cssxref("clip-path")}}  to define the shape of the clipping region.

Syntax

offset-path: xywh(0 1% 2px 3% round 0 1px 2% 3px);
clip-path: xywh(1px 2% 3px 4em round 0 1% 2px 3em);

Values

Formal syntax

{{CSSSyntax}} 

Examples

Creating offset-path using xywh()

In the example below, the {{cssxref("offset-path")}}  property uses the xywh() function to define the shape of the path on which the element, a magenta box in this case, moves. Two different scenarios are shown, each with different values for the xywh() function. The arrow inside the boxes points to the right edge of the box.

<div class="container">
  Rectangular path 1
  <div class="path xywh-path-1"></div>
</div>
<div class="container">
  Rectangular path 2
  <div class="path xywh-path-2"></div>
</div>
.container {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 200px;
  border: 1px solid black;
  margin: 30px;
  text-align: center;
}

.path {
  width: 50px;
  height: 50px;
  position: absolute;
  background-color: magenta;
  animation: move 10s linear infinite;
}

.xywh-path-1 {
  offset-path: xywh(20px 20px 100% 100% round 10%);
}

.xywh-path-2 {
  offset-path: xywh(20px 30% 150% 200%);
}

@keyframes move {
  0% {
    offset-distance: 0%;
  }
  100% {
    offset-distance: 100%;
  }
}

Result

{{EmbedLiveSample("Creating offset-path using xywh", "100%", 600)}} 

Specifications

{{Specifications}} 

Browser compatibility

{{Compat}} 

See also

In this article

View on MDN