???? ?? ?? ??? ??? 5%, ???? ? ?? ??? ??? 15%? ?? ??? ??? ??? ???? ????.
??? ??? ???? ??? ?? ?? ?? ??? ? ????.
??????? ? ??? ??? ? ? ??? ?? ??? ??? ???? ???? ??? ? ??? ??? ????.
??? ?? ?? ??? ?? ? ???:
?????? ??? ?? ? ???? ???? ???? ????? ?? ? ??? ???? ?? ???.
?? ?? ???? ? ?? ??: min-margin + [margin的變化量] * 0
,當(dāng)視口為中等大小時:min-margin + [margin的變化量] * 0.5
,當(dāng)視口較大時:min-margin + [margin的變化量] * 1
??? calc ??? 10px / 20px
? ?? ?? 0.5? ?? ??? ?? ???? ?? ??? ??? ???? ????. ?? 0.5??? ?????. ??? 15% * 0.5 ??? ???? ??? ???? 0?? ???? ???.
?? ??? ???? ?? ?? ? ???. ?? ????? ??? ???????.
? ??? ??????
calc(..)
??? ??? ??? ??? ???? ???? ???. ???? ??? ?? ?????! %
)將產(chǎn)生像素(px
)的結(jié)果,任何視口大小單位(vh,vw,vmin,vmax
)? ?? ??? ??? ?? ?????? ?? ?????. ? ?? ?? (var(--max-margin) - var(--min-margin))
將產(chǎn)生像素單位,因為大小的%
? ?? ??? ?????.
? ?? ? ((100vw - 800px) / (1920 - 800) + var(--min-margin))
? ?? ??? ?? ????? ?? ??? ????.
??? ??? ??? ? ????.
1? ??? y=mx+b? ? ?? ??? ?? ??? ??? ???? ?? ??? ???? ? ?????. ?? ?? ?? ?? ? ??? (x1,y1) ? (x2,y2)?? ???? XY ???? ?? ??? ?? ????.
?-???? ?? ??:y - y1 = m(x - x1)
y = y1 + (y2 ? y1) / (x2 ? x1) × (x ? x1)
??? ??
?? ?? ?? ??? ??? ??? ???? ??? ? ???? 5%
來計算該大小的邊距。我使用了400px
的視口寬度,得到0.05 * 400 = 20
. ?? ??? ? (400,20)? ???? ??? (x1,y1)
?? ?? 800px
的視口上有15%
的邊距。由于0.15 * 800 = 120
?? ? ??? ??? ??? ?? ????. ?? ? (x2,y2)? (800,120)
?? ? ???? ?? ????(??? px
??? ????) ??????.
margin = 20 * 1px + (120 - 20) / (800 - 400) * (100vw - 400 * 1px)
margin = 20px + 100 / 400 * (100vw - 400px)
margin = 20px + 0.25 * (100vw - 400px)
?? ??? 5%
和15%
之間,這將需要使用CSS的clamp
??? ???? ?? ??? ???? ??:
clamp(5%, 20px + 0.25 * (100vw - 400px), 15%)
?? ???? ??? ??? ??? ??? ??? ?????(???? ????? ????? ?? ???? ???? ??? ?????).
???, ?? ??? ??-?? ??(y = mx + b)? 25vw - 80px
???.