|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。) g% Y$ Q- L, @. X+ l: l
- F/ `7 E( Q3 a/ S5 i8 _2 z 实现原理:
1 V, ?' u4 G6 C. p9 r/ i 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。
. T4 F3 G8 b$ L# I% h' N+ w 同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:0 e, d6 K' f2 Q: F# K6 m! y( E
- <style>1 f; f/ O9 o4 W5 e* v. Q \. k
- #bn {% z5 E; ?7 |! v$ T! a' V- e3 j* j
- background-color:#FF0000;
5 {, \' ~7 L8 Z# C - width: 100%;
" R+ d3 {2 o2 U. E# G - height:500px;! [- D7 ^ g. j3 V6 w# J6 h
- overflow: hidden;7 X1 N3 o9 Z6 H, T
- }! N9 e1 K2 H3 m7 X1 J, g0 d
- #bn .img9 G! w I$ m8 K
- {
: Q1 ]5 a9 q B; C, S; u" q - width:1920px;! A' h. y/ v6 Z& {2 H9 Q4 @
- margin:0 calc(50% - 960px);
: B" U! l! S0 R( J+ i% ]! H - } s8 N1 R. k, O
- </style>
5 `; {5 b |2 l1 f% @0 ~7 X - : ~/ M$ Y# C& T6 H' K7 a
- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码 7 M+ y( A; V8 B9 a. r1 v
0 l( u3 x- Z! c6 F |
|