|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。
# X* C* h J, R6 T- y$ I" T
0 W* }8 E8 a5 B5 \& E 实现原理:0 W- D; m* j. q9 T; o6 d% ^
固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。0 \, t S9 x7 G; T! x6 U8 O; J
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:* Q e4 f2 O# \6 r" ?" N
- <style>$ {, E: F7 \) e3 n& o! p. P: f. q- L
- #bn {7 j# A" o& | ?+ A8 V: g
- background-color:#FF0000;
" R8 c* O; I3 v3 G - width: 100%;
8 L# Y' u' Y. l9 w Z: D - height:500px;
2 d- |( ]( g1 x - overflow: hidden;
) a* n1 u* f7 c( @' Z9 z4 a - }
8 ?( ^9 W% V& e8 D- E5 T - #bn .img
) Y% t+ r+ L! {; |0 t0 W - {' p! e8 Q. X# P* [1 ]! v- v. f
- width:1920px;( M4 V$ q; S5 y1 r y# A7 Z0 R9 _
- margin:0 calc(50% - 960px);
9 ^2 D. I( X1 j+ T- k - }
7 g; C& G' X: R7 ?3 R: }0 x- L4 T, b/ Y - </style>" S) v: V" ?* C* Q; f1 I
- , o2 n, l4 m& N
- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码 9 X2 d/ ~! ^/ { g8 ^ b
# }* Z3 X, l# U; b; ] |
|