object-position
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since ÑнваÑÑ 2020 г..
CSS-ÑвойÑÑво object-position опÑеделÑÐµÑ Ð²ÑÑавнивание конÑенÑа вÑбÑанного замеÑаемого ÑлеменÑа внÑÑÑи блока ÑлеменÑа. Ðа облаÑÑÑÑ
блока, не покÑÑÑÑÑ
обÑекÑом замеÑаемого ÑлеменÑа, бÑÐ´ÐµÑ Ð¾ÑобÑажаÑÑÑÑ Ñон ÑлеменÑа.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаваÑÑ ÑпоÑоб подÑÑÑойки ÑобÑÑвенного ÑазмеÑа обÑекÑа замеÑаемого ÑлеменÑа (Ñ. е., его еÑÑеÑÑвенного ÑазмеÑа) под ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð»Ð¾ÐºÐ° ÑлеменÑа, иÑполÑзÑÑ ÑвойÑÑво object-fit.
ÐнÑеÑакÑивнÑй пÑимеÑ
object-position: 50% 50%;
object-position: right top;
object-position: left bottom;
object-position: 250px 125px;
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/proxy/developer.mozilla.org/shared-assets/images/examples/moon.jpg" />
</section>
#example-element {
height: 250px;
width: 250px;
object-fit: none;
border: 1px solid red;
}
СинÑакÑиÑ
/* знаÑÐµÐ½Ð¸Ñ <position> */
object-position: center top;
object-position: 100px 50px;
/* ÐлобалÑнÑе знаÑÐµÐ½Ð¸Ñ */
object-position: inherit;
object-position: initial;
object-position: unset;
ÐнаÑениÑ
<position>-
ÐÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ до ÑеÑÑÑÑÑ Ð·Ð½Ð°Ñений, коÑоÑÑе опÑеделÑÑÑ 2D-позиÑÐ¸Ñ ÑлеменÑа. ÐогÑÑ Ð¸ÑполÑзоваÑÑÑÑ ÐºÐ°Ðº абÑолÑÑнÑе, Ñак и оÑноÑиÑелÑнÑе знаÑÐµÐ½Ð¸Ñ Ñдвигов.
ÐÑимеÑание: ÐозиÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð°Ð¶Ðµ Ñакой, ÑÑо замеÑаемÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÑиÑовÑваÑÑÑÑ Ð·Ð° пÑеделами Ñвоего блока.
ФоÑмалÑное опÑеделение
| ÐаÑалÑное знаÑение | 50% 50% |
|---|---|
| ÐÑименÑеÑÑÑ Ðº | заменÑемÑе ÑлеменÑÑ |
| ÐаÑледÑеÑÑÑ | да |
| ÐÑоÑенÑÑ | оÑноÑÑÑÑÑ Ðº ÑиÑине и вÑÑоÑе Ñамого ÑлеменÑа |
| ÐбÑабоÑка знаÑÐµÐ½Ð¸Ñ | как Ñказано |
| Animation type | повÑоÑÑÑÑийÑÑ ÑпиÑок из |
ФоÑмалÑнÑй ÑинÑакÑиÑ
object-position =
<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>
ÐÑимеÑÑ
>ÐозиÑиониÑование изобÑажений
HTML
ÐдеÑÑ Ð¼Ñ Ð²Ð¸Ð´Ð¸Ð¼ HTML, ÑодеÑжаÑий два <img>-ÑлеменÑа, оÑобÑажаÑÑие логоÑÐ¸Ð¿Ñ MDN.
<img id="object-position-1" src="mdn.svg" alt="MDN Logo" />
<img id="object-position-2" src="mdn.svg" alt="MDN Logo" />
CSS
CSS ÑодеÑÐ¶Ð¸Ñ ÑÑандаÑÑнÑе ÑÑили Ð´Ð»Ñ Ñамого <img>-ÑлеменÑа, а Ñакже оÑделÑнÑе ÑÑили Ð´Ð»Ñ Ð¾Ð±Ð¾Ð¸Ñ
изобÑажений.
img {
width: 300px;
height: 250px;
border: 1px solid black;
background-color: silver;
margin-right: 1em;
object-fit: none;
}
#object-position-1 {
object-position: 10px;
}
#object-position-2 {
object-position: 100% 10%;
}
ÐеÑвое изобÑажение ÑаÑположено Ñ Ð¾ÑÑÑÑпом в 10 пикÑелей оÑноÑиÑелÑно левого кÑÐ°Ñ Ð±Ð»Ð¾ÐºÐ° ÑлеменÑа. ÐÑоÑое изобÑажение ÑаÑположено Ñвоим пÑавÑм кÑаем впÑиÑÑк к пÑÐ°Ð²Ð¾Ð¼Ñ ÐºÑÐ°Ñ Ð±Ð»Ð¾ÐºÐ° ÑлеменÑа и ÑдвинÑÑо вниз на 10% вÑÑоÑÑ Ð±Ð»Ð¾ÐºÐ° ÑлеменÑа.
РезÑлÑÑаÑ
СпеÑиÑикаÑии
| Specification |
|---|
| CSS Images Module Level 3> # the-object-position> |
СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
СмоÑÑиÑе Ñакже
- ÐÑÑгие CSS-ÑвойÑÑва, ÑвÑзаннÑе Ñ Ð¸Ð·Ð¾Ð±ÑажениÑми:
object-fit,image-orientation,image-rendering,image-resolution.