|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。+ I7 _! B9 G0 {2 z, @- w& ]
% S2 q. L* ?! b% n+ D" r. Z3 ` 实现原理:
/ }5 q, \7 L: P 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
# _5 v- |9 I/ d% j: X' t& f+ q 同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:
: l1 y2 h- G: w# u- <style>) {, q; |! [* H5 {" }! c* }$ G
- #bn {
* x/ c8 h% a# L' }+ C( o) u/ x6 s! l - background-color:#FF0000;/ d. d; G0 R4 _6 u, R4 ?/ ^
- width: 100%;- L0 G2 ~- E& @5 `7 c6 L5 i5 m
- height:500px;3 N/ L% g$ \8 K% s: c7 [7 Y$ {- n
- overflow: hidden;1 O P3 C( a+ U* a
- }
) L, }; k H3 c; u$ W! p( S - #bn .img
% a* D5 _$ P2 x - {3 ?; S( s/ G4 o1 g* b- S
- width:1920px;* Q( Q0 ^' N8 c0 M) N8 _& l
- margin:0 calc(50% - 960px);
9 F' x n) _& |$ j+ o" T - }, z; ~' S+ s9 u" ? X7 l+ X0 U
- </style>
/ {) D7 S+ l& Q2 B: K7 M, W+ Y - 8 E2 H- |& t9 t5 B3 c P& b4 u
- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码 8 X# D/ a0 }" M( C
- u: i/ H+ d( E( A0 e, O |
|