clip

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

The clip CSS property defines a visible portion of an element. The clip property applies only to absolutely positioned elements — that is, elements with position:absolute or position:fixed.

/* Keyword value */
clip: auto;

/* <shape> values */
clip: rect(1px, 10em, 3rem, 2ch);

/* Global values */
clip: inherit;
clip: initial;
clip: revert;
clip: revert-layer;
clip: unset;

Syntax

Note: Where possible, authors are encouraged to use the newer clip-path property instead.

Values

<shape()>

A rectangular <shape()> of the form rect(<top>, <right>, <bottom>, <left>). The <top> and <bottom> values are offsets from the inside top border edge of the box, while <right> and <left> are offsets from the inside left border edge of the box — that is, the extent of the padding box.

The <top>, <right>, <bottom>, and <left> values may be either a <length> or auto. If any side's value is auto, the element is clipped to that side's inside border edge.

auto

The element does not clip (default). This is different from rect(auto, auto, auto, auto), which clips to the element's inside border edges.

Formal definition

Initial valueauto
Applies toabsolutely positioned elements
Inheritedno
Computed valueauto if specified as auto, otherwise a rectangle with four values, each of which is auto if specified as auto or the computed length otherwise
Animation typea rectangle

Formal syntax

clip = 
<rect()> |
auto

<rect()> =
rect( [ <length-percentage> | auto ]{4} [ round <'border-radius'> ]? )

<length-percentage> =
<length> |
<percentage>

Examples

Clipping an image

CSS

.dotted-border {
  border: dotted;
  position: relative;
  width: 536px;
  height: 350px;
}

#top-left,
#middle,
#bottom-right {
  position: absolute;
  top: 0;
}

#top-left {
  left: 360px;
  clip: rect(0, 175px, 113px, 0);
}

#middle {
  left: 280px;
  clip: rect(119px, 255px, 229px, 80px);
}

#bottom-right {
  left: 200px;
  clip: rect(235px, 335px, 345px, 160px);
}

HTML

<p class="dotted-border">
  <img
    src="https://developer.mozilla.org/@api/deki/files/3613/=hut.jpg"
    title="Original graphic" />
  <img
    id="top-left"
    src="https://developer.mozilla.org/@api/deki/files/3613/=hut.jpg"
    title="Graphic clipped to upper left" />
  <img
    id="middle"
    src="https://developer.mozilla.org/@api/deki/files/3613/=hut.jpg"
    title="Graphic clipped towards middle" />
  <img
    id="bottom-right"
    src="https://developer.mozilla.org/@api/deki/files/3613/=hut.jpg"
    title="Graphic clipped to bottom right" />
</p>

Result

Specifications

Specification
CSS Masking Module Level 1
# clip-property

Browser compatibility

BCD tables only load in the browser

See also