속성의'% 지정 값'과'px 지정 값'을 서로 변환하는 데 사용되는 계산 공식
'50%'는'몇 px'
CSS의 백그라운드-position 속성에는 몇 가지 수치 지정 방법이 준비되어 있습니다. 그중의'% 지정 값'과'px 지정 값'을 서로 변환할 때의 계산 공식을 고려하십시오.#sample { background-position: 50% 20px;}
↓ ↓
#sample { background-position: ??px ??%;}
이 계산에 필요한 정보는
#sample { background-position: 50% 20px;}
↓ ↓
#sample { background-position: ??px ??%;}
배경 이미지의 요소를 지정하는 width/height(px값)
배경 그림의width/height(px값)
저의 직언을 용서해 주십시오. 각자의 전환식은 아래와 같습니다.
% 지정 값 - px 지정 값의 변환식
수평 방향(X축)
{px指定値} = ( {背景画像を指定する要素のwidth} - {背景画像のwidth} ) * {%指定値} * 0.01
수직 방향(Y축){px指定値} = ( {背景画像を指定する要素のheight} - {背景画像のheight} ) * {%指定値} * 0.01
px 지정 값→% 지정 값의 변환식
수평 방향(X축)
{%指定値} = {px指定値} / ( {背景画像を指定する要素のwidth} - {背景画像のwidth} ) * 100
수직 방향(Y축){%指定値} = {px指定値} / ( {背景画像を指定する要素のheight} - {背景画像のheight} ) * 100
구체적 예
width의 경우 1000px
<div id="sample">
width 300px sample_bg.png
를 배경 그림으로 지정수평방향(X축)의 백그라운드-position을 65%로 가정합니다.
A
#sample {
width: 1000px;
background: url(sample_bg.png) no-repeat 65% 0;
}
이런 상황에서'65%'의 부분을 px값으로 바꾸는 계산은 다음과 같다.( {背景画像を指定する要素のwidth} - {背景画像のwidth} ) * {%指定値} * 0.01
= ( 1000 - 300 ) * 65 * 0.01
= 700 * 0.65
= 455
다음과 같은 경우를 지정해도 같은 위치에 배치sample_bg.png
한다는 것이다.B
#sample {
width: 1000px;
background: url(sample_bg.png) no-repeat 455px 0;
}
"width:100px""65%"메시지만 보면 "650px죠?"이렇게 생각하면 실제로 계산하면 전혀 다른 수치가 된다.원래 백그라운드-position의'% 지정'이란?
background-position 속성에 대한'% 지정'은 참고 사이트 등에도 있습니다
"요소의 왼쪽 위 모서리에 있는 **% 위치"
이런 설명이 있었지만 애매한 표현이었다.
background-position: 100% 100%
로 지정할 경우배경 이미지가 요소의 오른쪽 아래 바깥쪽으로 날아갔다고 하면 그런 일은 없다.
속성의 규격을 더 정확하게 표현하면 다음과 같은 설명이 되겠죠.
ある要素の水平方向(X軸)の background-position を "n%" と指定した場合、
その要素の水平方向 n% の座標が「基準点」となり、
背景画像は、その画像自体の水平方向 n% の座標が「基準点」と一致するように配置される。
(垂直方向の場合も同様)
이해가 안되네.그림으로 표시해 주세요.
이 그림을 보면서 다시 계산하면 상술한'전환식'이 타당하다는 것을 알고 싶습니다.
{px指定値}
= 1000 * 65 * 0.01 - 300 * 65 * 0.01
= ( 1000 - 300 ) * 65 * 0.01
= 700 * 0.65
= 455
Reference
이 문제에 관하여(속성의'% 지정 값'과'px 지정 값'을 서로 변환하는 데 사용되는 계산 공식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shouchida/items/19888ee1916321e71cdb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)