perspective-origin
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2015.
Thuộc tính perspective-origin CSS xác định vị trí mà người xem đang nhìn vào. Nó được dùng làm điểm triệt tiêu bởi thuộc tính perspective.
Try it
perspective-origin: center;
perspective-origin: top;
perspective-origin: bottom right;
perspective-origin: -170%;
perspective-origin: 500% 200%;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
<div class="face front">1</div>
<div class="face back">2</div>
<div class="face right">3</div>
<div class="face left">4</div>
<div class="face top">5</div>
<div class="face bottom">6</div>
</div>
</section>
#default-example {
background: linear-gradient(skyblue, khaki);
perspective: 550px;
}
#example-element {
width: 100px;
height: 100px;
transform-style: preserve-3d;
perspective: 250px;
}
.face {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
position: absolute;
backface-visibility: inherit;
font-size: 60px;
color: white;
}
.front {
background: rgb(90 90 90 / 0.7);
transform: translateZ(50px);
}
.back {
background: rgb(0 210 0 / 0.7);
transform: rotateY(180deg) translateZ(50px);
}
.right {
background: rgb(210 0 0 / 0.7);
transform: rotateY(90deg) translateZ(50px);
}
.left {
background: rgb(0 0 210 / 0.7);
transform: rotateY(-90deg) translateZ(50px);
}
.top {
background: rgb(210 210 0 / 0.7);
transform: rotateX(90deg) translateZ(50px);
}
.bottom {
background: rgb(210 0 210 / 0.7);
transform: rotateX(-90deg) translateZ(50px);
}
Thuộc tính perspective-origin và perspective được áp dụng lên phần tử cha của phần tử con được biến đổi trong không gian 3 chiều, khác với hàm biến đổi perspective() được đặt trực tiếp trên phần tử được biến đổi.
Cú pháp
/* Cú pháp một giá trị */
perspective-origin: x-position;
/* Cú pháp hai giá trị */
perspective-origin: x-position y-position;
/* Khi cả x-position và y-position đều là từ khóa,
cú pháp sau cũng hợp lệ */
perspective-origin: y-position x-position;
/* Giá trị toàn cục */
perspective-origin: inherit;
perspective-origin: initial;
perspective-origin: revert;
perspective-origin: revert-layer;
perspective-origin: unset;
Giá trị
- x-position
-
Cho biết vị trí trục hoành của điểm triệt tiêu. Có thể nhận một trong các giá trị sau:
<length-percentage>cho biết vị trí dưới dạng giá trị độ dài tuyệt đối hoặc tương đối theo chiều rộng của phần tử. Giá trị có thể âm.left, từ khóa viết tắt cho giá trị độ dài0.center, từ khóa viết tắt cho giá trị phần trăm50%.right, từ khóa viết tắt cho giá trị phần trăm100%.
- y-position
-
Cho biết vị trí trục tung của điểm triệt tiêu. Có thể nhận một trong các giá trị sau:
<length-percentage>cho biết vị trí dưới dạng giá trị độ dài tuyệt đối hoặc tương đối theo chiều cao của phần tử. Giá trị có thể âm.top, từ khóa viết tắt cho giá trị độ dài0.center, từ khóa viết tắt cho giá trị phần trăm50%.bottom, từ khóa viết tắt cho giá trị phần trăm100%.
Định nghĩa hình thức
| Initial value | 50% 50% |
|---|---|
| Applies to | transformable elements |
| Inherited | no |
| Percentages | refer to the size of bounding box |
| Computed value | for <length> the absolute value, otherwise a percentage |
| Animation type | simple list of length, percentage, or calc |
Cú pháp hình thức
perspective-origin =
<position>
<position> =
<position-one> |
<position-two> |
<position-four>
<position-one> =
left |
center |
right |
top |
bottom |
x-start |
x-end |
y-start |
y-end |
block-start |
block-end |
inline-start |
inline-end |
<length-percentage>
<position-two> =
[ left | center | right | x-start | x-end ] && [ top | center | bottom | y-start | y-end ] |
[ left | center | right | x-start | x-end | <length-percentage> ] [ top | center | bottom | y-start | y-end | <length-percentage> ] |
[ block-start | center | block-end ] && [ inline-start | center | inline-end ] |
[ start | center | end ]{2}
<position-four> =
[ [ left | right | x-start | x-end ] <length-percentage> ] && [ [ top | bottom | y-start | y-end ] <length-percentage> ] |
[ [ block-start | block-end ] <length-percentage> ] && [ [ inline-start | inline-end ] <length-percentage> ] |
[ [ start | end ] <length-percentage> ]{2}
<length-percentage> =
<length> |
<percentage>
Ví dụ
>Thay đổi gốc phối cảnh
Ví dụ về cách thay đổi perspective-origin được trình bày trong Sử dụng CSS transforms > Thay đổi gốc phối cảnh.
Thông số kỹ thuật
| Specification |
|---|
| CSS Transforms Module Level 2> # perspective-origin-property> |