object-position
åºçº¿
广æ³å¯ç¨
èª 2020å¹´1æ èµ·ï¼æ¤ç¹æ§å·²å¨ä¸»æµæµè§å¨ä¸å¾å°æ¯æï¼å¯å¨å¤§å¤æ°è®¾å¤åæµè§å¨çæ¬ä¸æ£å¸¸ä½¿ç¨ã
CSS 屿§ object-position è§å®äºå¯æ¿æ¢å
ç´ çå
容ï¼å¨è¿éæä»¬ç§°å
¶ä¸ºå¯¹è±¡ï¼å³ object-position ä¸ç objectï¼å¨å
¶å
容æ¡ä¸çä½ç½®ã坿¿æ¢å
ç´ çå
容æ¡ä¸æªè¢«å¯¹è±¡æè¦ççé¨åï¼å伿¾ç¤ºè¯¥å
ç´ çèæ¯ã
ä½ è¿å¯ä»¥ä½¿ç¨ 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="/shared-assets/images/examples/moon.jpg" />
</section>
#example-element {
height: 250px;
width: 250px;
object-fit: none;
border: 1px solid red;
}
è¯æ³
/* å
³é®åå¼ */
object-position: top;
object-position: bottom;
object-position: left;
object-position: right;
object-position: center;
/* <percentage> å¼ */
object-position: 25% 75%;
/* <length> å¼ */
object-position: 0 0;
object-position: 1cm 2cm;
object-position: 10ch 8em;
/* è¾¹ç¼åç§»å¼ */
object-position: bottom 10px right 20px;
object-position: right 3em bottom 10px;
object-position: top 0 right 10px;
/* å
¨å±å
³é®å */
object-position: inherit;
object-position: initial;
object-position: revert;
object-position: revert-layer;
object-position: unset;
åå¼
<position>-
ä½¿ç¨ 1 å° 4 ä¸ªå¼æ¥å®ä¹è¯¥å ç´ å¨å®æå¤çäºç»´å¹³é¢ä¸çå®ä½ãå¯ä»¥ä½¿ç¨ç¸å¯¹æç»å¯¹åç§»ã
夿³¨ï¼è¿äºå®ä½æ¹å¼å è®¸è¢«æ¿æ¢å ç´ ç对象被å®ä½å°å 容æ¡å¤é¨ã
å½¢å¼å®ä¹
| åå§å¼ | 50% 50% |
|---|---|
| éç¨å ç´ | æ¿æ¢å ç´ |
| æ¯å¦æ¯ç»§æ¿å±æ§ | å¦ |
| Percentages | refer to width and height of element itself |
| 计ç®å¼ | as specified |
| å¨ç»ç±»å | a repeatable list |
å½¢å¼è¯æ³
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 ç logoã
<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% å¤ã
ç»æ
è§è
| è§è |
|---|
| CSS Images Module Level 3 > # the-object-position > |
æµè§å¨å ¼å®¹æ§
åè§
- å
¶ä»ä¸å¾åç¸å
³ç CSS 屿§ï¼
object-fitãimage-orientationãimage-renderingãimage-resolutionã