Warning: Where possible, authors are encouraged to use the newer clip-path
property instead.
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
.
Syntax
/* 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;
Values
shape
-
A rectangular
shape
of the formrect(<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>
orauto
. If any side's value isauto
, 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 value | auto |
---|---|
Applies to | Absolutely positioned elements. In SVG, it applies to elements which establish a new viewport, pattern elements and mask elements. |
Inherited | no |
Computed value | as specified |
Animation type | by computed value |
Formal syntax
<rect()> | auto
Examples
Clipping an image
<p class="dotted-border"> <img src="macarons.png" alt="Original graphic" /> <img id="top-left" src="macarons.png" alt="Graphic clipped to upper left" /> <img id="middle" src="macarons.png" alt="Graphic clipped towards middle" /> <img id="bottom-right" src="macarons.png" alt="Graphic clipped to bottom right" /> </p>
.dotted-border { border: dotted; position: relative; width: 390px; height: 400px; } #top-left, #middle, #bottom-right { position: absolute; top: 0; } #top-left { left: 400px; clip: rect(0, 130px, 90px, 0); } #middle { left: 270px; clip: rect(100px, 260px, 190px, 130px); } #bottom-right { left: 140px; clip: rect(200px, 390px, 290px, 260px); }
See also
- This property is deprecated. Use
clip-path
instead. - Related CSS properties: