|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。
* l1 V3 L( A; E1 Z; b/ h: P' f+ s7 |0 i- A% g
实现原理:
) z& j0 u9 g' j9 y- P6 Q' W 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。; K# l& ]% }2 ~: n! N! B
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:
" [' {/ u) V: ]- <style>
2 t( p+ B) ]- z - #bn {
' m# s [; R4 P. V& O* K - background-color:#FF0000;
) g4 ?" j6 E4 P' k - width: 100%;; P! D6 K# w0 O8 _& [. e u5 J- A& {( Q
- height:500px;2 i* F- j5 L* r2 |
- overflow: hidden;8 p5 `, G X) }/ Q, z
- }: _, r: M( h: d, C$ k$ U
- #bn .img
c, P% A7 k+ e( o! C# b( T - {
0 {: b- r! |7 J - width:1920px;
2 Q3 @) e0 n3 C, e. }3 p+ z; t - margin:0 calc(50% - 960px);
7 p3 I1 Z* B% Q$ j$ X. K" a" }* F# S - }1 i* ?2 Z4 s( J; ], b9 }6 Z
- </style>! k' v2 T3 q% d
- 4 g( L, m6 q, v' L" J
- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码 ( A! s; c* R" n- @% t3 Q# [
7 \4 |4 u) L+ L+ i |
|