|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。( E) |- s/ ?6 w6 Z: m, M
3 h9 E8 @ R: F l* } 实现原理:- Z, U+ k. E1 U( S) x0 s
固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。. j' Z- j7 @0 S% g
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:
9 F0 t& Z T9 U+ \* H% _$ X6 t8 a- <style>
, Z7 G: S" \4 z; @! v9 f - #bn {4 O, x) Y5 H: \; v2 K# g6 a3 Q
- background-color:#FF0000;. K& v, c1 C% \/ Q) z, f( c* L1 f
- width: 100%;( S0 s+ P7 r5 r. D: c* K6 l2 t
- height:500px;2 [; i5 t( a9 n, Q
- overflow: hidden;
0 T% P- C+ r. _) p( E( I% \ - }
4 t- W0 A3 `8 r6 C - #bn .img
& i+ T( ]; p. P4 H" S, X2 X3 @; F - {
7 v$ w' e4 P* f+ g8 ^- C0 H' J( B) p0 l - width:1920px;4 R0 l, }1 {; b- w. e+ O$ `
- margin:0 calc(50% - 960px);
- \5 b4 n* U: U* t% U - } z1 u8 w: D. I
- </style>, r8 F: r- D) J( X# Y$ u
, ~* F4 u2 v+ g) H3 b x2 w- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
# Q- T/ o) q- t1 ]$ s8 g3 g$ }' q5 Z1 D8 {& }/ T T0 N
|
|