|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。9 t0 v+ s: u/ O
, k* w4 W6 K f( j) Z" q 实现原理:
/ h- Q! ?( H. h7 K% w 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
! \8 r/ ]2 j# M8 X! b 同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:
* _5 U$ T. B% }7 j& V0 E3 W- <style>
9 X W, S. u4 @+ j# d: t; S - #bn {7 [( c! S6 m# T& H2 E
- background-color:#FF0000;4 P! F7 U/ ~6 Y B0 ^; t
- width: 100%;
0 {0 Z5 X" b1 {- A" D - height:500px;$ z4 I, y" K5 Z: _, e' m
- overflow: hidden;
. r, G$ N: W* \( e8 u& v% K5 H; M' O - }; Q1 F% ]7 n* [$ F
- #bn .img$ p# z2 n2 j3 _% ]
- {
, {( T1 |5 x1 [) \; p - width:1920px;
) w- H% V$ k. k$ e; W$ D - margin:0 calc(50% - 960px);- X- _2 f5 `! P" m. E# {) k) e
- }
, _5 d9 J& ^3 ~* C8 @+ c( O, a - </style>6 d' t/ G1 X R
0 U3 ?9 h( U' }! [, W4 O- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码
% {, _1 L8 S5 I1 \. ~! o8 z) v. c7 q
|
|