|
|
今天做一个网站的banner轮播,程序里面自带的是自动改变图片的高宽比例达到自适用的目的。 目标想法是控制div宽度100%,图片大小不变,div宽度改变的情况下,图片始终居中显示,然后隐藏掉两边的图片。- M( C7 o: }6 @$ h9 ^' A6 w8 H
4 k& u5 P9 }6 i4 L' x5 g% f
实现原理:
: ~$ X& L5 W4 A/ J* d 固定div的高度为500px,宽度是100%,超出部分隐藏,以达到自适用浏览器宽度的要求。图片控制宽1920px,适用目前大部分电脑屏幕分辨率,然后就是设置margin了,想要他始终居中,就是中心的位置始终不变。在1920px的情况下,图片的中心x轴就是960px。那么在1800px就是900px,相比与标准的1920px宽度,向左移动了60px,只需要margin左边移动-60px即可。# L- [9 S5 E+ i/ R6 q3 l- R
同理在100%的x轴坐标下,margin-left的值就是50%-960px,代码如下:" a5 j. ^5 ~# h+ {1 c8 F: [
- <style>! p2 r4 P; ]! n! a9 Y" F$ `
- #bn {
6 q$ D) [. W1 P4 _: `, E - background-color:#FF0000;
9 [0 P' b, v' I$ ]' \: B! y - width: 100%;
* X3 d% `; y, H# V* n* { - height:500px;" u, s' M0 N. c% V9 e
- overflow: hidden;
" E* H7 T; m2 U4 t: K; X4 r/ a9 N - }9 Y/ O, a: w+ s8 K0 w# U" d: S
- #bn .img! E+ {9 d( f- Q% {
- { C f$ T1 O+ c1 H+ v E0 Q/ C
- width:1920px;
, B# C2 Y9 m) y( B7 ? - margin:0 calc(50% - 960px);
9 {2 L9 I6 y) z0 y* l; _( J - }- z/ {) a: h* r+ Y" ^
- </style>
3 |# ]; r8 r5 c; Z - , s; n, x# ~* y
- <div id="bn"><img src="/image/1.jpg" class="img"/></div>
复制代码 9 p6 p6 c+ U5 \: G
9 V4 A, \/ q/ O2 E& H
|
|