|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。
# ^; S$ y! k9 U/ U% @9 v8 v8 `6 O* Z. a: u6 L* w: C, z
实现原理:1 D+ ?' u0 g. O/ R9 S
固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。% y/ H8 g. |/ ] M( L- ?/ M
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:$ [& S' b0 l5 q
- <style>8 w+ y! O. J9 k& O% s3 ]
- #bn {
u( {: Z0 c3 a2 V - background-color:#FF0000;
/ ~2 S0 p; u9 D! K" {# D - width: 100%;3 M7 _! f/ U' T- v. S2 V( T' n
- height:500px;
& `2 e' C5 S( C0 ^2 n+ K( A - overflow: hidden;
1 w: K; Q; A* Y: k% Q; p - }( F& q8 g3 N! ~# I
- #bn .img6 x, t: D* b+ y
- {
* c/ h; y4 c2 m6 [. m - width:1920px; ^" U% y5 n1 t- o! ]0 c& H$ u4 k; i
- margin:0 calc(50% - 960px);
2 N% F- x8 g: H! D! P. o7 M; }% h - }
9 S1 R, J: d' d5 R; s - </style>5 o# p+ e& L4 l" P3 ~/ f$ Z
8 }- X, i2 o' }, i9 @. q- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
% [0 j1 ~, @0 H, O2 I2 x
# x0 `; _/ E. J2 R1 t6 Q |
|